summaryrefslogtreecommitdiff
path: root/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-02-06 17:54:08 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-02-06 17:54:08 -0500
commit7171135792b1f443ef9f27818ab08dadfe3bf267 (patch)
tree9b383682dff96ef24a32cd5df21f3cd843b930ac /src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
parent88e5369eeeba803d44374a577b09f34d5d0f3016 (diff)
ecore evas should not crash when unsetting pointer
ref D812 disappointed.jpg
Diffstat (limited to 'src/modules/ecore_evas/engines/drm/ecore_evas_drm.c')
-rw-r--r--src/modules/ecore_evas/engines/drm/ecore_evas_drm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
index 8ff1d394d7..3de46684ba 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -53,6 +53,7 @@ static void _ecore_evas_drm_size_max_set(Ecore_Evas *ee, int w, int h);
53static void _ecore_evas_drm_size_base_set(Ecore_Evas *ee, int w, int h); 53static void _ecore_evas_drm_size_base_set(Ecore_Evas *ee, int w, int h);
54static void _ecore_evas_drm_size_step_set(Ecore_Evas *ee, int w, int h); 54static void _ecore_evas_drm_size_step_set(Ecore_Evas *ee, int w, int h);
55static void _ecore_evas_drm_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y); 55static void _ecore_evas_drm_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y);
56static void _ecore_evas_drm_object_cursor_unset(Ecore_Evas *ee);
56static void _ecore_evas_drm_layer_set(Ecore_Evas *ee, int layer); 57static void _ecore_evas_drm_layer_set(Ecore_Evas *ee, int layer);
57static void _ecore_evas_drm_iconified_set(Ecore_Evas *ee, Eina_Bool on); 58static void _ecore_evas_drm_iconified_set(Ecore_Evas *ee, Eina_Bool on);
58static void _ecore_evas_drm_borderless_set(Ecore_Evas *ee, Eina_Bool on); 59static void _ecore_evas_drm_borderless_set(Ecore_Evas *ee, Eina_Bool on);
@@ -110,6 +111,7 @@ static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func =
110 _ecore_evas_drm_size_base_set, 111 _ecore_evas_drm_size_base_set,
111 _ecore_evas_drm_size_step_set, 112 _ecore_evas_drm_size_step_set,
112 _ecore_evas_drm_object_cursor_set, 113 _ecore_evas_drm_object_cursor_set,
114 _ecore_evas_drm_object_cursor_unset,
113 _ecore_evas_drm_layer_set, 115 _ecore_evas_drm_layer_set,
114 NULL, //void (*fn_focus_set) (Ecore_Evas *ee, Eina_Bool on); 116 NULL, //void (*fn_focus_set) (Ecore_Evas *ee, Eina_Bool on);
115 _ecore_evas_drm_iconified_set, 117 _ecore_evas_drm_iconified_set,
@@ -764,6 +766,12 @@ _ecore_evas_drm_object_cursor_del(void *data, Evas *e EINA_UNUSED, Evas_Object *
764} 766}
765 767
766static void 768static void
769_ecore_evas_drm_object_cursor_unset(Ecore_Evas *ee)
770{
771 evas_object_event_callback_del_full(ee->prop.cursor.object, EVAS_CALLBACK_DEL, _ecore_evas_drm_object_cursor_del, ee);
772}
773
774static void
767_ecore_evas_drm_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y) 775_ecore_evas_drm_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y)
768{ 776{
769 int x, y; 777 int x, y;