summaryrefslogtreecommitdiff
path: root/gtk/gtkmenu.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-07-14 21:56:15 +0200
committerBenjamin Otte <otte@redhat.com>2010-07-26 16:42:47 +0200
commit5fd0c28c7815c7a681ca44cf6c4dd9ae143885d3 (patch)
treece413d42b0dbd0fd26d132b981cb361057a40676 /gtk/gtkmenu.c
parent671c506dfc29477e93d37069aeef1087972a29e9 (diff)
downloadgtk+-5fd0c28c7815c7a681ca44cf6c4dd9ae143885d3.tar.gz
menu: replace gdk_draw_drawable() call with Cairo equivalent
Diffstat (limited to 'gtk/gtkmenu.c')
-rw-r--r--gtk/gtkmenu.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index 3534937618..39c83f2e8b 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -1350,16 +1350,11 @@ gtk_menu_tearoff_bg_copy (GtkMenu *menu)
if (menu->torn_off)
{
GdkPixmap *pixmap;
- GdkGC *gc;
- GdkGCValues gc_values;
+ cairo_t *cr;
menu->tearoff_active = FALSE;
menu->saved_scroll_offset = menu->scroll_offset;
- gc_values.subwindow_mode = GDK_INCLUDE_INFERIORS;
- gc = gdk_gc_new_with_values (widget->window,
- &gc_values, GDK_GC_SUBWINDOW);
-
gdk_drawable_get_size (menu->tearoff_window->window, &width, &height);
pixmap = gdk_pixmap_new (menu->tearoff_window->window,
@@ -1367,10 +1362,13 @@ gtk_menu_tearoff_bg_copy (GtkMenu *menu)
height,
-1);
- gdk_draw_drawable (pixmap, gc,
- menu->tearoff_window->window,
- 0, 0, 0, 0, -1, -1);
- g_object_unref (gc);
+ cr = gdk_cairo_create (pixmap);
+ /* Let's hope that function never notices we're not passing it a pixmap */
+ gdk_cairo_set_source_pixmap (cr,
+ menu->tearoff_window->window,
+ 0, 0);
+ cairo_paint (cr);
+ cairo_destroy (cr);
gtk_widget_set_size_request (menu->tearoff_window,
width,