xserver-multidpi/hw/xwin
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
..
glx hw/xwin: printf format fixes for DWORD type 2015-07-07 16:52:44 +01:00
man hw/xwin: Remove Shadow DirectDraw engine 2015-03-23 16:01:55 +00:00
winclipboard hw/xwin: printf format fixes for WPARAM and LPARAM types 2015-07-07 16:52:50 +01:00
.gitignore XWin: build XWin man pages using XORG_MANPAGE_SECTIONS 2011-01-18 15:10:21 -08:00
ddraw.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
InitInput.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
InitOutput.c hw/xwin: Remove Shadow DirectDraw engine 2015-03-23 16:01:55 +00:00
Makefile.am hw/xwin: Report OS version in log 2015-03-23 16:01:58 +00:00
propertystore.h hw/xwin: Add correct taskbar grouping of X windows on Windows 7 2012-11-27 16:08:22 +00:00
system.XWinrc Cygwin/X: Tidy up system.Xwinrc 2010-02-05 19:15:04 +00:00
win.h hw/xwin: Report OS version in log 2015-03-23 16:01:58 +00:00
winallpriv.c hw/xwin: printf format fixes in winAllocatePrivates() 2015-07-07 16:52:32 +01:00
winauth.c hw/xwin: Fix const discarded warning in winGenerateAuthorization() 2014-03-22 17:16:38 +00:00
winblock.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
winclipboardinit.c hw/xwin: Add fUseUnicode as parameter to winClipboardProc() 2014-09-13 14:18:30 +01:00
winclipboardwrappers.c hw/xwin: Remove some redundant clipboard externs, now defined in winglobals.h 2014-11-06 12:07:34 +00:00
wincmap.c hw/xwin: printf format fixes for Pixel type 2015-07-07 16:52:53 +01:00
winconfig.c hw/xwin: printf format fixes in winConfigKeyboard() 2015-07-07 16:52:29 +01:00
winconfig.h xfree86: Remove Option "TextClockFreq" 2014-09-26 15:27:18 -04:00
wincreatewnd.c hw/xwin: printf format fixes for LONG type 2015-07-07 16:52:47 +01:00
wincursor.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
windialogs.c hw/xwin: printf format fixes for DWORD type 2015-07-07 16:52:44 +01:00
windisplay.c hw/xwin: Improve choice of display name used by internal clients 2014-08-29 13:28:00 +01:00
windisplay.h hw/xwin: Improve choice of display name used by internal clients 2014-08-29 13:28:00 +01:00
winengine.c hw/xwin: Remove Shadow DirectDraw engine 2015-03-23 16:01:55 +00:00
winerror.c hw/xwin: Show any fatal error message 2012-11-27 13:48:44 +00:00
winglobals.c hw/xwin: Turn on -hostintitle by default 2015-03-16 16:54:05 +00:00
winglobals.h hw/xwin: Add remaining clipboard globals to winglobals.h 2014-09-13 14:06:23 +01:00
winkeybd.c hw/xwin: printf format fixes for WPARAM and LPARAM types 2015-07-07 16:52:50 +01:00
winkeybd.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
winkeyhook.c hw/xwin: printf format fixes for DWORD type 2015-07-07 16:52:44 +01:00
winkeynames.h Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
winlayouts.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
winmessages.h hw/xwin: Handle WM_MOUSEHWHEEL 2013-07-23 23:59:27 +01:00
winmisc.c xwin: Remove native GDI engine (v2) 2014-10-09 09:27:21 +02:00
winmonitors.c hw/xwin: Fix using index as a formal parameter in winmonitors.c shadows index() 2012-10-16 21:22:40 +01:00
winmonitors.h hw/xwin: Align parameter names in prototypes with definition 2014-03-03 14:31:17 +00:00
winmouse.c hw/xwin: Handle WM_MOUSEHWHEEL 2013-07-23 23:59:27 +01:00
winms.h hw/xwin: Fix for MinGW-w64 DirectDraw headers 2012-11-28 14:44:14 +00:00
winmsg.c hw/xwin: printf format fixes for WPARAM and LPARAM types 2015-07-07 16:52:50 +01:00
winmsg.h hw/xwin: Improve choice of display name used by internal clients 2014-08-29 13:28:00 +01:00
winmsgwindow.c hw/xwin: Fix unused variable warning in winCreateMsgWindow() 2014-10-09 16:35:54 +01:00
winmultiwindowclass.c hw/xwin: Fix possible crash in winMultiWindowGetClassHint 2013-07-23 23:59:41 +01:00
winmultiwindowclass.h hw/xwin: winMultiWindowGetTransientFor() returns an XID not a WindowPtr 2013-06-10 15:48:08 +01:00
winmultiwindowicons.c hw/xwin: printf format fixes for XID type 2015-07-07 16:52:26 +01:00
winmultiwindowicons.h hw/xwin: Make winOverrideIcon() thread-safe for icon data access 2012-08-03 22:47:42 +01:00
winmultiwindowshape.c hw/xwin: Fix format warnings with debug printing of pointers on 64-bit 2014-10-09 16:31:58 +01:00
winmultiwindowwindow.c hw/xwin: printf format fixes for LONG type 2015-07-07 16:52:47 +01:00
winmultiwindowwm.c hw/xwin: Remove GetTickCount() from various pieces of debugging output 2015-07-07 16:52:18 +01:00
winmultiwindowwndproc.c hw/xwin: printf format fixes for LONG type 2015-07-07 16:52:47 +01:00
winos.c hw/xwin: Report OS version in log 2015-03-23 16:01:58 +00:00
winprefs.c hw/xwin: Fix const warning in winPrefsLoadPreferences() 2014-10-09 16:34:12 +01:00
winprefs.h hw/xwin: Correct winprefs.c function signatures for x64. 2013-08-30 12:56:35 +01:00
winprefslex.l hw/xwin: Fix redundant declaration warning in winprefslex.l 2014-10-09 16:35:20 +01:00
winprefsyacc.y hw/xwin: Fix warning in yyerror() 2014-10-09 16:34:48 +01:00
winprocarg.c hw/xwin: Report OS version in log 2015-03-23 16:01:58 +00:00
winrandr.c dix: Add hybrid full-size/empty-clip mode to SetRootClip 2016-02-22 13:26:31 -05:00
winresource.h hw/xwin: Add controls for enabling/disabling monitoring of PRIMARY selection 2014-11-09 14:22:35 +00:00
winscrinit.c hw/xwin: printf format fixes for DWORD type 2015-07-07 16:52:44 +01:00
winSetAppUserModelID.c hw/xwin: Fix format warnings with debug printing of pointers on 64-bit 2014-10-09 16:31:58 +01:00
winshadddnl.c hw/xwin: printf format fixes for DWORD type 2015-07-07 16:52:44 +01:00
winshadgdi.c hw/xwin: printf format fixes for LONG type 2015-07-07 16:52:47 +01:00
wintaskbar.c hw/xwin: Add a simple interface to the ITaskbarList COM interface 2012-11-27 16:09:12 +00:00
wintrayicon.c hw/xwin: Add controls for enabling/disabling monitoring of PRIMARY selection 2014-11-09 14:22:35 +00:00
winvalargs.c hw/xwin: Remove unused variables in winvalargs.c 2012-10-17 13:18:17 +01:00
winvideo.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
winwakeup.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
winwin32rootless.c hw/xwin: Remove an unneeded include 2014-03-22 17:16:48 +00:00
winwin32rootlesswindow.c hw/xwin: Fix numerous 64-bit format/type cast issues with debug printing of pointers 2013-07-23 23:59:44 +01:00
winwin32rootlesswndproc.c hw/xwin: Remove GetTickCount() from various pieces of debugging output 2015-07-07 16:52:18 +01:00
winwindow.c xwin: Remove native GDI engine (v2) 2014-10-09 09:27:21 +02:00
winwindow.h hw/xwin: Improve WM_ENDSESSION handling using separate messaging window thread 2013-07-23 23:58:50 +01:00
winwindowswm.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
winwndproc.c hw/xwin: printf format fixes for WPARAM and LPARAM types 2015-07-07 16:52:50 +01:00
X.ico Cygwin/X: Update the native icon to one based on the X.Org logo 2008-12-15 12:42:10 +00:00
XWin.exe.manifest hw/xwin: Report OS version in log 2015-03-23 16:01:58 +00:00
XWin.rc hw/xwin: Add controls for enabling/disabling monitoring of PRIMARY selection 2014-11-09 14:22:35 +00:00