[gimp] app: Make Windows → Recently Closed Docks work again



commit 9bf0d80c9cdaae71c9b385387369039ebc284144
Author: Martin Nordholts <martinn src gnome org>
Date:   Sat Feb 13 18:37:51 2010 +0100

    app: Make Windows â?? Recently Closed Docks work again
    
    Set a dialog factory entry on the session info object in
    global_recent_docks so it can be properly restored.

 app/widgets/gimpdockwindow.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/app/widgets/gimpdockwindow.c b/app/widgets/gimpdockwindow.c
index 813e815..ad3c3d1 100644
--- a/app/widgets/gimpdockwindow.c
+++ b/app/widgets/gimpdockwindow.c
@@ -612,9 +612,11 @@ static gboolean
 gimp_dock_window_delete_event (GtkWidget   *widget,
                                GdkEventAny *event)
 {
-  GimpDockWindow  *dock_window = GIMP_DOCK_WINDOW (widget);
-  GimpDock        *dock        = gimp_dock_window_get_dock (dock_window);
-  GimpSessionInfo *info        = NULL;
+  GimpDockWindow         *dock_window = GIMP_DOCK_WINDOW (widget);
+  GimpDock               *dock        = gimp_dock_window_get_dock (dock_window);
+  GimpSessionInfo        *info        = NULL;
+  const gchar            *entry_name  = NULL;
+  GimpDialogFactoryEntry *entry       = NULL;
 
   /* Don't add docks with just a singe dockable to the list of
    * recently closed dock since those can be brought back through the
@@ -632,6 +634,12 @@ gimp_dock_window_delete_event (GtkWidget   *widget,
   gimp_session_info_get_info (info);
   gimp_session_info_set_widget (info, NULL);
 
+  entry_name = (gimp_dock_window_has_toolbox (dock_window) ?
+                "gimp-toolbox-window" :
+                "gimp-dock-window");
+  entry = gimp_dialog_factory_find_entry (global_dock_factory, entry_name);
+  gimp_session_info_set_factory_entry (info, entry);
+
   gimp_container_add (global_recent_docks, GIMP_OBJECT (info));
   g_object_unref (info);
 



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