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
2ec808f9d8
commit
099b250275
|
@ -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);
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue