gimp r25144 - in trunk: . app/gui



Author: martinn
Date: Thu Mar 20 20:05:45 2008
New Revision: 25144
URL: http://svn.gnome.org/viewvc/gimp?rev=25144&view=rev

Log:
2008-03-20  Martin Nordholts  <martinn svn gnome org>

	* app/gui/gui-vtable.c
	(gui_display_create): Make the logic clearer.
	(gui_get_empty_display): New helper function.


Modified:
   trunk/ChangeLog
   trunk/app/gui/gui-vtable.c

Modified: trunk/app/gui/gui-vtable.c
==============================================================================
--- trunk/app/gui/gui-vtable.c	(original)
+++ trunk/app/gui/gui-vtable.c	Thu Mar 20 20:05:45 2008
@@ -97,6 +97,7 @@
 static void           gui_displays_reconnect   (Gimp                *gimp,
                                                 GimpImage           *old_image,
                                                 GimpImage           *new_image);
+static gboolean       gui_get_empty_display    (Gimp                *gimp);
 static GimpProgress * gui_new_progress         (Gimp                *gimp,
                                                 GimpObject          *display);
 static void           gui_free_progress        (Gimp                *gimp,
@@ -285,28 +286,11 @@
   GimpContext *context = gimp_get_user_context (gimp);
   GimpDisplay *display = NULL;
 
-  if (gimp_container_num_children (gimp->displays) == 1)
+  if (gui_get_empty_display (gimp) != NULL)
     {
-      display = (GimpDisplay *)
-        gimp_container_get_child_by_index (gimp->displays, 0);
-
-      if (display->image)
-        display = NULL;
-    }
+      display = gui_get_empty_display (gimp);
 
-  if (display)
-    {
       gimp_display_fill (display, image, unit, scale);
-
-      if (gimp_context_get_display (context) == display)
-        {
-          gimp_context_set_image (context, image);
-          gimp_context_display_changed (context);
-        }
-      else
-        {
-          gimp_context_set_display (context, display);
-        }
     }
   else
     {
@@ -317,10 +301,10 @@
       display = gimp_display_new (gimp, image, unit, scale,
                                   global_menu_factory,
                                   image_managers->data);
-
-      gimp_context_set_display (context, display);
    }
 
+  gimp_context_set_display (context, display);
+
   gimp_ui_manager_update (GIMP_DISPLAY_SHELL (display->shell)->menubar_manager,
                           display);
 
@@ -341,6 +325,25 @@
   gimp_displays_reconnect (gimp, old_image, new_image);
 }
 
+static gboolean
+gui_get_empty_display (Gimp *gimp)
+{
+  GimpDisplay *display = NULL;
+
+  if (gimp_container_num_children (gimp->displays) == 1)
+    {
+      display = (GimpDisplay *) gimp_container_get_child_by_index (gimp->displays, 0);
+
+      if (display->image != NULL)
+        {
+          /* The display was not empty */
+          display = NULL;
+        }
+    }
+
+  return display;
+}
+
 static GimpProgress *
 gui_new_progress (Gimp       *gimp,
                   GimpObject *display)



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