[Bug fix] fix CQ H0100134498 about the Conformant Scroll Issue.
[Reason]
Conformant widget used INVALID(out of date) geometry of a child evas object.
[Solution]
The main point is to use the UPDATED geometry of the child object, but the geometry has yet to be calculated and is queued for calculation later.
Firstly, for efficiency, we add a Job to calculate the whole canvas. Jobs implicitly coallate work per event loop.
Calcuation of object can be a reasonably intensive set of work.
In the job callback we calculate the whole canvas with evas_smart_objects_calculate() to ensure that all objects have the correct geometry at this point.
Reviewed by Raster.
[Change Summary]
<before>
-> Resize genlist in conformant
-> Call elm_widget_show_region_set()
-> Get the evas object's geometry inside the resize event
(at resize the object does not calculate, instead it queues a calculation to be done at render time for efficiency.)
<After>
-> Resize genlist in conformant
-> Register elm_widget_show_region_set() as an ecore job
-> elm_widget_show_region_set() called by ecore job
-> Call evas_smart_objects_calculate() in order to update geometry before using the geometry in elm_widget_show_region_set()
-> Get the updated geometry
@Raster,
Please review my patch set for fixing this defect.
Change-Id: If56a65968b53af98d540aae6f6d6ef00fb9f4d81