{
/* check whether this part is dragable at all */
if (!ep->drag) return;
+ if (ep->drag->down.count > 0) return;
/* instead of checking for equality, we really should check that
* the difference is greater than foo, but I have no idea what
* value we would set foo to, because it would depend on the
* size of the dragable...
*/
+
if (ep->drag->x != x || ep->drag->tmp.x)
{
ep->drag->x = x;
dy = ZERO;
_edje_part_dragable_calc(ed, ep, &dx, &dy);
ep->drag->x = dx;
+ ep->drag->val.x = dx;
ep->drag->y = dy;
+ ep->drag->val.y = dy;
ep->drag->tmp.x = 0;
ep->drag->tmp.y = 0;
ep->drag->need_reset = 0;
rp = _edje_real_part_recursive_get(&ed, part);
if (!rp) return EINA_FALSE;
if (!rp->drag) return EINA_FALSE;
- if (rp->drag->down.count > 0) return EINA_FALSE;
EINA_LIST_FOREACH(ed->user_defined, l, eud)
if (eud->type == EDJE_USER_DRAG_VALUE && !strcmp(part, eud->part))
rp = _edje_real_part_recursive_get(&ed, part);
if (!rp) return EINA_FALSE;
if (!rp->drag) return EINA_FALSE;
- if (rp->drag->down.count > 0) return EINA_FALSE;
EINA_LIST_FOREACH(ed->user_defined, l, eud)
if (eud->type == EDJE_USER_DRAG_STEP && !strcmp(part, eud->part))
rp = _edje_real_part_recursive_get(&ed, part);
if (!rp) return EINA_FALSE;
if (!rp->drag) return EINA_FALSE;
- if (rp->drag->down.count > 0) return EINA_FALSE;
EINA_LIST_FOREACH(ed->user_defined, l, eud)
if (eud->type == EDJE_USER_DRAG_PAGE && !strcmp(part, eud->part))