shell-screenshot: Fix cursor fetching for non single window screenshots

We have to mark the cairo_surface dirty after modifying the data behind
cairo's back.

Also use CAIRO_FORMAT_ARGB32 rather then CAIRO_FORMAT_RGB24 for the
surface to be consistent with the rest of the code.

https://bugzilla.gnome.org/show_bug.cgi?id=691715
This commit is contained in:
Adel Gadllah 2013-02-10 14:18:54 +01:00
parent b2fb84e361
commit cdc4f85e47

View File

@ -217,7 +217,7 @@ do_grab_screenshot (_screenshot_data *screenshot_data,
backend = clutter_get_default_backend (); backend = clutter_get_default_backend ();
context = clutter_backend_get_cogl_context (backend); context = clutter_backend_get_cogl_context (backend);
screenshot_data->image = cairo_image_surface_create (CAIRO_FORMAT_RGB24, screenshot_data->image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
width, height); width, height);
@ -234,6 +234,8 @@ do_grab_screenshot (_screenshot_data *screenshot_data,
x, y, x, y,
COGL_READ_PIXELS_COLOR_BUFFER, COGL_READ_PIXELS_COLOR_BUFFER,
bitmap); bitmap);
cairo_surface_mark_dirty (screenshot_data->image);
cogl_object_unref (bitmap); cogl_object_unref (bitmap);
} }