]> Pileus Git - ~andy/gtk/commitdiff
Small fixes
authorMatthias Clasen <matthiasc@src.gnome.org>
Thu, 19 Jul 2007 15:06:52 +0000 (15:06 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Thu, 19 Jul 2007 15:06:52 +0000 (15:06 +0000)
svn path=/trunk/; revision=18503

ChangeLog
gtk/gtktreeview.c

index c61fde3122585422fb3e003a940e8945d60eeea5..879ecef39845310fd08c1ee1796b811fc86cf488 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-07-19  Matthias Clasen  <mclasen@redhat.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_set_tooltip_column):
+       Only connect/disconnect signals when necessary, emit
+       change notification.
+
 2007-07-19  Kristian Rietveld  <kris@imendio.com>
 
        * gtk/gtktooltip.c (find_topmost_widget_coords_from_event): handle
index 42fa6f25ce104b5f0c913191bdc2efb767563778..239565a31489e558555ee8e7a4df3cfe2cbfd807 100644 (file)
@@ -15429,21 +15429,28 @@ gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,
 {
   g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
 
+  if (column == tree_view->priv->tooltip_column)
+    return;
+
   if (column == -1)
     {
       g_signal_handlers_disconnect_by_func (tree_view,
-                                           gtk_tree_view_set_tooltip_query_cb,
+                                           gtk_tree_view_set_tooltip_query_cb,
                                            NULL);
       gtk_widget_set_has_tooltip (GTK_WIDGET (tree_view), FALSE);
     }
   else
     {
-      g_signal_connect (tree_view, "query-tooltip",
-                       G_CALLBACK (gtk_tree_view_set_tooltip_query_cb), NULL);
-      gtk_widget_set_has_tooltip (GTK_WIDGET (tree_view), TRUE);
+      if (tree_view->priv->tooltip_column == -1)
+        {
+          g_signal_connect (tree_view, "query-tooltip",
+                           G_CALLBACK (gtk_tree_view_set_tooltip_query_cb), NULL);
+          gtk_widget_set_has_tooltip (GTK_WIDGET (tree_view), TRUE);
+        }
     }
 
   tree_view->priv->tooltip_column = column;
+  g_object_notify (G_OBJECT (tree_view), "tooltip-column");
 }
 
 /**