sync: Don't allow creating a system counter before sync is initialized
It probably doesn't work very well since there's other extension setup we're not doing on this path, and in any event it's not a thing that happens currently. Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
b5f04a79df
commit
8c49c883dc
21
Xext/sync.c
21
Xext/sync.c
|
@ -984,20 +984,7 @@ SyncCreateSystemCounter(const char *name,
|
||||||
SyncSystemCounterBracketValues BracketValues
|
SyncSystemCounterBracketValues BracketValues
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
SyncCounter *pCounter;
|
SyncCounter *pCounter = SyncCreateCounter(NULL, FakeClientID(0), initial);
|
||||||
|
|
||||||
/* this function may be called before SYNC has been initialized, so we
|
|
||||||
* have to make sure RTCounter is created.
|
|
||||||
*/
|
|
||||||
if (RTCounter == 0) {
|
|
||||||
RTCounter = CreateNewResourceType(FreeCounter, "SyncCounter");
|
|
||||||
if (RTCounter == 0) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
xorg_list_init(&SysCounterList);
|
|
||||||
}
|
|
||||||
|
|
||||||
pCounter = SyncCreateCounter(NULL, FakeClientID(0), initial);
|
|
||||||
|
|
||||||
if (pCounter) {
|
if (pCounter) {
|
||||||
SysCounterInfo *psci;
|
SysCounterInfo *psci;
|
||||||
|
@ -2501,10 +2488,8 @@ SyncExtensionInit(void)
|
||||||
for (s = 0; s < screenInfo.numScreens; s++)
|
for (s = 0; s < screenInfo.numScreens; s++)
|
||||||
miSyncSetup(screenInfo.screens[s]);
|
miSyncSetup(screenInfo.screens[s]);
|
||||||
|
|
||||||
if (RTCounter == 0) {
|
RTCounter = CreateNewResourceType(FreeCounter, "SyncCounter");
|
||||||
RTCounter = CreateNewResourceType(FreeCounter, "SyncCounter");
|
xorg_list_init(&SysCounterList);
|
||||||
xorg_list_init(&SysCounterList);
|
|
||||||
}
|
|
||||||
RTAlarm = CreateNewResourceType(FreeAlarm, "SyncAlarm");
|
RTAlarm = CreateNewResourceType(FreeAlarm, "SyncAlarm");
|
||||||
RTAwait = CreateNewResourceType(FreeAwait, "SyncAwait");
|
RTAwait = CreateNewResourceType(FreeAwait, "SyncAwait");
|
||||||
RTFence = CreateNewResourceType(FreeFence, "SyncFence");
|
RTFence = CreateNewResourceType(FreeFence, "SyncFence");
|
||||||
|
|
Loading…
Reference in New Issue