[PATCH v2] Add hybrid full-size/empty-clip mode to SetRootClip

Adam Jackson ajax at redhat.com
Mon Feb 22 18:35:13 UTC 2016


On Fri, 2016-02-12 at 16:36 +0000, Daniel Stone wrote:
> 216bdbc735 removed the SetRootClip call in the XWayland output-hotplug
> handler when running rootless (e.g. as a part of Weston/Mutter), since
> the root window has no storage, so generating exposures will result in
> writes to invalid memory.
> 
> Unfortunately, preventing the segfault also breaks sprite confinement.
> SetRootClip updates winSize and borderSize for the root window, which
> when combined with RRScreenSizeChanged calling ScreenRestructured,
> generates a new sprite-confinment area to update it to the whole screen.
> 
> Removing this call results in the window geometry being reported
> correctly, but winSize/borderSize never changing from their values at
> startup, i.e. out of sync with the root window geometry / screen
> information in the connection info / XRandR.
> 
> This patch introduces a hybrid mode, where we update winSize and
> borderSize for the root window, enabling sprite confinement to work
> correctly, but keep the clip emptied so exposures are never generated.
> 
> Signed-off-by: Daniel Stone <daniels at collabora.com>
> Tested-by: Olivier Fourdan <ofourdan at redhat.com>
> Cc: Adam Jackson <ajax at redhat.com>
> ---

Added a subsystem annotation to the summary line and merged:

remote: I: patch #73579 updated using rev e957a2e5dd288f515f3e93724823542c20333f6a.
remote: I: 1 patch(es) updated to state Accepted.
To ssh://git.freedesktop.org/git/xorg/xserver
   dbe8d03..e957a2e  master -> master

- ajax


More information about the xorg-devel mailing list