diff --git a/src/cairo-gl-surface.c b/src/cairo-gl-surface.c index 57ee84fdf..9dd55ae67 100644 --- a/src/cairo-gl-surface.c +++ b/src/cairo-gl-surface.c @@ -777,7 +777,9 @@ _cairo_gl_surface_clone_similar (void *abstract_surface, { cairo_gl_surface_t *surface = abstract_surface; - if (src->device == surface->base.device) { + /* XXX: Use GLCopyTexImage2D to clone non-texture-surfaces */ + if (src->device == surface->base.device && + _cairo_gl_surface_is_texture ((cairo_gl_surface_t *) src)) { *clone_offset_x = 0; *clone_offset_y = 0; *clone_out = cairo_surface_reference (src);