diff options
author | Mike Blumenkrantz <zmike@samsung.com> | 2013-08-28 12:13:39 +0100 |
---|---|---|
committer | Mike Blumenkrantz <zmike@samsung.com> | 2013-12-23 18:36:33 -0500 |
commit | 099b25027506217edefef49486caddcde523b874 (patch) | |
tree | 09658a83c7b6dc34ae9887a0c08e15be19635392 | |
parent | 2ec808f9d85014f682a5faded13df41d9efdeb2b (diff) | |
download | enlightenment-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.c | 2 | ||||
-rw-r--r-- | src/modules/conf_interaction/e_int_config_mouse.c | 11 |
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(); |