GNOME Bugzilla – Bug 691715
'include pointer' broke
Last modified: 2013-02-11 18:54:38 UTC
I get a black recangle behind the pointer with 3.7
It seems to work correctly here with git master of Shell and gnome-screenshot. Make sure you have the latest Clutter as well.
thanks, I'll retry once 3.7.4 hits rawhide.
still broken here, with 3.7.4 versions
hmm, now with gnome-shell 3.7.4.1, I don't seem to get pointers included at all
I looked at this some more - the code to include the cursor image now lives in shell-screenshot.c in the shell. I think it must be getting miscompiled or something. With the shell built by koji, I get a black rectangle; with my jhbuilt shell of the same code it works fine. The offending loop is: for (i = 0; i < cursor_image->height; i++) for (j = 0; j < cursor_image->width; j++) { *(guint32*)(data + i * stride + 4 * j) = cursor_image->pixels[i * cursor_image->width + j]; } which looks a little dangerous since cursor_image->pixels is an array of longs. Maybe having an explicit cast in there would be safer ? Like guint32 argb = (guint32) (cursor_image->pixels[i * cursor_image->width + j]); *(guint32*)(data + i * stride + 4 * j) = argb;
It would be interesting to know why koji vs. jhbuild breaks. Note that this code has been copy/pasted from the recorder code in shell-recorder.c. Does the screen recorder break for you too?
screen recorder works fine
still happening with 3.7.5
(In reply to comment #8) > still happening with 3.7.5 I have just tested on my rawhide VM it seems to work just fine (running on llvmpipe). Does it work for you with LIBGL_ALWAYS_SOFTWARE=1 set?
(In reply to comment #9) > (In reply to comment #8) > > still happening with 3.7.5 > > I have just tested on my rawhide VM it seems to work just fine (running on > llvmpipe). > > Does it work for you with LIBGL_ALWAYS_SOFTWARE=1 set? OK ignore that ... that wasn't rawhide but some mixture of F18 and rawhide. Now on "real rawhide" I can reproduce it.
Created attachment 235620 [details] [review] shell-screenshot: Fix cursor fetching for whole screen 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. ---- I have verifed that this works for koji builds using a scratch build (http://koji.fedoraproject.org/koji/taskinfo?taskID=4946287).
Created attachment 235621 [details] [review] 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. ---- Changed commit message this affects area screenshots as well.
Review of attachment 235621 [details] [review]: Makes sense to me.
Attachment 235621 [details] pushed as cdc4f85 - shell-screenshot: Fix cursor fetching for non single window screenshots