diff options
author | inmarket <andrewh@inmarket.com.au> | 2017-08-26 09:39:59 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2017-08-26 09:39:59 +1000 |
commit | c4eed17a2e806dae0d2580f68e273b53c5bad9cd (patch) | |
tree | 79832467223ce72f12c2e820cb313af0afdf6912 /src/gwin/gwin_image.c | |
parent | 9f5a71634493fce043b7ad40450952060f49c180 (diff) | |
download | uGFX-c4eed17a2e806dae0d2580f68e273b53c5bad9cd.tar.gz uGFX-c4eed17a2e806dae0d2580f68e273b53c5bad9cd.tar.bz2 uGFX-c4eed17a2e806dae0d2580f68e273b53c5bad9cd.zip |
Fix a problem with gwinImage where an animated GIF can leave a running timer when it is destroyed.
Diffstat (limited to 'src/gwin/gwin_image.c')
-rw-r--r-- | src/gwin/gwin_image.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gwin/gwin_image.c b/src/gwin/gwin_image.c index 900e7f61..b1da7d52 100644 --- a/src/gwin/gwin_image.c +++ b/src/gwin/gwin_image.c @@ -19,6 +19,10 @@ #define gw ((GImageObject *)gh) static void ImageDestroy(GWindowObject *gh) { + // Stop the timer + #if GWIN_NEED_IMAGE_ANIMATION + gtimerStop(&gobj->timer); + #endif if (gdispImageIsOpen(&gw->image)) gdispImageClose(&gw->image); } @@ -129,7 +133,7 @@ GHandle gwinGImageCreate(GDisplay *g, GImageObject *gobj, GWindowInit *pInit) { #if GWIN_NEED_IMAGE_ANIMATION gtimerInit(&gobj->timer); #endif - + gwinSetVisible((GHandle)gobj, pInit->show); return (GHandle)gobj; |