diff options
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r-- | gtk/gtkwidget.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 90e97a22a..428a63c04 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -1578,8 +1578,13 @@ gtk_widget_draw (GtkWidget *widget, g_return_if_fail (widget != NULL); - if (GTK_WIDGET_DRAWABLE (widget) && - !GTK_WIDGET_REDRAW_PENDING (widget)) + if (GTK_WIDGET_REDRAW_PENDING (widget)) + { + gtk_widget_redraw_queue = g_slist_remove (gtk_widget_redraw_queue, widget); + GTK_PRIVATE_UNSET_FLAG (widget, GTK_REDRAW_PENDING); + } + + if (GTK_WIDGET_DRAWABLE (widget)) { if (!area) { |