summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCedric Bail <cedric@osg.samsung.com>2018-04-06 14:54:50 -0700
committerCedric BAIL <cedric@osg.samsung.com>2018-05-01 10:39:01 -0700
commit135a39dd1470e438163888d7b46dec4192a4d445 (patch)
tree1640ac8c3ab02ecb8c44c590a7e84ae7c75ff7c3 /src
parent0e5aa8dccd7f55053a10b673f2174c4e5a26024f (diff)
evas: keep the devices around until full destruction of the canvas.
Diffstat (limited to 'src')
-rw-r--r--src/lib/evas/canvas/evas_main.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/lib/evas/canvas/evas_main.c b/src/lib/evas/canvas/evas_main.c
index 7eb512a308..0af73500b3 100644
--- a/src/lib/evas/canvas/evas_main.c
+++ b/src/lib/evas/canvas/evas_main.c
@@ -305,6 +305,10 @@ _evas_canvas_efl_object_destructor(Eo *eo_e, Evas_Public_Data *e)
305 305
306 evas_render_idle_flush(eo_e); 306 evas_render_idle_flush(eo_e);
307 307
308 efl_replace(&e->default_seat, NULL);
309 efl_replace(&e->default_mouse, NULL);
310 efl_replace(&e->default_keyboard, NULL);
311
308 _evas_post_event_callback_free(eo_e); 312 _evas_post_event_callback_free(eo_e);
309 _evas_canvas_event_shutdown(eo_e, e); 313 _evas_canvas_event_shutdown(eo_e, e);
310 314
@@ -1163,20 +1167,20 @@ evas_output_method_set(Evas *eo_e, int render_method)
1163 return; 1167 return;
1164 } 1168 }
1165 1169
1166 e->default_seat = evas_device_add_full(eo_e, "default", "The default seat", 1170 e->default_seat = efl_ref(evas_device_add_full(eo_e, "default", "The default seat",
1167 NULL, NULL, EVAS_DEVICE_CLASS_SEAT, 1171 NULL, NULL, EVAS_DEVICE_CLASS_SEAT,
1168 EVAS_DEVICE_SUBCLASS_NONE); 1172 EVAS_DEVICE_SUBCLASS_NONE));
1169 evas_device_seat_id_set(e->default_seat, 1); 1173 evas_device_seat_id_set(e->default_seat, 1);
1170 e->default_mouse = evas_device_add_full(eo_e, "Mouse", 1174 e->default_mouse = efl_ref(evas_device_add_full(eo_e, "Mouse",
1171 "The default mouse", 1175 "The default mouse",
1172 e->default_seat, NULL, 1176 e->default_seat, NULL,
1173 EVAS_DEVICE_CLASS_MOUSE, 1177 EVAS_DEVICE_CLASS_MOUSE,
1174 EVAS_DEVICE_SUBCLASS_NONE); 1178 EVAS_DEVICE_SUBCLASS_NONE));
1175 e->default_keyboard = evas_device_add_full(eo_e, "Keyboard", 1179 e->default_keyboard = efl_ref(evas_device_add_full(eo_e, "Keyboard",
1176 "The default keyboard", 1180 "The default keyboard",
1177 e->default_seat, NULL, 1181 e->default_seat, NULL,
1178 EVAS_DEVICE_CLASS_KEYBOARD, 1182 EVAS_DEVICE_CLASS_KEYBOARD,
1179 EVAS_DEVICE_SUBCLASS_NONE); 1183 EVAS_DEVICE_SUBCLASS_NONE));
1180} 1184}
1181 1185
1182EAPI int 1186EAPI int