diff options
author | Alan Coopersmith <alan.coopersmith@sun.com> | 2009-12-11 00:46:22 -0800 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@sun.com> | 2009-12-18 16:51:45 -0800 |
commit | eb750f8b5e14751d4c40b50499baec5d2ba79db9 (patch) | |
tree | 48791902f8ebe6f6422787285accb13d44e25b8a /Xext/sync.c | |
parent | 1df4bd6011e110dcf0649b15bfffd4ab9e6961d6 (diff) |
Check for failures from CreateNewResourceType
Make sure to check return value before setting bitmask flags.
For most calls, just fails to init the extension. Since Xinput
already calls FatalError() on initialization failure, so does
failure to allocate Xinput's resource type.
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'Xext/sync.c')
-rw-r--r-- | Xext/sync.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Xext/sync.c b/Xext/sync.c index 667f8ab78..d8a2b1535 100644 --- a/Xext/sync.c +++ b/Xext/sync.c @@ -2113,8 +2113,12 @@ SyncExtensionInit(void) RTCounter = CreateNewResourceType(FreeCounter); } RTAlarm = CreateNewResourceType(FreeAlarm); - RTAwait = CreateNewResourceType(FreeAwait)|RC_NEVERRETAIN; - RTAlarmClient = CreateNewResourceType(FreeAlarmClient)|RC_NEVERRETAIN; + RTAwait = CreateNewResourceType(FreeAwait); + if (RTAwait) + RTAwait |= RC_NEVERRETAIN; + RTAlarmClient = CreateNewResourceType(FreeAlarmClient); + if (RTAlarmClient) + RTAlarmClient |= RC_NEVERRETAIN; if (RTCounter == 0 || RTAwait == 0 || RTAlarm == 0 || RTAlarmClient == 0 || |