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)
|
||||
{
|
||||
if ((stack->obj == obj) &&
|
||||
if (((stack->obj == obj) || (!obj)) &&
|
||||
((!type) || (!e_util_strcmp(stack->type, type))))
|
||||
{
|
||||
_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);
|
||||
eina_stringshare_replace(&ptr->type, NULL);
|
||||
return;
|
||||
if (!ptr->stack)
|
||||
{
|
||||
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;
|
||||
|
|
|
@ -863,6 +863,7 @@ lokker_lock(void)
|
|||
mlock(edd, sizeof(Lokker_Data));
|
||||
#endif
|
||||
|
||||
e_pointer_type_push(e_comp->pointer, e_comp->pointer, "default");
|
||||
E_LIST_FOREACH(e_comp->zones, _lokker_popup_add);
|
||||
total_zone_num = eina_list_count(e_comp->zones);
|
||||
|
||||
|
@ -882,6 +883,8 @@ EINTERN void
|
|||
lokker_unlock(void)
|
||||
{
|
||||
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);
|
||||
if (edd->move_handler) ecore_event_handler_del(edd->move_handler);
|
||||
|
||||
|
|
Loading…
Reference in New Issue