diff options
Diffstat (limited to 'gdk/gdkpixmap.c')
-rw-r--r-- | gdk/gdkpixmap.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gdk/gdkpixmap.c b/gdk/gdkpixmap.c index 3d29805770..919a20252f 100644 --- a/gdk/gdkpixmap.c +++ b/gdk/gdkpixmap.c @@ -385,10 +385,14 @@ gdk_pixmap_draw_drawable (GdkDrawable *drawable, { GdkPixmapObject *private = (GdkPixmapObject *)drawable; - _gdk_gc_remove_drawable_clip (gc); - gdk_draw_drawable (private->impl, gc, src, xsrc, ysrc, - xdest, ydest, - width, height); + _gdk_gc_remove_drawable_clip (gc); + /* Call the method directly to avoid getting the composite drawable again */ + GDK_DRAWABLE_GET_CLASS (private->impl)->draw_drawable_with_src (private->impl, gc, + src, + xsrc, ysrc, + xdest, ydest, + width, height, + original_src); } static void |