gdk: Create surfaces directly, not from the source drawable

The notion of a source drawable does not make a lot of sense for windows
that are not backed by a drawable, such as GdkOffscreenWindow after
converting it to cairo_surface_t.
This commit is contained in:
Benjamin Otte 2010-08-25 23:35:40 +02:00
parent 2bedd205c5
commit 6d27362620

View File

@ -3843,16 +3843,13 @@ gdk_window_ref_cairo_surface (GdkDrawable *drawable)
if (!private->cairo_surface) if (!private->cairo_surface)
{ {
int width, height; int width, height;
GdkDrawable *source;
/* It would be nice if we had some cairo support here so we /* It would be nice if we had some cairo support here so we
could set the clip rect on the cairo surface */ could set the clip rect on the cairo surface */
width = private->abs_x + private->width; width = private->abs_x + private->width;
height = private->abs_y + private->height; height = private->abs_y + private->height;
source = _gdk_drawable_get_source_drawable (drawable); private->cairo_surface = _gdk_drawable_create_cairo_surface (drawable, width, height);
private->cairo_surface = _gdk_drawable_create_cairo_surface (source, width, height);
if (private->cairo_surface) if (private->cairo_surface)
{ {