summaryrefslogtreecommitdiff
path: root/gtk/gtkcalendar.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-09-04 19:09:13 +0200
committerBenjamin Otte <otte@redhat.com>2010-09-26 15:11:35 +0200
commit725749cd1425e7d93c03b2754b9e6951934bdd3e (patch)
tree8bad663ac790330595d3e0b5b2f48ce16398bea5 /gtk/gtkcalendar.c
parent02572cdf7ef27ec514f605c7518ea3187ca6d658 (diff)
downloadgtk+-725749cd1425e7d93c03b2754b9e6951934bdd3e.tar.gz
calendar: Fix drawing order for windows
Diffstat (limited to 'gtk/gtkcalendar.c')
-rw-r--r--gtk/gtkcalendar.c23
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);
}