diff options
author | Tomas Carnecky <tom@dbservice.com> | 2008-08-04 23:06:08 +0300 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2008-08-05 01:17:32 +0300 |
commit | 5532d63488ec45953ff7f925cfb4f87adb3b04a0 (patch) | |
tree | 13999b71862b50fcb6ace956f49ae7002ecfad56 | |
parent | e882ee7056f370e0619d137b4ec3973ecb4e3479 (diff) |
Redefine WindowTable as a fixed array
Instead of xalloc'ing it every server generation. The array is always
the same size (MAXSCREENS), anyway.
-rw-r--r-- | Xext/mbufbf.c | 3 | ||||
-rw-r--r-- | dix/events.c | 1 | ||||
-rw-r--r-- | dix/globals.c | 2 | ||||
-rw-r--r-- | dix/main.c | 7 | ||||
-rw-r--r-- | hw/kdrive/src/kdrive.c | 1 | ||||
-rw-r--r-- | hw/kdrive/src/kdrive.h | 3 | ||||
-rw-r--r-- | hw/xfree86/dixmods/extmod/xf86vmode.c | 3 | ||||
-rw-r--r-- | include/globals.h | 2 |
8 files changed, 6 insertions, 16 deletions
diff --git a/Xext/mbufbf.c b/Xext/mbufbf.c index afa6177ab..e929ab5fd 100644 --- a/Xext/mbufbf.c +++ b/Xext/mbufbf.c @@ -47,6 +47,7 @@ in this Software without prior written authorization from The Open Group. #include "gcstruct.h" #include "inputstr.h" #include "validate.h" +#include "globals.h" #include <sys/time.h> #define _MULTIBUF_SERVER_ /* don't want Xlib structures */ @@ -199,8 +200,6 @@ static Bool bufChangeWindowAttributes(); static void bufClearToBackground(); static void bufCopyWindow(); -extern WindowPtr *WindowTable; - static Bool bufMultibufferInit(pScreen, pMBScreen) ScreenPtr pScreen; diff --git a/dix/events.c b/dix/events.c index d6b3ecb1f..f04433b65 100644 --- a/dix/events.c +++ b/dix/events.c @@ -150,7 +150,6 @@ typedef const char *string; #endif #ifdef XEVIE -extern WindowPtr *WindowTable; extern int xevieFlag; extern int xevieClientIndex; extern DeviceIntPtr xeviemouse; diff --git a/dix/globals.c b/dix/globals.c index 210c7849c..d3dd33119 100644 --- a/dix/globals.c +++ b/dix/globals.c @@ -83,7 +83,7 @@ _X_EXPORT ClientPtr serverClient; _X_EXPORT int currentMaxClients; /* current size of clients array */ _X_EXPORT long maxBigRequestSize = MAX_BIG_REQUEST_SIZE; -_X_EXPORT WindowPtr *WindowTable; +_X_EXPORT WindowPtr WindowTable[MAXSCREENS]; _X_EXPORT unsigned long globalSerialNumber = 0; _X_EXPORT unsigned long serverGeneration = 0; diff --git a/dix/main.c b/dix/main.c index ab6ca5728..c34bc8a3c 100644 --- a/dix/main.c +++ b/dix/main.c @@ -305,9 +305,6 @@ int main(int argc, char *argv[], char *envp[]) SetInputCheck(&alwaysCheckForInput[0], &alwaysCheckForInput[1]); screenInfo.arraySize = MAXSCREENS; screenInfo.numScreens = 0; - WindowTable = (WindowPtr *)xalloc(MAXSCREENS * sizeof(WindowPtr)); - if (!WindowTable) - FatalError("couldn't create root window table"); InitAtoms(); InitEvents(); @@ -417,7 +414,7 @@ int main(int argc, char *argv[], char *envp[]) config_fini(); - memset(WindowTable, 0, MAXSCREENS * sizeof(WindowPtr)); + memset(WindowTable, 0, sizeof(WindowTable)); CloseDownDevices(); CloseDownEvents(); @@ -431,8 +428,6 @@ int main(int argc, char *argv[], char *envp[]) xfree(screenInfo.screens[i]); screenInfo.numScreens = i; } - xfree(WindowTable); - WindowTable = NULL; FreeFonts(); FreeAuditTimer(); diff --git a/hw/kdrive/src/kdrive.c b/hw/kdrive/src/kdrive.c index e31cc25d9..754b94291 100644 --- a/hw/kdrive/src/kdrive.c +++ b/hw/kdrive/src/kdrive.c @@ -93,7 +93,6 @@ static Bool kdCaughtSignal = FALSE; */ KdOsFuncs *kdOsFuncs; -extern WindowPtr *WindowTable; void KdSetRootClip (ScreenPtr pScreen, BOOL enable) diff --git a/hw/kdrive/src/kdrive.h b/hw/kdrive/src/kdrive.h index e3878e223..3987cb00b 100644 --- a/hw/kdrive/src/kdrive.h +++ b/hw/kdrive/src/kdrive.h @@ -43,13 +43,12 @@ #include "fboverlay.h" #include "shadow.h" #include "randrstr.h" +#include "globals.h" #ifdef XKB #include <X11/extensions/XKBstr.h> #endif -extern WindowPtr *WindowTable; - #define KD_DPMS_NORMAL 0 #define KD_DPMS_STANDBY 1 #define KD_DPMS_SUSPEND 2 diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c index 91d5865d1..559f18b64 100644 --- a/hw/xfree86/dixmods/extmod/xf86vmode.c +++ b/hw/xfree86/dixmods/extmod/xf86vmode.c @@ -48,6 +48,7 @@ from Kaleb S. KEITHLEY #include "swaprep.h" #include "xf86.h" #include "vidmodeproc.h" +#include "globals.h" #define DEFAULT_XF86VIDMODE_VERBOSITY 3 @@ -122,8 +123,6 @@ static void SXF86VidModeNotifyEvent(); xXF86VidModeNotifyEvent * /* to */ ); -extern WindowPtr *WindowTable; - static RESTYPE EventType; /* resource type for event masks */ typedef struct _XF86VidModeEvent *XF86VidModeEventPtr; diff --git a/include/globals.h b/include/globals.h index a95096f81..607bc4805 100644 --- a/include/globals.h +++ b/include/globals.h @@ -20,7 +20,7 @@ extern int monitorResolution; extern int defaultColorVisualClass; extern Bool Must_have_memory; -extern WindowPtr *WindowTable; +extern WindowPtr WindowTable[MAXSCREENS]; extern int GrabInProgress; extern Bool noTestExtensions; |