summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2013-08-28 12:13:39 +0100
committerMike Blumenkrantz <zmike@samsung.com>2013-12-23 18:36:33 -0500
commit099b25027506217edefef49486caddcde523b874 (patch)
tree09658a83c7b6dc34ae9887a0c08e15be19635392
parent2ec808f9d85014f682a5faded13df41d9efdeb2b (diff)
downloadenlightenment-099b25027506217edefef49486caddcde523b874.tar.gz
don't delete pointers when changing settings, just update size
this fixes a case where cursors would be permanently broken (along with the world) when changing cursor settings
-rw-r--r--src/bin/e_pointer.c2
-rw-r--r--src/modules/conf_interaction/e_int_config_mouse.c11
2 files changed, 6 insertions, 7 deletions
diff --git a/src/bin/e_pointer.c b/src/bin/e_pointer.c
index 5529c39b79..47c7409614 100644
--- a/src/bin/e_pointer.c
+++ b/src/bin/e_pointer.c
@@ -611,6 +611,8 @@ e_pointer_image_set(E_Pointer *p, E_Pixmap *cp, int w, int h, int hot_x, int hot
_e_pointer_type_set(p, type);
eina_stringshare_del(type);
}
+ evas_object_image_size_set(p->pointer_image, 1, 1);
+ evas_object_image_data_set(p->pointer_image, NULL);
}
_e_pointer_hot_update(p, hot_x, hot_y);
diff --git a/src/modules/conf_interaction/e_int_config_mouse.c b/src/modules/conf_interaction/e_int_config_mouse.c
index 7021414914..fcd83d9b10 100644
--- a/src/modules/conf_interaction/e_int_config_mouse.c
+++ b/src/modules/conf_interaction/e_int_config_mouse.c
@@ -115,13 +115,10 @@ _basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
/* Apply the above settings */
EINA_LIST_FOREACH(e_comp_list(), l, comp)
{
- if (comp->pointer && !e_config->show_cursor)
- {
- e_pointer_hide(comp->pointer);
- continue;
- }
- if (comp->pointer) e_object_del(E_OBJECT(comp->pointer));
- comp->pointer = e_pointer_window_new(comp->man->root, 1);
+ if ((comp->comp_type == E_PIXMAP_TYPE_X) && (!e_config->show_cursor))
+ e_pointer_hide(comp->pointer);
+ else
+ e_pointers_size_set(e_config->cursor_size);
}
e_mouse_update();