Re: GTK+ redraw programs




[ resend to get the headers right. You'd think that _I'd_ know
  that gtk-devel-list was @redhat.com. Sorry about that  ]

Hi guys,

Could you try out the following patch to gtkwidget.c. I have
a hunch that what is happening is that expose events on widgets
that get queued for resize after the initial show are getting
discarded.
                                        Owen

Index: gtkwidget.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkwidget.c,v
retrieving revision 1.147.2.12
diff -u -r1.147.2.12 gtkwidget.c
--- gtkwidget.c	1999/09/03 03:57:14	1.147.2.12
+++ gtkwidget.c	1999/09/06 20:20:14
@@ -2704,7 +2704,6 @@
 
   switch (event->type)
     {
-      GtkWidget *parent;
     case GDK_NOTHING:
       signal_num = -1;
       break;
@@ -2782,14 +2781,8 @@
        * that have a resize pending, because a redraw is already queued for
        * them.
        */
-      parent = widget;
-      while (parent)
-	{
-	  if (GTK_WIDGET_RESIZE_NEEDED (parent))
-	    break;
-	  parent = parent->parent;
-	}
-      if (!event->any.window || parent)
+      if (!event->any.window ||
+	  GTK_WIDGET_RESIZE_NEEDED (gtk_widget_get_toplevel (widget)))
 	{
 	  gtk_widget_unref (widget);
 	  return TRUE;



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