summaryrefslogtreecommitdiff
path: root/gdk/gdkpixmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdk/gdkpixmap.c')
-rw-r--r--gdk/gdkpixmap.c12
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