diff options
Diffstat (limited to 'gtk/gtknotebook.c')
-rw-r--r-- | gtk/gtknotebook.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index ff3b62f6ff..997f9cb2f6 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -958,7 +958,6 @@ gtk_notebook_expose (GtkWidget *widget, GdkEventExpose *event) { GtkNotebook *notebook; - GdkEventExpose child_event; GdkRectangle child_area; g_return_val_if_fail (widget != NULL, FALSE); @@ -978,12 +977,11 @@ gtk_notebook_expose (GtkWidget *widget, gtk_notebook_draw_focus (widget); } - child_event = *event; - if (notebook->cur_page && - GTK_WIDGET_NO_WINDOW (notebook->cur_page->child) && - gtk_widget_intersect (notebook->cur_page->child, &event->area, - &child_event.area)) - gtk_widget_event (notebook->cur_page->child, (GdkEvent*) &child_event); + + if (notebook->cur_page) + gtk_container_propagate_expose (GTK_CONTAINER (notebook), + notebook->cur_page->child, + event); } return FALSE; @@ -2350,12 +2348,14 @@ gtk_notebook_draw_tab (GtkNotebook *notebook, expose_event.window = page->tab_label->window; expose_event.area = child_area; + expose_event.region = gdk_region_rectangle (&child_area); expose_event.send_event = TRUE; expose_event.type = GDK_EXPOSE; expose_event.count = 0; - - gtk_widget_event (page->tab_label, - (GdkEvent*)&expose_event); + + gtk_container_propagate_expose (GTK_CONTAINER (notebook), page->tab_label, &expose_event); + + gdk_region_destroy (expose_event.region); } } } |