From 671d0db30f0403705b5e7212d335d5a111f15e9f Mon Sep 17 00:00:00 2001 From: raster Date: Thu, 7 Jan 2010 13:36:45 +0000 Subject: [PATCH] some cleanups git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@44945 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore_x/xlib/ecore_x_image.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/lib/ecore_x/xlib/ecore_x_image.c b/src/lib/ecore_x/xlib/ecore_x_image.c index 3b412f0..57a17bd 100644 --- a/src/lib/ecore_x/xlib/ecore_x_image.c +++ b/src/lib/ecore_x/xlib/ecore_x_image.c @@ -80,17 +80,17 @@ _ecore_x_image_shm_check(void) if (_ecore_x_image_err) { XShmDetach(_ecore_x_disp, &shminfo); + XDestroyImage(xim); shmdt(shminfo.shmaddr); shmctl(shminfo.shmid, IPC_RMID, 0); - XDestroyImage(xim); _ecore_x_image_shm_can = 0; return; } XShmDetach(_ecore_x_disp, &shminfo); + XDestroyImage(xim); shmdt(shminfo.shmaddr); shmctl(shminfo.shmid, IPC_RMID, 0); - XDestroyImage(xim); _ecore_x_image_shm_can = 1; } @@ -128,16 +128,17 @@ ecore_x_image_free(Ecore_X_Image *im) { if (im->shm) { - XShmDetach(_ecore_x_disp, &(im->shminfo)); - shmdt(im->shminfo.shmaddr); - shmctl(im->shminfo.shmid, IPC_RMID, 0); + if (im->xim) + { + XShmDetach(_ecore_x_disp, &(im->shminfo)); + XDestroyImage(im->xim); + shmdt(im->shminfo.shmaddr); + shmctl(im->shminfo.shmid, IPC_RMID, 0); + } } else { if (im->xim) free(im->xim->data); - } - if (im->xim) - { im->xim->data = NULL; XDestroyImage(im->xim); } -- 2.7.4