diff options
author | inmarket <andrewh@inmarket.com.au> | 2014-07-15 13:47:12 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2014-07-15 13:47:12 +1000 |
commit | 8c47f68f665a400fd0489041d707b4371308a67e (patch) | |
tree | 4719c4c3f53ce60c3ec2f506398c0a2bbef2d076 /src/gwin | |
parent | db4719bd1d3cef2597f1bf443f8d82a27f233eae (diff) | |
download | uGFX-8c47f68f665a400fd0489041d707b4371308a67e.tar.gz uGFX-8c47f68f665a400fd0489041d707b4371308a67e.tar.bz2 uGFX-8c47f68f665a400fd0489041d707b4371308a67e.zip |
Only destroy the listener in a frame window if it actually was initialised.
Diffstat (limited to 'src/gwin')
-rw-r--r-- | src/gwin/frame.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gwin/frame.c b/src/gwin/frame.c index c10aaea3..356da3b9 100644 --- a/src/gwin/frame.c +++ b/src/gwin/frame.c @@ -38,8 +38,10 @@ static coord_t BorderSizeT(GHandle gh) { return (gh->flags & GWIN_FRAME_BORDER) static void _frameDestroy(GHandle gh) { /* Deregister the button callback */ - geventRegisterCallback(&gh2obj->gl, NULL, NULL); - geventDetachSource(&gh2obj->gl, NULL); + if ((flags & (GWIN_FRAME_CLOSE_BTN|GWIN_FRAME_MINMAX_BTN))) { + geventRegisterCallback(&gh2obj->gl, NULL, NULL); + geventDetachSource(&gh2obj->gl, NULL); + } /* call the gcontainer standard destroy routine */ _gcontainerDestroy(gh); |