diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-02-06 17:54:08 -0500 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2015-02-06 17:54:08 -0500 |
commit | 7171135792b1f443ef9f27818ab08dadfe3bf267 (patch) | |
tree | 9b383682dff96ef24a32cd5df21f3cd843b930ac /src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | |
parent | 88e5369eeeba803d44374a577b09f34d5d0f3016 (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.c | 8 |
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); | |||
53 | static void _ecore_evas_drm_size_base_set(Ecore_Evas *ee, int w, int h); | 53 | static void _ecore_evas_drm_size_base_set(Ecore_Evas *ee, int w, int h); |
54 | static void _ecore_evas_drm_size_step_set(Ecore_Evas *ee, int w, int h); | 54 | static void _ecore_evas_drm_size_step_set(Ecore_Evas *ee, int w, int h); |
55 | static void _ecore_evas_drm_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y); | 55 | static void _ecore_evas_drm_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y); |
56 | static void _ecore_evas_drm_object_cursor_unset(Ecore_Evas *ee); | ||
56 | static void _ecore_evas_drm_layer_set(Ecore_Evas *ee, int layer); | 57 | static void _ecore_evas_drm_layer_set(Ecore_Evas *ee, int layer); |
57 | static void _ecore_evas_drm_iconified_set(Ecore_Evas *ee, Eina_Bool on); | 58 | static void _ecore_evas_drm_iconified_set(Ecore_Evas *ee, Eina_Bool on); |
58 | static void _ecore_evas_drm_borderless_set(Ecore_Evas *ee, Eina_Bool on); | 59 | static 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 | ||
766 | static void | 768 | static 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 | |||
774 | static 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; |