e_pixmap: not destroy a shm_flusher resource when a pixmap destroyed
authorBoram Park <boram1288.park@samsung.com>
Fri, 30 Jun 2017 09:58:33 +0000 (18:58 +0900)
committerBoram Park <boram1288.park@samsung.com>
Wed, 5 Jul 2017 03:02:17 +0000 (12:02 +0900)
Change-Id: I8d412fbd7536eee765e43ccef9ed30b4d64521f4

src/bin/e_pixmap.c

index c863ed1c60c97da44740b31a5740b62b1fdee026..c88fa7e8883187313d2a1400d59a81d6404b0266 100644 (file)
@@ -138,7 +138,10 @@ _e_pixmap_free(E_Pixmap *cp)
    ELOG("PIXMAP FREE", cp, cp->client);
 
    if (cp->shm_flusher)
-     wl_resource_destroy(cp->shm_flusher);
+     {
+        wl_resource_set_user_data(cp->shm_flusher, NULL);
+        cp->shm_flusher = NULL;
+     }
 
    if (cp->buffer)
      wl_list_remove(&cp->buffer_destroy_listener.link);
@@ -208,7 +211,8 @@ _e_pixmap_tzsurf_shm_flusher_cb_res_destroy(struct wl_resource *resource)
    E_Pixmap *cp;
 
    cp = wl_resource_get_user_data(resource);
-   cp->shm_flusher = NULL;
+   if (cp)
+     cp->shm_flusher = NULL;
 }
 
 static void