summaryrefslogtreecommitdiff
path: root/gdk/wayland
diff options
context:
space:
mode:
authorRob Bradford <rob@linux.intel.com>2012-04-04 14:05:57 +0100
committerRob Bradford <rob@linux.intel.com>2012-04-16 14:12:51 +0100
commit6977ea0bd1aa91e757a08d2d6a8fcc2adb08588c (patch)
treeaf45e74c9229764c34198686409f32b2882b3e1d /gdk/wayland
parentd9ca1a86363f6f0409460912a810b544c9c00ce1 (diff)
downloadgtk+-6977ea0bd1aa91e757a08d2d6a8fcc2adb08588c.tar.gz
wayland: Move the buffer creation to the cairo surface creation
Diffstat (limited to 'gdk/wayland')
-rw-r--r--gdk/wayland/gdkwindow-wayland.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index c2a4e4c23b..80ed791129 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -351,9 +351,6 @@ gdk_wayland_window_attach_image (GdkWindow *window)
/* Get a Wayland buffer from this new surface */
data = cairo_surface_get_user_data (impl->cairo_surface,
&gdk_wayland_cairo_key);
- if (!data->buffer)
- data->buffer =
- wl_egl_pixmap_create_buffer(data->pixmap);
if (impl->resize_edges & WL_SHELL_SURFACE_RESIZE_LEFT)
dx = server_width - data->width;
@@ -416,6 +413,10 @@ gdk_wayland_create_cairo_surface (GdkDisplayWayland *display,
if (cairo_surface_status (surface) != CAIRO_STATUS_SUCCESS)
fprintf (stderr, "create gl surface failed\n");
+ if (!data->buffer)
+ data->buffer =
+ wl_egl_pixmap_create_buffer(data->pixmap);
+
return surface;
}