mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2025-12-26 15:50:05 +01:00
mi: Don't hold the event mutex during SaveScreens()
This commit is contained in:
parent
477c6968a8
commit
17eebd7c10
1 changed files with 8 additions and 8 deletions
16
mi/mieq.c
16
mi/mieq.c
|
|
@ -237,6 +237,14 @@ mieqProcessInputEvents(void)
|
|||
pthread_mutex_lock(&miEventQueueMutex);
|
||||
#endif
|
||||
while (miEventQueue.head != miEventQueue.tail) {
|
||||
memcpy(&e, &miEventQueue.events[miEventQueue.head], sizeof(EventRec));
|
||||
handler = miEventQueue.handlers[e.event[0].u.u.type];
|
||||
miEventQueue.head = (miEventQueue.head + 1) % QUEUE_SIZE;
|
||||
|
||||
#ifdef XQUARTZ
|
||||
pthread_mutex_unlock(&miEventQueueMutex);
|
||||
#endif
|
||||
|
||||
if (screenIsSaved == SCREEN_SAVER_ON)
|
||||
SaveScreens (SCREEN_SAVER_OFF, ScreenSaverReset);
|
||||
#ifdef DPMSExtension
|
||||
|
|
@ -247,14 +255,6 @@ mieqProcessInputEvents(void)
|
|||
DPMSSet(DPMSModeOn);
|
||||
#endif
|
||||
|
||||
memcpy(&e, &miEventQueue.events[miEventQueue.head], sizeof(EventRec));
|
||||
handler = miEventQueue.handlers[e.event[0].u.u.type];
|
||||
miEventQueue.head = (miEventQueue.head + 1) % QUEUE_SIZE;
|
||||
|
||||
#ifdef XQUARTZ
|
||||
pthread_mutex_unlock(&miEventQueueMutex);
|
||||
#endif
|
||||
|
||||
if (handler) {
|
||||
/* If someone's registered a custom event handler, let them
|
||||
* steal it. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue