1
0
xorg-x11-server/U_dix-window-Use-ConfigureWindow-instead-of-MoveWindow.patch
Stefan Dirsch c2276ffaed Accepting request 731423 from home:iznogood:branches:X11:XOrg
- Add U_xwayland-Separate-DamagePtr-into-separate-window-data.patch
  and U_xwayland-Allow-passing-a-fd.patch: Needed for gnome 3.34
  new and experimental xwayland on demand feature.
- Rebase patches with quilt.

OBS-URL: https://build.opensuse.org/request/show/731423
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=744
2019-09-18 12:48:07 +00:00

49 lines
2.0 KiB
Diff

Git-commit: fbdd4d679a7d020f78f7b877033b83e00f5a0f73
Patch-Mainline: Upstream
Author: Michal Srb <msrb@suse.com>
Subject: dix/window: Use ConfigureWindow instead of MoveWindow
References: bsc#1114822
The screensaver can regularly move its window to random offsets. It should
use the ConfigureWindow function instead of calling the Screen's MoveWindow
directly. Some MoveWindow implementations, such as compMoveWindow, rely on
Screen's ConfigNotify being called first as it happens in ConfigureWindow.
Reviewed-by: Adam Jackson <ajax@redhat.com>
---
dix/window.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
Index: xorg-server-1.20.5/dix/window.c
===================================================================
--- xorg-server-1.20.5.orig/dix/window.c
+++ xorg-server-1.20.5/dix/window.c
@@ -3110,6 +3110,7 @@ int
dixSaveScreens(ClientPtr client, int on, int mode)
{
int rc, i, what, type;
+ XID vlist[2];
if (on == SCREEN_SAVER_FORCER) {
if (mode == ScreenSaverReset)
@@ -3162,14 +3163,11 @@ dixSaveScreens(ClientPtr client, int on,
* for the root window, so PaintWindow works
*/
screenIsSaved = SCREEN_SAVER_OFF;
- (*pWin->drawable.pScreen->MoveWindow) (pWin,
- (short) (-
- (rand() %
- RANDOM_WIDTH)),
- (short) (-
- (rand() %
- RANDOM_WIDTH)),
- pWin->nextSib, VTMove);
+
+ vlist[0] = -(rand() % RANDOM_WIDTH);
+ vlist[1] = -(rand() % RANDOM_WIDTH);
+ ConfigureWindow(pWin, CWX | CWY, vlist, client);
+
screenIsSaved = SCREEN_SAVER_ON;
}
/*