Page MenuHomePhabricator

Setting scale and geometry can lead to unexpected results
Closed, ResolvedPublic

Description

setting a scale on an elm widget (elm_object_scale_set) and then resizing it using the evas API (evas_object_resize) will normally result in the expected size being set with the contents scaled.

However some times (around 1 in 10 or so, varying with the input numbers) it can result in a larger size based on what the scale would require if a size were not set.

The result of these calls should not be undefined. I would prefer that the resize call is respected but either way I think there's a race condition in here somewhere.

ajwillia.ms updated the task description. (Show Details)
ajwillia.ms raised the priority of this task from to Incoming Queue.
ajwillia.ms added a project: Restricted Project.
ajwillia.ms added a subscriber: ajwillia.ms.
tasn added a subscriber: tasn.Jan 12 2016, 9:27 AM

I attach a small project (could have been smaller, apologies - need to work on "app only" EDI project template...) to demonstrate.

build and run ./src/bin/ScaleBug - then resize the window - you will see the widgets flicker as they toggle between the size as a % of the window (evas_object_resize) and the larger size calculated from the scale (elm_object_scale_set).

The largest problem is the non-deterministic behaviour as this is not a resize flicker but a toggle in calculation seemingly at random.

- note to remember, don't edit your comment whilst a file is uploading!

conr2d added a subscriber: conr2d.Feb 14 2016, 8:35 PM
stefan_schmidt edited projects, added efl; removed Restricted Project.Jul 20 2016, 7:27 AM