diff options
author | inmarket <andrewh@inmarket.com.au> | 2014-05-01 16:45:26 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2014-05-01 16:45:26 +1000 |
commit | b37370bdb5e3f5ffa325619c78d31c9993e79745 (patch) | |
tree | d6fa26689362a70ac3e3e2034bbfdf44e855c80a /src/gwin/gimage.c | |
parent | 558ee7282d9f753519d7a813f1b9206c31e6f247 (diff) | |
download | uGFX-b37370bdb5e3f5ffa325619c78d31c9993e79745.tar.gz uGFX-b37370bdb5e3f5ffa325619c78d31c9993e79745.tar.bz2 uGFX-b37370bdb5e3f5ffa325619c78d31c9993e79745.zip |
Added extra safety to GWIN objects
Diffstat (limited to 'src/gwin/gimage.c')
-rw-r--r-- | src/gwin/gimage.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gwin/gimage.c b/src/gwin/gimage.c index 953aefc3..fdc6df84 100644 --- a/src/gwin/gimage.c +++ b/src/gwin/gimage.c @@ -140,6 +140,10 @@ GHandle gwinGImageCreate(GDisplay *g, GImageObject *gobj, GWindowInit *pInit) { } bool_t gwinImageOpenGFile(GHandle gh, GFILE *f) { + // is it a valid handle? + if (gh->vmt != (gwinVMT *)&imageVMT) + return FALSE; + if (gdispImageIsOpen(&widget(gh)->image)) gdispImageClose(&widget(gh)->image); @@ -159,6 +163,10 @@ bool_t gwinImageOpenGFile(GHandle gh, GFILE *f) { } gdispImageError gwinImageCache(GHandle gh) { + // is it a valid handle? + if (gh->vmt != (gwinVMT *)&imageVMT) + return GDISP_IMAGE_ERR_BADFORMAT; + return gdispImageCache(&widget(gh)->image); } |