summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-08-19 12:36:11 +0200
committerSergey V. Udaltsov <svu@gnome.org>2010-08-21 00:28:19 +0100
commitb6a967d9f1cbe7f58aa9c601cb79db779dc53b8a (patch)
tree371e5d103e5f31d824095981434eced90a8bf301
parentf24c77f38e4f5b9e5bcdf500c011f26b506a32f0 (diff)
downloadlibgnomekbd-b6a967d9f1cbe7f58aa9c601cb79db779dc53b8a.tar.gz
Clear pixmap using Cairo
https://bugzilla.gnome.org/show_bug.cgi?id=627353
-rw-r--r--libgnomekbd/gkbd-keyboard-drawing.c13
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);
}