XShmGetImage() crops returned image

Bug #1723732 reported by Alberts Muktupāvels on 2017-10-15
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)
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

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! :)

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  Edit
Everyone can see this information.

Other bug subscribers