Comment 0 for bug 1723732

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

[Impact]

XShmGetImage() crops the image to the absolute region (x,y)-(x+w,y+h). For example, given a window with geometry 640x480+200+300 and a 640x480 image:

  XShmGetImage(display, window, image, 0, 0, AllPlanes);

returns only the upper-left 440x180 of the window image, clearing the rest of the image to empty.

Upstream fix:
https://cgit.freedesktop.org/xorg/xserver/commit/?id=885636b7d42b3c7b151fc386d358184db004ce45

[Test Case]

- Use xwininfo to get xid for CSD window, for example, nautilus

- Use following command to take screenshot:
gst-launch-1.0 ximagesrc xid=0x6600007 num-buffers=1 ! videoconvert ! pngenc ! filesink location=out.png

- out.png should include full window screenshot

- if screenshot looks good without patch, then repeat steps moving window to different place on screen, or try to maximize and/or try with different CSD window.

- actually it is not required to test with CSD windows, bug is reproducible also with SSD windows.

[Regression Potential]

I don't know...

[Other Info]

Upstream bug:
https://bugs.freedesktop.org/show_bug.cgi?id=101730

GNOME Flashback bug:
https://bugzilla.gnome.org/show_bug.cgi?id=788556