xserver-multidpi/hw/xfree86/common
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
..
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
compiler.h xfree86: Use same inb/outb asm code for i386 amd64 and ia64 2015-10-26 11:24:22 -04:00
dgaproc.h dga: Hide a bunch of implementation details 2015-07-08 16:40:58 -04:00
extramodes Remove some default modes that really shouldn't be in the default set. 2008-06-24 10:40:36 -04:00
fourcc.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
Makefile.am vidmode: Hide implementation details 2015-07-08 16:40:58 -04:00
modeline2c.awk Remove some OS/2 leftovers. 2009-04-06 10:58:47 -04:00
vesamodes Fix standard VESA modes. 2006-11-03 14:06:32 -08:00
vidmodeproc.h vidmode: Hide implementation details 2015-07-08 16:40:58 -04:00
xaarop.h xfree86: Drop some dead XAA decls from SDK headers 2012-07-25 14:03:31 -07:00
xf86.h xfree86: Hide some pre-randr mode validation details 2015-07-08 16:40:57 -04:00
xf86AutoConfig.c Replace 'sun' with '__sun' 2015-11-30 11:51:22 -05:00
xf86Build.h.in Print the build time as well as the date if we can. 2007-06-04 02:03:44 -04:00
xf86Bus.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86Bus.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86cmap.c Replace 'sun' with '__sun' 2015-11-30 11:51:22 -05:00
xf86cmap.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86Config.c xfree86: Build parser for DRI config file subsection unconditionally 2016-01-28 09:01:08 -05:00
xf86Config.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86Configure.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86Cursor.c xfree86: Remove unused HardEdges 2014-07-29 09:53:19 -04:00
xf86DGA.c dga: Hide a bunch of implementation details 2015-07-08 16:40:58 -04:00
xf86DPMS.c xfree86: don't force the screensaver off on DPMS unblank, merely suggest it 2014-07-14 08:39:50 +10:00
xf86Events.c Revert "hw/xfree86: Use NotifyFd for device and other input fd wakeups" 2015-12-02 10:42:36 -05:00
xf86Extensions.c miinitext: introduce LoadExtensionList() to replace over LoadExtension() 2014-03-25 16:00:17 -07:00
xf86Extensions.h xf86: Re-export extension disable flags 2012-07-16 18:24:49 -07:00
xf86fbBus.c xfree86: use udev to provide device enumeration for kms devices (v10) 2012-07-06 10:20:19 +01:00
xf86fbman.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86fbman.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86Globals.c Replace 'sun' with '__sun' 2015-11-30 11:51:22 -05:00
xf86Helper.c dix: Add hybrid full-size/empty-clip mode to SetRootClip 2016-02-22 13:26:31 -05:00
xf86Init.c xfree86: Remove some can't-happen printf from xf86CreateRootWindow 2014-10-08 10:10:39 +02:00
xf86InPriv.h xfree86/common: Warning fixes. Mostly const string handling. 2014-01-12 10:14:48 -08:00
xf86Mode.c xfree86: Hide some pre-randr mode validation details 2015-07-08 16:40:57 -04:00
xf86Module.h xf86: Bump ABI version to 21 2015-12-01 13:15:03 -05:00
xf86noBus.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86Opt.h xfree86/common: Warning fixes. Mostly const string handling. 2014-01-12 10:14:48 -08:00
xf86Option.c xfree86/common: Warning fixes. Mostly const string handling. 2014-01-12 10:14:48 -08:00
xf86Optionstr.h hw/xfree86: Lots of constant string support 2014-01-12 10:14:48 -08:00
xf86pciBus.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86pciBus.h xfree86: Make driver matching consistent 2014-07-07 16:11:00 -07:00
xf86PciInfo.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86platformBus.c xf86: don't add gpus from udev if autoAddGPU is set 2015-10-21 15:13:41 -04:00
xf86platformBus.h xfree86: Fallback to first platform device as primary 2014-08-21 20:03:48 -05:00
xf86PM.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86Priv.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86Privstr.h Replace 'sun' with '__sun' 2015-11-30 11:51:22 -05:00
xf86RandR.c xfree86: Remove pointless xf86RandRCreateScreenResources 2014-07-29 09:53:01 -04:00
xf86sbusBus.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86sbusBus.h Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86str.h xf86Crtc: right-of placement by default. 2015-04-27 13:40:40 +10:00
xf86VGAarbiter.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
xf86VGAarbiter.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xf86VGAarbiterPriv.h hw/xfree86: Fix VGA arbiter screen proc wrapping 2014-07-17 11:17:22 -07:00
xf86VidMode.c vidmode: Hide implementation details 2015-07-08 16:40:58 -04:00
xf86vmode.c vidmode: Drop the unused event code 2015-10-30 10:07:53 -04:00
xf86Xinput.c xfree86: move check for driver->PreInit up 2015-12-21 07:15:30 +10:00
xf86Xinput.h Drop valuator mask argument from GetKeyboardEvents 2015-03-13 12:31:21 +10:00
xf86xv.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86xv.h xfree86: Remove xv clip notify driver hook 2014-09-26 15:27:18 -04:00
xf86xvmc.c Convert hw/xfree86 to new *allocarray functions 2015-04-21 16:58:08 -07:00
xf86xvmc.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
xf86xvpriv.h xfree86: Remove xv clip notify driver hook 2014-09-26 15:27:18 -04:00
xisb.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xisb.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xorgHelper.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xorgVersion.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00