ecore_evas_extn: initialize server handle on server deletion
authorwonguk.jeong <wonguk.jeong@samsung.com>
Wed, 9 Apr 2014 10:21:30 +0000 (19:21 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 9 Apr 2014 10:21:30 +0000 (19:21 +0900)
Summary:
Since plug sends message by using deleted server handle (dangling pointer),
I could see glorious error message as below:

*** ECORE ERROR: Ecore Magic Check Failed!!!
*** IN FUNCTION: ecore_con_server_send()
ERR<842>:ecore lib/ecore/ecore.c:729 _ecore_magic_fail()   Input handle pointer is NULL!
ERR<842>:ecore lib/ecore/ecore.c:740 _ecore_magic_fail() *** NAUGHTY PROGRAMMER!!!
*** SPANK SPANK SPANK!!!
*** Now go fix your code. Tut tut tut!

Therefore, I initialized server handle on server deletion

@fix

Test Plan: create socket -> create plug -> destroy socket -> mouse move on plug area

Reviewers: raster, cedric

Reviewed By: raster

CC: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D701

src/modules/ecore_evas/engines/extn/ecore_evas_extn.c

index f953a0d..00fbf62 100644 (file)
@@ -910,6 +910,7 @@ _ipc_server_del(void *data, int type EINA_UNUSED, void *event)
    if (extn->ipc.server != e->server) return ECORE_CALLBACK_PASS_ON;
    evas_object_image_data_set(bdata->image, NULL);
    bdata->pixels = NULL;
+   extn->ipc.server = NULL;
 
    for (i = 0; i < NBUF; i++)
      {