Another gwin concurrency fix

This commit is contained in:
inmarket 2017-04-01 17:36:52 +10:00
parent d8526e672a
commit ee33f13f7e

View File

@ -986,6 +986,8 @@ static void WM_Raise(GHandle gh) {
// Take it off the list and then put it back on top // Take it off the list and then put it back on top
// The order of the list then reflects the z-order. // The order of the list then reflects the z-order.
gfxSemWait(&gwinsem, TIME_INFINITE);
gfxQueueASyncRemove(&_GWINList, &gh->wmq); gfxQueueASyncRemove(&_GWINList, &gh->wmq);
gfxQueueASyncPut(&_GWINList, &gh->wmq); gfxQueueASyncPut(&_GWINList, &gh->wmq);
@ -1019,7 +1021,9 @@ static void WM_Raise(GHandle gh) {
} }
} }
#endif #endif
gfxSemSignal(&gwinsem);
// Redraw the window // Redraw the window
_gwinUpdate(gh); _gwinUpdate(gh);
} }