From b37370bdb5e3f5ffa325619c78d31c9993e79745 Mon Sep 17 00:00:00 2001 From: inmarket Date: Thu, 1 May 2014 16:45:26 +1000 Subject: Added extra safety to GWIN objects --- src/gwin/gimage.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/gwin/gimage.c') 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); } -- cgit v1.2.3