]> Pileus Git - ~andy/gtk/commitdiff
Don't do operations on windows if the tree view is not mapped.
authorFederico Mena Quintero <federico@ximian.com>
Mon, 13 Oct 2003 21:52:15 +0000 (21:52 +0000)
committerFederico Mena Quintero <federico@src.gnome.org>
Mon, 13 Oct 2003 21:52:15 +0000 (21:52 +0000)
2003-10-13  Federico Mena Quintero  <federico@ximian.com>

* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
operations on windows if the tree view is not mapped.
(gtk_tree_view_button_press): Compare equal types of pointers, not
GtkWidget* vs. GtkTreeView*.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktreeview.c

index 968952d8ab75098ceb5c0d4f149c57d920167552..97925d39717609b3de69af70068d2b10d05d55b9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2003-10-13  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
+       operations on windows if the tree view is not mapped.
+       (gtk_tree_view_button_press): Compare equal types of pointers, not
+       GtkWidget* vs. GtkTreeView*.
+
 Mon Oct 13 21:01:43 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
index 968952d8ab75098ceb5c0d4f149c57d920167552..97925d39717609b3de69af70068d2b10d05d55b9 100644 (file)
@@ -1,3 +1,10 @@
+2003-10-13  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
+       operations on windows if the tree view is not mapped.
+       (gtk_tree_view_button_press): Compare equal types of pointers, not
+       GtkWidget* vs. GtkTreeView*.
+
 Mon Oct 13 21:01:43 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
index 968952d8ab75098ceb5c0d4f149c57d920167552..97925d39717609b3de69af70068d2b10d05d55b9 100644 (file)
@@ -1,3 +1,10 @@
+2003-10-13  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
+       operations on windows if the tree view is not mapped.
+       (gtk_tree_view_button_press): Compare equal types of pointers, not
+       GtkWidget* vs. GtkTreeView*.
+
 Mon Oct 13 21:01:43 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
index 968952d8ab75098ceb5c0d4f149c57d920167552..97925d39717609b3de69af70068d2b10d05d55b9 100644 (file)
@@ -1,3 +1,10 @@
+2003-10-13  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
+       operations on windows if the tree view is not mapped.
+       (gtk_tree_view_button_press): Compare equal types of pointers, not
+       GtkWidget* vs. GtkTreeView*.
+
 Mon Oct 13 21:01:43 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
index 968952d8ab75098ceb5c0d4f149c57d920167552..97925d39717609b3de69af70068d2b10d05d55b9 100644 (file)
@@ -1,3 +1,10 @@
+2003-10-13  Federico Mena Quintero  <federico@ximian.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
+       operations on windows if the tree view is not mapped.
+       (gtk_tree_view_button_press): Compare equal types of pointers, not
+       GtkWidget* vs. GtkTreeView*.
+
 Mon Oct 13 21:01:43 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
index 4ad8cb72358358ffce8a6cd5daa5f7533c54cf18..9bd611d0c44f14098dbcc919809405978ff779cf 100644 (file)
@@ -2188,7 +2188,7 @@ gtk_tree_view_button_press (GtkWidget      *widget,
       /* Save press to possibly begin a drag
        */
       grab_widget = gtk_grab_get_current ();
-      if ((grab_widget == NULL || grab_widget == tree_view) &&
+      if ((grab_widget == NULL || grab_widget == GTK_WIDGET (tree_view)) &&
           !column_handled_click &&
          tree_view->priv->pressed_button < 0)
         {
@@ -9895,29 +9895,33 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
 
   g_signal_emit (tree_view, tree_view_signals[ROW_COLLAPSED], 0, &iter, path);
 
-  /* now that we've collapsed all rows, we want to try to set the prelight
-   * again. To do this, we fake a motion event and send it to ourselves. */
+  if (GTK_WIDGET_MAPPED (tree_view))
+    {
+      /* now that we've collapsed all rows, we want to try to set the prelight
+       * again. To do this, we fake a motion event and send it to ourselves. */
 
-  display = gdk_drawable_get_display (tree_view->priv->bin_window);
-  child = tree_view->priv->bin_window;
-  parent = gdk_window_get_parent (child);
+      display = gdk_drawable_get_display (tree_view->priv->bin_window);
+      child = tree_view->priv->bin_window;
+      parent = gdk_window_get_parent (child);
 
-  if (gdk_window_get_pointer (parent, &x, &y, NULL) == child)
-    {
-      GdkEventMotion event;
-      gint child_x, child_y;
+      if (gdk_window_get_pointer (parent, &x, &y, NULL) == child)
+       {
+         GdkEventMotion event;
+         gint child_x, child_y;
 
-      gdk_window_get_position (child, &child_x, &child_y);
+         gdk_window_get_position (child, &child_x, &child_y);
 
-      event.window = tree_view->priv->bin_window;
-      event.x = x - child_x;
-      event.y = y - child_y;
+         event.window = tree_view->priv->bin_window;
+         event.x = x - child_x;
+         event.y = y - child_y;
 
-      /* despite the fact this isn't a real event, I'm almost positive it will
-       * never trigger a drag event.  maybe_drag is the only function that uses
-       * more than just event.x and event.y. */
-      gtk_tree_view_motion_bin_window (GTK_WIDGET (tree_view), &event);
+         /* despite the fact this isn't a real event, I'm almost positive it will
+          * never trigger a drag event.  maybe_drag is the only function that uses
+          * more than just event.x and event.y. */
+         gtk_tree_view_motion_bin_window (GTK_WIDGET (tree_view), &event);
+       }
     }
+
   return TRUE;
 }