diff options
author | inmarket <inmarket@ugfx.org> | 2017-04-01 13:21:38 +1000 |
---|---|---|
committer | inmarket <inmarket@ugfx.org> | 2017-04-01 13:21:38 +1000 |
commit | 252b3b918a398c5225cc75cd1a67d9cf7dd3903b (patch) | |
tree | 9c049bc448b9d032b55b39a27e284f410cdfca3f | |
parent | d8c9ca184f29800f6c23d02bc450ea0e67981990 (diff) | |
download | uGFX-252b3b918a398c5225cc75cd1a67d9cf7dd3903b.tar.gz uGFX-252b3b918a398c5225cc75cd1a67d9cf7dd3903b.tar.bz2 uGFX-252b3b918a398c5225cc75cd1a67d9cf7dd3903b.zip |
Prevent GWIN drawing while deleting a window from the list
-rw-r--r-- | src/gwin/gwin_wm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gwin/gwin_wm.c b/src/gwin/gwin_wm.c index c0ea8d25..0c4fd1bf 100644 --- a/src/gwin/gwin_wm.c +++ b/src/gwin/gwin_wm.c @@ -742,7 +742,9 @@ static bool_t WM_Add(GHandle gh, const GWindowInit *pInit) { static void WM_Delete(GHandle gh) { // Remove it from the window list + gfxSemWait(&gwinsem, TIME_INFINITE); gfxQueueASyncRemove(&_GWINList, &gh->wmq); + gfxSemSignal(&gwinsem); } static void WM_Redraw(GHandle gh) { |