Page MenuHomePhabricator

entry magnifier triggers infinite loop
Closed, ResolvedPublic

Description

_magnifier_create() in elm_entry is pretty broken. This function creates an image proxy, sets move+resize callbacks on it, then swallows it into an edje object. This means that elm_entry.c:1870

//Move the Magnifier
edje_object_parts_extends_calc(sd->mgf_bg, &x, &y, &w, &h);
evas_object_move(sd->mgf_bg, cx - x - (w / 2), cy - y - h);

can easily cause an infinite loop any time a magnifier is created because moving the edje object will usually trigger moving the image object inside.

zmike created this task.Jul 23 2018, 10:09 AM
zmike triaged this task as Showstopper Issues priority.

@id213sin did you have a chance to look at this issue report? Its marked as a show stopper for 1.22 and I would like to understand how critical this bug is

If you click any entry any hold the mouse button down it will infinitely recurse and crash the app. This seems bad.

@zmike

I've fixed this issue by D8462.
But I think the magnifier feature in elm_entry has been bad as it has not been worked at all.
Anyway - my patch will fix "infinite recursion and crash" at least.

zmike closed this task as Resolved.Mon, Mar 25, 5:52 AM

Good enough for now!