summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2012-07-10 09:10:21 +0100
committerKeith Packard <keithp@keithp.com>2012-07-10 23:12:04 -0700
commitf937c3d50157a9a42d2f2f10590b6b139ce18a29 (patch)
tree7d251255a75f1f4ba286069bf4ce271d59d992ec
parent34cf559bcf99dad550527b5ff53f247f0e8e73ee (diff)
Sync: Always initialise system counter list
Sync is designed to let you add system counters before the extension has been initialised, which means the system counter list may well be full of bees. Make sure it's initialised before we add to it, to avoid the risk of fatal injury. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--Xext/sync.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Xext/sync.c b/Xext/sync.c
index 8a333dd3a..b8f094db5 100644
--- a/Xext/sync.c
+++ b/Xext/sync.c
@@ -951,6 +951,7 @@ SyncCreateSystemCounter(const char *name,
if (RTCounter == 0) {
return NULL;
}
+ xorg_list_init(&SysCounterList);
}
pCounter = SyncCreateCounter(NULL, FakeClientID(0), initial);
@@ -2448,13 +2449,12 @@ SyncExtensionInit(void)
ExtensionEntry *extEntry;
int s;
- xorg_list_init(&SysCounterList);
-
for (s = 0; s < screenInfo.numScreens; s++)
miSyncSetup(screenInfo.screens[s]);
if (RTCounter == 0) {
RTCounter = CreateNewResourceType(FreeCounter, "SyncCounter");
+ xorg_list_init(&SysCounterList);
}
RTAlarm = CreateNewResourceType(FreeAlarm, "SyncAlarm");
RTAwait = CreateNewResourceType(FreeAwait, "SyncAwait");