diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-10-09 07:09:16 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-10-12 10:47:28 -0400 |
commit | 716ab4b43f1eac2df3a6152e0be9e2a6f478855c (patch) | |
tree | cc7f16bebf292e9fa27ab61bed59399ab862faf2 | |
parent | 6b0b742acee67f82d82b1a9f4e7eeedf47a1459a (diff) | |
download | enlightenment-716ab4b43f1eac2df3a6152e0be9e2a6f478855c.tar.gz |
recreate x11 root pointer when changing application<->enlightenment theme
force new visual to be applied immediately instead of requiring a compositor
restart
-rw-r--r-- | src/modules/conf_interaction/e_int_config_mouse.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/modules/conf_interaction/e_int_config_mouse.c b/src/modules/conf_interaction/e_int_config_mouse.c index beaf30ca58..c3792870d9 100644 --- a/src/modules/conf_interaction/e_int_config_mouse.c +++ b/src/modules/conf_interaction/e_int_config_mouse.c @@ -98,6 +98,7 @@ _free_data(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata) static int _basic_apply_data(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata) { + Eina_Bool redo = e_config->use_e_cursor != cfdata->use_e_cursor; e_config->use_e_cursor = cfdata->use_e_cursor; e_config->show_cursor = cfdata->show_cursor; e_config->idle_cursor = cfdata->idle_cursor; @@ -113,7 +114,15 @@ _basic_apply_data(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata if ((e_comp->comp_type == E_PIXMAP_TYPE_X) && (!e_config->show_cursor)) e_pointer_hide(e_comp->pointer); else - e_pointers_size_set(e_config->cursor_size); + { + if (redo && (e_comp->comp_type == E_PIXMAP_TYPE_X)) + { + E_FREE_FUNC(e_comp->pointer, e_object_del); + e_comp->pointer = e_pointer_window_new(e_comp->root, 1); + } + else + e_pointers_size_set(e_config->cursor_size); + } e_mouse_update(); |