xserver-multidpi/hw/xquartz
Daniel Stone e957a2e5dd dix: Add hybrid full-size/empty-clip mode to SetRootClip
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@collabora.com>
Tested-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2016-02-22 13:26:31 -05:00
..
bundle XQuartz: Remove InfoPlist.strings 2015-10-13 14:19:05 -07:00
GL XQuartz: GLX: Use __glXEnableExtension to build extensions list 2015-06-09 23:05:22 -07:00
mach-startup XQuartz: Silence a clang static analysis warning about a possible memory leak on exit 2014-01-12 23:12:48 -08:00
man XQuartz: Add a scroll_in_device_direction preference 2011-07-19 20:00:27 -07:00
pbproxy XQuartz: pbproxy: Fix build with -DDEBUG 2013-09-16 07:06:57 -07:00
xpr cursor: drop ARGB_CURSOR 2015-06-30 12:17:51 +10:00
applewm.c XQuartz: Avoid passing uninitialized pointers to X11ApplicationSetWindowMenu in AppleWMSetWindowMenu 2014-01-12 23:12:49 -08:00
applewmExt.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
console_redirect.c XQuartz: console_redirect: Properly zero-out the tail of the array on realloc() 2012-08-16 19:44:00 -07:00
console_redirect.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
darwin.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
darwin.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
darwinEvents.c dix: Add hybrid full-size/empty-clip mode to SetRootClip 2016-02-22 13:26:31 -05:00
darwinEvents.h XQuartz: darwinPointer now sends both absolute and relative motion 2012-04-23 20:20:42 -07:00
darwinfb.h XQuartz: Fix darwinfb.h header guard 2014-01-12 23:12:48 -08:00
darwinXinput.c XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
keysym2ucs.c XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
keysym2ucs.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
Makefile.am Build fbcmap_mi.c once, rather than once for each DDX 2014-03-27 14:34:06 +00:00
quartz.c dix: Add hybrid full-size/empty-clip mode to SetRootClip 2016-02-22 13:26:31 -05:00
quartz.h dix: Add hybrid full-size/empty-clip mode to SetRootClip 2016-02-22 13:26:31 -05:00
quartzCocoa.m XQuartz: pointer -> void * 2014-02-14 00:33:38 -08:00
quartzCommon.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
quartzKeyboard.c XQuartz: Silence -Wunused-function 2015-06-09 23:42:03 -07:00
quartzKeyboard.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
quartzRandR.c XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
quartzRandR.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
quartzStartup.c XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
sanitizedCarbon.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
sanitizedCocoa.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
X11Application.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
X11Application.m XQuartz: Fix how we calculate the height of the OSX menu bar 2015-10-13 14:19:05 -07:00
X11Controller.h XQuartz: Source formatting cleanup 2012-03-24 01:07:06 -07:00
X11Controller.m XQuartz: Silence -Wformat-security for NSRunAlertPanel 2015-06-09 23:42:03 -07:00