forked from enlightenment/enlightenment
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
This commit is contained in:
parent
5737103d67
commit
dcdf4bb9f9
|
@ -611,6 +611,10 @@ 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);
|
_e_pointer_type_set(p, type);
|
||||||
eina_stringshare_del(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_FREE_FUNC(p->pointer_image, evas_object_del);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
_e_pointer_hot_update(p, hot_x, hot_y);
|
_e_pointer_hot_update(p, hot_x, hot_y);
|
||||||
|
|
||||||
|
|
|
@ -115,13 +115,10 @@ _basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
||||||
/* Apply the above settings */
|
/* Apply the above settings */
|
||||||
EINA_LIST_FOREACH(e_comp_list(), l, comp)
|
EINA_LIST_FOREACH(e_comp_list(), l, comp)
|
||||||
{
|
{
|
||||||
if (comp->pointer && !e_config->show_cursor)
|
if ((comp->comp_type == E_PIXMAP_TYPE_X) && (!e_config->show_cursor))
|
||||||
{
|
e_pointer_hide(comp->pointer);
|
||||||
e_pointer_hide(comp->pointer);
|
else
|
||||||
continue;
|
e_pointers_size_set(e_config->cursor_size);
|
||||||
}
|
|
||||||
if (comp->pointer) e_object_del(E_OBJECT(comp->pointer));
|
|
||||||
comp->pointer = e_pointer_window_new(comp->man->root, 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
e_mouse_update();
|
e_mouse_update();
|
||||||
|
|
Loading…
Reference in New Issue