From 29fc049907299f7af416f0da702d06b763e3fd9f Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Sat, 29 Jun 2024 14:59:51 +0200 Subject: [PATCH] xnest: move screen saver window list into XnestScreenRec Signed-off-by: Enrico Weigelt, metux IT consult --- hw/xnest/Color.c | 2 +- hw/xnest/Screen.c | 12 ++++++------ hw/xnest/Screen.h | 2 -- hw/xnest/multiscreen.h | 1 + 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/hw/xnest/Color.c b/hw/xnest/Color.c index 0bc9ffc7f..cceb8cf26 100644 --- a/hw/xnest/Color.c +++ b/hw/xnest/Color.c @@ -263,7 +263,7 @@ xnestSetScreenSaverColormapWindow(ScreenPtr pScreen) free(xnestOldInstalledColormapWindows); XSetWMColormapWindows(xnestDisplay, xnscr->rootWindow, - &xnestScreenSaverWindows[pScreen->myNum], 1); + &xnscr->screenSaverWindow, 1); xnestOldInstalledColormapWindows = NULL; xnestNumOldInstalledColormapWindows = 0; diff --git a/hw/xnest/Screen.c b/hw/xnest/Screen.c index 142186bb8..71a021796 100644 --- a/hw/xnest/Screen.c +++ b/hw/xnest/Screen.c @@ -43,7 +43,6 @@ is" without express or implied warranty. #include "mipointrst.h" #include "multiscreen.h" -Window xnestScreenSaverWindows[MAXSCREENS]; DevPrivateKeyRec xnestScreenCursorFuncKeyRec; DevScreenPrivateKeyRec xnestScreenCursorPrivKeyRec; @@ -76,25 +75,26 @@ xnestSaveScreen(ScreenPtr pScreen, int what) if (xnestSoftwareScreenSaver) return False; else { + Window saverWin = xnestScreenPriv(pScreen)->screenSaverWindow; switch (what) { case SCREEN_SAVER_ON: - XMapRaised(xnestDisplay, xnestScreenSaverWindows[pScreen->myNum]); + XMapRaised(xnestDisplay, saverWin); xnestSetScreenSaverColormapWindow(pScreen); break; case SCREEN_SAVER_OFF: - XUnmapWindow(xnestDisplay, xnestScreenSaverWindows[pScreen->myNum]); + XUnmapWindow(xnestDisplay, saverWin); xnestSetInstalledColormapWindows(pScreen); break; case SCREEN_SAVER_FORCER: lastEventTime = GetTimeInMillis(); - XUnmapWindow(xnestDisplay, xnestScreenSaverWindows[pScreen->myNum]); + XUnmapWindow(xnestDisplay, saverWin); xnestSetInstalledColormapWindows(pScreen); break; case SCREEN_SAVER_CYCLE: - XUnmapWindow(xnestDisplay, xnestScreenSaverWindows[pScreen->myNum]); + XUnmapWindow(xnestDisplay, saverWin); xnestSetInstalledColormapWindows(pScreen); break; } @@ -389,7 +389,7 @@ xnestOpenScreen(ScreenPtr pScreen, int argc, char *argv[]) attributes.background_pixmap = xnestScreenSaverPixmap; attributes.colormap = DefaultColormap(xnestDisplay, DefaultScreen(xnestDisplay)); - xnestScreenSaverWindows[pScreen->myNum] = + xnscr->screenSaverWindow = XCreateWindow(xnestDisplay, xnscr->rootWindow, 0, 0, xnestWidth, xnestHeight, 0, diff --git a/hw/xnest/Screen.h b/hw/xnest/Screen.h index e4c746626..29de95014 100644 --- a/hw/xnest/Screen.h +++ b/hw/xnest/Screen.h @@ -18,8 +18,6 @@ is" without express or implied warranty. #include #include -extern Window xnestScreenSaverWindows[MAXSCREENS]; - ScreenPtr xnestScreen(Window window); Bool xnestOpenScreen(ScreenPtr pScreen, int argc, char *argv[]); Bool xnestCloseScreen(ScreenPtr pScreen); diff --git a/hw/xnest/multiscreen.h b/hw/xnest/multiscreen.h index e31011456..2985e95a6 100644 --- a/hw/xnest/multiscreen.h +++ b/hw/xnest/multiscreen.h @@ -13,6 +13,7 @@ typedef struct xnest_screen { Window rootWindow; + Window screenSaverWindow; ScreenPtr pScreen; } XnestScreenRec, *XnestScreenPtr;