diff options
author | Benjamin Otte <otte@redhat.com> | 2010-09-04 19:09:13 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2010-09-26 15:11:35 +0200 |
commit | 725749cd1425e7d93c03b2754b9e6951934bdd3e (patch) | |
tree | 8bad663ac790330595d3e0b5b2f48ce16398bea5 /gtk/gtkcalendar.c | |
parent | 02572cdf7ef27ec514f605c7518ea3187ca6d658 (diff) | |
download | gtk+-725749cd1425e7d93c03b2754b9e6951934bdd3e.tar.gz |
calendar: Fix drawing order for windows
Diffstat (limited to 'gtk/gtkcalendar.c')
-rw-r--r-- | gtk/gtkcalendar.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index 7f214e12b4..8336880d9b 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -2880,12 +2880,20 @@ gtk_calendar_expose (GtkWidget *widget, if (gtk_widget_is_drawable (widget)) { - GdkWindow *window; - cr = gdk_cairo_create (event->window); gdk_cairo_region (cr, event->region); cairo_clip (cr); + if (event->window == gtk_widget_get_window (widget)) + { + gtk_cairo_paint_shadow (gtk_widget_get_style (widget), cr, + gtk_widget_get_state (widget), GTK_SHADOW_IN, + widget, "calendar", + 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + } + if (event->window == priv->main_win) calendar_paint_main (calendar, cr); @@ -2902,17 +2910,6 @@ gtk_calendar_expose (GtkWidget *widget, if (event->window == priv->week_win) calendar_paint_week_numbers (calendar, cr); - window = gtk_widget_get_window (widget); - if (event->window == window) - { - gtk_cairo_paint_shadow (gtk_widget_get_style (widget), cr, - gtk_widget_get_state (widget), GTK_SHADOW_IN, - widget, "calendar", - 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); - } - cairo_destroy (cr); } |