diff options
author | inmarket <inmarket@ugfx.org> | 2017-04-01 17:36:52 +1000 |
---|---|---|
committer | inmarket <inmarket@ugfx.org> | 2017-04-01 17:36:52 +1000 |
commit | ee33f13f7e14e66e5ca2bff2676ab2876a2f69e5 (patch) | |
tree | d167d501c8161b509cce0dda7f24332a97fa82e1 /src | |
parent | d8526e672a4f488e140787c042351604be9aaa77 (diff) | |
download | uGFX-ee33f13f7e14e66e5ca2bff2676ab2876a2f69e5.tar.gz uGFX-ee33f13f7e14e66e5ca2bff2676ab2876a2f69e5.tar.bz2 uGFX-ee33f13f7e14e66e5ca2bff2676ab2876a2f69e5.zip |
Another gwin concurrency fix
Diffstat (limited to 'src')
-rw-r--r-- | src/gwin/gwin_wm.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gwin/gwin_wm.c b/src/gwin/gwin_wm.c index 0c4fd1bf..7f251a70 100644 --- a/src/gwin/gwin_wm.c +++ b/src/gwin/gwin_wm.c @@ -986,6 +986,8 @@ static void WM_Raise(GHandle gh) { // Take it off the list and then put it back on top // The order of the list then reflects the z-order. + gfxSemWait(&gwinsem, TIME_INFINITE); + gfxQueueASyncRemove(&_GWINList, &gh->wmq); gfxQueueASyncPut(&_GWINList, &gh->wmq); @@ -1019,7 +1021,9 @@ static void WM_Raise(GHandle gh) { } } #endif - + + gfxSemSignal(&gwinsem); + // Redraw the window _gwinUpdate(gh); } |