forked from enlightenment/enlightenment
e pointer - on lock push a default pointer and ensure it is ok after
this makes the pointer a default - so no resize animations sticking around when locked, and on unlock we are restored to default. @fix
This commit is contained in:
parent
aaefc0cafe
commit
100121bd64
|
@ -646,7 +646,7 @@ e_pointer_type_pop(E_Pointer *ptr, void *obj, const char *type)
|
||||||
|
|
||||||
EINA_LIST_FOREACH_SAFE(ptr->stack, l, ll, stack)
|
EINA_LIST_FOREACH_SAFE(ptr->stack, l, ll, stack)
|
||||||
{
|
{
|
||||||
if ((stack->obj == obj) &&
|
if (((stack->obj == obj) || (!obj)) &&
|
||||||
((!type) || (!e_util_strcmp(stack->type, type))))
|
((!type) || (!e_util_strcmp(stack->type, type))))
|
||||||
{
|
{
|
||||||
_e_pointer_stack_free(stack);
|
_e_pointer_stack_free(stack);
|
||||||
|
@ -655,11 +655,21 @@ e_pointer_type_pop(E_Pointer *ptr, void *obj, const char *type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ptr->stack)
|
if ((!obj) && (!type))
|
||||||
{
|
{
|
||||||
e_pointer_hide(ptr);
|
if (!ptr->stack)
|
||||||
eina_stringshare_replace(&ptr->type, NULL);
|
{
|
||||||
return;
|
e_pointer_type_push(ptr, ptr, "default");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!ptr->stack)
|
||||||
|
{
|
||||||
|
e_pointer_hide(ptr);
|
||||||
|
eina_stringshare_replace(&ptr->type, NULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(stack = eina_list_data_get(ptr->stack))) return;
|
if (!(stack = eina_list_data_get(ptr->stack))) return;
|
||||||
|
|
|
@ -863,6 +863,7 @@ lokker_lock(void)
|
||||||
mlock(edd, sizeof(Lokker_Data));
|
mlock(edd, sizeof(Lokker_Data));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
e_pointer_type_push(e_comp->pointer, e_comp->pointer, "default");
|
||||||
E_LIST_FOREACH(e_comp->zones, _lokker_popup_add);
|
E_LIST_FOREACH(e_comp->zones, _lokker_popup_add);
|
||||||
total_zone_num = eina_list_count(e_comp->zones);
|
total_zone_num = eina_list_count(e_comp->zones);
|
||||||
|
|
||||||
|
@ -882,6 +883,8 @@ EINTERN void
|
||||||
lokker_unlock(void)
|
lokker_unlock(void)
|
||||||
{
|
{
|
||||||
E_FREE_LIST(edd->elock_wnd_list, _lokker_popup_free);
|
E_FREE_LIST(edd->elock_wnd_list, _lokker_popup_free);
|
||||||
|
e_pointer_type_pop(e_comp->pointer, e_comp->pointer, "default");
|
||||||
|
e_pointer_type_pop(e_comp->pointer, NULL, NULL);
|
||||||
E_FREE_LIST(edd->handlers, ecore_event_handler_del);
|
E_FREE_LIST(edd->handlers, ecore_event_handler_del);
|
||||||
if (edd->move_handler) ecore_event_handler_del(edd->move_handler);
|
if (edd->move_handler) ecore_event_handler_del(edd->move_handler);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue