mir: don't ensure_surface if window not visible
authorWilliam Hua <william.hua@canonical.com>
Mon, 13 Jul 2015 12:55:43 +0000 (08:55 -0400)
committerWilliam Hua <william.hua@canonical.com>
Wed, 15 Jul 2015 11:43:55 +0000 (07:43 -0400)
gdk/mir/gdkmirwindowimpl.c

index 25e57c6a1eca30e6dd6eb997f3fbef97fd230903..9b3a249e54724145fb94b8b1c623a71d0b894eb3 100644 (file)
@@ -418,7 +418,7 @@ gdk_mir_window_impl_ref_cairo_surface (GdkWindow *window)
     {
       cairo_surface = cairo_image_surface_create (pixel_format, window->width, window->height);
     }
-  else
+  else if (impl->visible)
     {
       ensure_surface (window);
 
@@ -431,6 +431,8 @@ gdk_mir_window_impl_ref_cairo_surface (GdkWindow *window)
                                                            region.height,
                                                            region.stride);
     }
+  else
+    cairo_surface = cairo_image_surface_create (pixel_format, 0, 0);
 
   impl->cairo_surface = cairo_surface_reference (cairo_surface);