diff options
author | Benjamin Otte <otte@redhat.com> | 2010-08-19 12:36:11 +0200 |
---|---|---|
committer | Sergey V. Udaltsov <svu@gnome.org> | 2010-08-21 00:28:19 +0100 |
commit | b6a967d9f1cbe7f58aa9c601cb79db779dc53b8a (patch) | |
tree | 371e5d103e5f31d824095981434eced90a8bf301 | |
parent | f24c77f38e4f5b9e5bcdf500c011f26b506a32f0 (diff) | |
download | libgnomekbd-b6a967d9f1cbe7f58aa9c601cb79db779dc53b8a.tar.gz |
Clear pixmap using Cairo
https://bugzilla.gnome.org/show_bug.cgi?id=627353
-rw-r--r-- | libgnomekbd/gkbd-keyboard-drawing.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/libgnomekbd/gkbd-keyboard-drawing.c b/libgnomekbd/gkbd-keyboard-drawing.c index 3d2f5fb..188e90e 100644 --- a/libgnomekbd/gkbd-keyboard-drawing.c +++ b/libgnomekbd/gkbd-keyboard-drawing.c @@ -1324,6 +1324,7 @@ static void draw_keyboard (GkbdKeyboardDrawing * drawing) { GtkStateType state = gtk_widget_get_state (GTK_WIDGET (drawing)); + GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (drawing)); GtkAllocation allocation; if (!drawing->xkb) @@ -1335,14 +1336,12 @@ draw_keyboard (GkbdKeyboardDrawing * drawing) gdk_pixmap_new (gtk_widget_get_window (GTK_WIDGET (drawing)), allocation.width, allocation.height, -1); - /* blank background */ - gdk_draw_rectangle (drawing->pixmap, - gtk_widget_get_style (GTK_WIDGET - (drawing))->base_gc - [state], TRUE, 0, 0, allocation.width, - allocation.height); - if (create_cairo (drawing)) { + /* blank background */ + gdk_cairo_set_source_color (drawing->renderContext->cr, + &style->base[state]); + cairo_paint (drawing->renderContext->cr); + draw_keyboard_to_context (drawing->renderContext, drawing); destroy_cairo (drawing); } |