[gnome-builder] workbench: don't adjust focus if we are disposing



commit 7f1a357530eaeab29edc49d3d651481a01ec0ad4
Author: Christian Hergert <christian hergert me>
Date:   Mon Dec 15 17:33:11 2014 -0800

    workbench: don't adjust focus if we are disposing

 src/workbench/gb-workbench.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/src/workbench/gb-workbench.c b/src/workbench/gb-workbench.c
index 2e51cd9..2d55cd6 100644
--- a/src/workbench/gb-workbench.c
+++ b/src/workbench/gb-workbench.c
@@ -46,6 +46,7 @@ struct _GbWorkbenchPrivate
   GbSearchManager        *search_manager;
 
   guint                   search_timeout;
+  guint                   disposing;
 
   GbWorkspace            *active_workspace;
   GbCommandBar           *command_bar;
@@ -614,7 +615,7 @@ gb_workbench_set_focus (GtkWindow *window,
 
   GTK_WINDOW_CLASS (gb_workbench_parent_class)->set_focus (window, widget);
 
-  if (!widget && !gtk_widget_in_destruction (GTK_WIDGET (window)))
+  if (!widget && !workbench->priv->disposing)
     {
       GbWorkspace *workspace;
 
@@ -706,6 +707,8 @@ gb_workbench_dispose (GObject *object)
 
   ENTRY;
 
+  priv->disposing++;
+
   if (priv->search_timeout)
     {
       g_source_remove (priv->search_timeout);
@@ -719,6 +722,8 @@ gb_workbench_dispose (GObject *object)
 
   G_OBJECT_CLASS (gb_workbench_parent_class)->dispose (object);
 
+  priv->disposing--;
+
   EXIT;
 }
 


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