From 1b500356e1d07bf1f525787a2e58c749893cad50 Mon Sep 17 00:00:00 2001 From: Duna Oh Date: Mon, 23 May 2016 14:05:10 +0900 Subject: [PATCH] Evas Device: fix segv in evas_device_cleanup Signed-off-by: Duna Oh Change-Id: I4194399a60ee9c99b9c884d8559dcb29608c4127 --- src/lib/evas/canvas/evas_device.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/canvas/evas_device.c b/src/lib/evas/canvas/evas_device.c index 68c743b..a6c1a0a 100644 --- a/src/lib/evas/canvas/evas_device.c +++ b/src/lib/evas/canvas/evas_device.c @@ -254,8 +254,13 @@ _evas_device_cleanup(Evas *eo_e) } EINA_LIST_FOREACH_SAFE(e->devices, l1, l2, dev) { - while (dev) - evas_device_del(dev); + int ref; + while (ref = dev->ref) + { + evas_device_del(dev); + if (ref <= 1) + break; + } } } -- 2.7.4