gimp r24604 - in branches/weskaggs: . app/display



Author: weskaggs
Date: Fri Jan 11 17:15:49 2008
New Revision: 24604
URL: http://svn.gnome.org/viewvc/gimp?rev=24604&view=rev

Log:
Bill Skaggs  <weskaggs primate ucdavis edu>

	* app/display/gimpdisplay-foreach.c: fix problems quitting
	or closing all images when there is a scratch image.


Modified:
   branches/weskaggs/ChangeLog
   branches/weskaggs/app/display/gimpdisplay-foreach.c

Modified: branches/weskaggs/app/display/gimpdisplay-foreach.c
==============================================================================
--- branches/weskaggs/app/display/gimpdisplay-foreach.c	(original)
+++ branches/weskaggs/app/display/gimpdisplay-foreach.c	Fri Jan 11 17:15:49 2008
@@ -45,8 +45,9 @@
        list = g_list_next (list))
     {
       GimpDisplay *display = list->data;
+      GimpImage   *image   = display->image;
 
-      if (display->image->dirty)
+      if (image->dirty && ! gimp_image_is_scratch (image))
         return TRUE;
     }
 
@@ -59,6 +60,7 @@
                                     GimpContainer *container)
 {
   if (image->dirty && image->disp_count > 0 &&
+      ! gimp_image_is_scratch (image)       &&
       ! gimp_container_have (container, GIMP_OBJECT (image)))
     gimp_container_add (container, GIMP_OBJECT (image));
 }
@@ -129,7 +131,7 @@
         {
           GimpImage *image = list->data;
 
-          if (image->dirty && image->disp_count > 0)
+          if (image->dirty && image->disp_count > 0 && ! gimp_image_is_scratch (image))
             gimp_container_add (container, GIMP_OBJECT (image));
         }
 
@@ -151,7 +153,10 @@
     {
       GimpDisplay *display = GIMP_LIST (gimp->displays)->list->data;
 
-      gimp_display_delete (display);
+      if (gimp->exiting || ! gimp_image_is_scratch (display->image))
+        gimp_display_delete (display);
+      else
+        break;
     }
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]