gtk+ r22403 - trunk/modules/other/gail



Author: liyuan
Date: Wed Feb 25 08:41:49 2009
New Revision: 22403
URL: http://svn.gnome.org/viewvc/gtk+?rev=22403&view=rev

Log:
2009-02-25  Li Yuan  <li yuan sun com>

        * gailtreeview.c: (is_cell_showing):
        Bug #571001. Set the cell's showing state based on bin_window
        coordinates.


Modified:
   trunk/modules/other/gail/ChangeLog
   trunk/modules/other/gail/gailtreeview.c

Modified: trunk/modules/other/gail/gailtreeview.c
==============================================================================
--- trunk/modules/other/gail/gailtreeview.c	(original)
+++ trunk/modules/other/gail/gailtreeview.c	Wed Feb 25 08:41:49 2009
@@ -3075,6 +3075,7 @@
 {
   GdkRectangle rect, *visible_rect;
   GdkRectangle rect1, *tree_cell_rect;
+  gint bx, by;
   gboolean is_showing;
  /*
   * A cell is considered "SHOWING" if any part of the cell is in the visible 
@@ -3088,18 +3089,18 @@
   visible_rect = &rect;
   tree_cell_rect = &rect1;
   tree_cell_rect->x = cell_rect->x;
+  tree_cell_rect->y = cell_rect->y;
   tree_cell_rect->width = cell_rect->width;
   tree_cell_rect->height = cell_rect->height;
 
   gtk_tree_view_get_visible_rect (tree_view, visible_rect);
-  gtk_tree_view_convert_widget_to_bin_window_coords (tree_view,
-                                                     cell_rect->x, cell_rect->y,
-                                                     NULL, &(rect1.y));
-
-  if (((tree_cell_rect->x + tree_cell_rect->width) < visible_rect->x) ||
-     ((tree_cell_rect->y + tree_cell_rect->height) < (visible_rect->y)) ||
-     (tree_cell_rect->x > (visible_rect->x + visible_rect->width)) ||
-     (tree_cell_rect->y > (visible_rect->y + visible_rect->height)))
+  gtk_tree_view_convert_tree_to_bin_window_coords (tree_view, visible_rect->x, 
+                                                   visible_rect->y, &bx, &by);
+
+  if (((tree_cell_rect->x + tree_cell_rect->width) < bx) ||
+     ((tree_cell_rect->y + tree_cell_rect->height) < by) ||
+     (tree_cell_rect->x > (bx + visible_rect->width)) ||
+     (tree_cell_rect->y > (by + visible_rect->height)))
     is_showing =  FALSE;
   else
     is_showing = TRUE;



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