aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2017-08-26 09:39:59 +1000
committerinmarket <andrewh@inmarket.com.au>2017-08-26 09:39:59 +1000
commitc4eed17a2e806dae0d2580f68e273b53c5bad9cd (patch)
tree79832467223ce72f12c2e820cb313af0afdf6912 /src
parent9f5a71634493fce043b7ad40450952060f49c180 (diff)
downloaduGFX-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')
-rw-r--r--src/gwin/gwin_image.c6
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;