bug in gtklayout?

I belive I have found a bug in GtkLayout:

My situation is that I have a GtkLayout containing some GtkPixmaps.
In gtk_layout_draw there is code like this:

gtk_layout_draw(GtkWidget *widget, GdkRectangle *area)
 if (something which happens for me)
  gdk_window_clear_area(layout->bin_window, area->x, ...y, ...width ... height);

 // and redraw widgets that got overwritten
 loop all widgets{
  if(gtk_widget_intersect(child, area, &intersection_area))
    draw child widget();

However the implementation of gdk_window_clear_area() directly calls
XClearArea(), which uses 'area.height equal zero' as special case for
the entire window's height. This means that the test for intersection
fails, since it just see a height of zero.

A fix might be to check for 'height==0' in the above function and
see to it that gtk_widget_intersect gets the 
"layout window height - y" instead, or something.

/ Ralf

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