summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2015-03-05 11:33:57 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2015-03-05 11:33:57 -0500
commitcb656ec20cfdc729a691b0201c6133188cbc9820 (patch)
tree368fdfc1ca1dc1f7293569695df1af6093e0afa7
parentac67dc68aee0cc78e700845b06edd2a3d712cc1a (diff)
downloadelementary-cb656ec20cfdc729a691b0201c6133188cbc9820.tar.gz
cursor object changes are now rejected if creating the new cursor fails
previous behavior resulted in a deleted cursor
-rw-r--r--src/lib/els_cursor.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/els_cursor.c b/src/lib/els_cursor.c
index 0825d56bb..3e18fdeaa 100644
--- a/src/lib/els_cursor.c
+++ b/src/lib/els_cursor.c
@@ -239,17 +239,19 @@ _elm_cursor_set(Elm_Cursor *cur)
if (cur->visible) return;
evas_event_freeze(cur->evas);
- cur->visible = EINA_TRUE;
if (!cur->use_engine)
{
if (!cur->obj)
_elm_cursor_obj_add(cur->eventarea, cur);
- ecore_evas_object_cursor_set(cur->ee, cur->obj,
- ELM_OBJECT_LAYER_CURSOR, cur->hot_x,
- cur->hot_y);
+ if (cur->obj)
+ ecore_evas_object_cursor_set(cur->ee, cur->obj,
+ ELM_OBJECT_LAYER_CURSOR, cur->hot_x,
+ cur->hot_y);
+ cur->visible = !!cur->obj;
}
else
{
+ cur->visible = EINA_TRUE;
if (cur->obj)
{
evas_object_del(cur->obj);