aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2014-07-15 13:47:12 +1000
committerinmarket <andrewh@inmarket.com.au>2014-07-15 13:47:12 +1000
commit8c47f68f665a400fd0489041d707b4371308a67e (patch)
tree4719c4c3f53ce60c3ec2f506398c0a2bbef2d076 /src
parentdb4719bd1d3cef2597f1bf443f8d82a27f233eae (diff)
downloaduGFX-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')
-rw-r--r--src/gwin/frame.c6
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);