summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/evas/canvas/evas_main.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index 6a84b0c59b..40d242339a 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -1523,8 +1523,11 @@ _evas_pointer_data_remove(Evas_Public_Data *edata, Evas_Device *pointer, Eina_Bo
1523 EINA_INLIST_FOREACH(pseat->pointers, pdata) 1523 EINA_INLIST_FOREACH(pseat->pointers, pdata)
1524 if (pdata->pointer == pointer) 1524 if (pdata->pointer == pointer)
1525 { 1525 {
1526 pseat->pointers = eina_inlist_remove(pseat->pointers, EINA_INLIST_GET(pdata)); 1526 if (!nofree)
1527 if (!nofree) free(pdata); 1527 {
1528 pseat->pointers = eina_inlist_remove(pseat->pointers, EINA_INLIST_GET(pdata));
1529 free(pdata);
1530 }
1528 hit = pseat; 1531 hit = pseat;
1529 break; 1532 break;
1530 } 1533 }
@@ -1532,8 +1535,11 @@ _evas_pointer_data_remove(Evas_Public_Data *edata, Evas_Device *pointer, Eina_Bo
1532 EINA_SAFETY_ON_NULL_RETURN(hit); 1535 EINA_SAFETY_ON_NULL_RETURN(hit);
1533 if (hit->pointers) return; 1536 if (hit->pointers) return;
1534 hit->object.in = eina_list_free(hit->object.in); 1537 hit->object.in = eina_list_free(hit->object.in);
1535 edata->seats = eina_inlist_remove(edata->seats, EINA_INLIST_GET(hit)); 1538 if (!nofree)
1536 if (!nofree) free(hit); 1539 {
1540 edata->seats = eina_inlist_remove(edata->seats, EINA_INLIST_GET(hit));
1541 free(hit);
1542 }
1537} 1543}
1538 1544
1539Eina_List * 1545Eina_List *