]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktoolitemgroup.c
filechooserbutton: Give proper names to the SELECT_FOLDER tests with cancelled dialog
[~andy/gtk] / gtk / gtktoolitemgroup.c
index 82215716b64bb90ccdcad07df1499fa6fffbd1ea..d6aa8258c6bdcc9371231fb29f75f081dfc744e5 100644 (file)
@@ -229,6 +229,7 @@ gtk_tool_item_group_screen_changed (GtkWidget *widget,
   if (old_settings)
   {
     g_signal_handler_disconnect (old_settings, priv->settings_connection);
+    priv->settings_connection = 0;
     g_object_unref (old_settings);
   }
 
@@ -519,6 +520,14 @@ gtk_tool_item_group_dispose (GObject *object)
       priv->toplevel = NULL;
     }
 
+  if (priv->settings_connection > 0)
+    {
+      g_signal_handler_disconnect (priv->settings, priv->settings_connection);
+      priv->settings_connection = 0;
+    }
+
+  g_clear_object (&priv->settings);
+
   G_OBJECT_CLASS (gtk_tool_item_group_parent_class)->dispose (object);
 }
 
@@ -1232,7 +1241,7 @@ gtk_tool_item_group_realize (GtkWidget *widget)
                            &attributes, attributes_mask);
   gtk_widget_set_window (widget, window);
 
-  gdk_window_set_user_data (window, widget);
+  gtk_widget_register_window (widget, window);
 
   gtk_style_context_set_background (context, window);
 
@@ -1861,7 +1870,7 @@ gtk_tool_item_group_animation_cb (gpointer data)
   gint64 timestamp = gtk_tool_item_group_get_animation_timestamp (group);
   gboolean retval;
 
-  GDK_THREADS_ENTER ();
+  gdk_threads_enter ();
 
   /* Enque this early to reduce number of expose events. */
   gtk_widget_queue_resize_no_redraw (GTK_WIDGET (group));
@@ -1874,7 +1883,7 @@ gtk_tool_item_group_animation_cb (gpointer data)
 
   retval = (priv->animation_timeout != NULL);
 
-  GDK_THREADS_LEAVE ();
+  gdk_threads_leave ();
 
   return retval;
 }