diff options
author | Rob Bradford <rob@linux.intel.com> | 2012-04-04 14:05:57 +0100 |
---|---|---|
committer | Rob Bradford <rob@linux.intel.com> | 2012-04-16 14:12:51 +0100 |
commit | 6977ea0bd1aa91e757a08d2d6a8fcc2adb08588c (patch) | |
tree | af45e74c9229764c34198686409f32b2882b3e1d | |
parent | d9ca1a86363f6f0409460912a810b544c9c00ce1 (diff) | |
download | gtk+-6977ea0bd1aa91e757a08d2d6a8fcc2adb08588c.tar.gz |
wayland: Move the buffer creation to the cairo surface creation
-rw-r--r-- | gdk/wayland/gdkwindow-wayland.c | 7 |
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; } |