From: Udi F. <udi...@us...> - 2007-08-16 20:29:35
|
Update of /cvsroot/ufraw/ufraw In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv7208 Modified Files: ufraw_preview.c Log Message: Revert last change. There was simply a missing call to preview_notify_dirty(). Index: ufraw_preview.c =================================================================== RCS file: /cvsroot/ufraw/ufraw/ufraw_preview.c,v retrieving revision 1.133 retrieving revision 1.134 diff -u -d -r1.133 -r1.134 --- ufraw_preview.c 16 Aug 2007 16:42:55 -0000 1.133 +++ ufraw_preview.c 16 Aug 2007 20:29:32 -0000 1.134 @@ -769,6 +769,7 @@ void preview_notify_dirty(preview_data *data) { #ifdef HAVE_GTKIMAGEVIEW +#if 0 /* This is the only True Way {tm} to signal GtkImageView that we * have changed the pixmap. If we don't signal about the changes, * GtkImageView can reuse parts of the old cached pixmap which will @@ -778,6 +779,17 @@ /* Signal GtkImageView that the pixbuf has changed */ gtk_image_view_set_pixbuf(GTK_IMAGE_VIEW(data->PreviewWidget), data->PreviewPixbuf, FALSE); +#else + /* As a workaround we use the esoteric knowledge of GtkImageView's + * internal logic. It will reuse pieces of the cached old pixmap + * only if nothing changes in the view, otherwise it will discard + * the cache. So we will change the transparency background for our + * GtkImageView since anyway it is not seen through. + */ + GTK_IMAGE_VIEW(data->PreviewWidget)->check_color1++; +#endif +#else + (void)data; #endif } @@ -987,6 +999,7 @@ ufraw_convert_image_area(data->UF, 0, data->RenderLine, width, tileHeight, data->fromPhase); preview_draw_area(data, 0, data->RenderLine, width, tileHeight); + preview_notify_dirty(data); data->RenderLine += tileHeight; if ( data->RenderLine<height ) return TRUE; |