XShmGetImage() crops returned image

Bug #1723732 reported by Alberts Muktupāvels
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

[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]

The fix only changes the implementation of XShmGetImage function, so the regression potential is limited to that function. Using gst-launch like in test case above or gnome-screenshot in GNOME Flashback session is a good way to test that there are no regressions.

[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

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

Downloaded xorg-server_1.19.5.orig.tar.gz, xorg-server_1.19.5-0ubuntu2.diff.gz and xorg-server_1.19.5-0ubuntu2.dsc files from https://launchpad.net/ubuntu/artful/+queue?queue_state=1&queue_text=.

Then built debs with:
pbuilder-dist artful build xorg-server_1.19.5-0ubuntu2.dsc

Then installed debs and rebooted. Bug is fixed! :)

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xorg-server - 2:1.19.5-0ubuntu2

---------------
xorg-server (2:1.19.5-0ubuntu2) artful; urgency=medium

  * Backport upstream patch to fix cropping in XShmGetImage (LP: #1723732).

 -- Dmitry Shachnev <email address hidden> Sun, 15 Oct 2017 14:59:53 +0300

Changed in xorg-server (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.