This removes an argument that was false only for a single widget:
naviframe. Hopefully this logic is now simpler, even though it involves
a small hack within naviframe itself.
Ref T5363
elm_widget APIs are internal only, even if they may be EAPI. The EAPI
here is for modules.
I believe this API is only required for layout objects, so simply should
remain in the layout class. Then you can do efl_isa() and call the
functions or accept error messages if you want to be more careless.
Ref T5363
Summary:
"_cursors_count" static variable is not used when Elementary is built
for Wayland. It should be removed if els_cursor doesn't use it.
@fix
Test Plan: N/A
Reviewers: raster, zmike, ManMower
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5065
Small patch to add a handler for catching Window Iconify State Change
events
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch adds support for the Window Iconify State Change event
structure and the ecore event type to support it.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
_elm_panel_efl_gfx_size_set() ends up calling
_elm_panel_elm_layout_sizing_eval() to adjust the layout
according to the updated width and height.
however, evas_object_geometr_get() doesn't return the updated values.
in fact, it is not necessary to call any API since the values are
stored as widget data in _elm_widget_efl_gfx_size_set().
Some names have not been changed, hopefully making a distinction
between legacy APIs and internal code (elm_layout_blah) and valid EO
usages.
This means many internal functions are still elm_layout_ as their
sole purpose is to support the legacy API.
Ref T5315
This makes elm_layout implement:
- efl_canvas_layout_signal_message_send
- efl_canvas_layout_signal_process
This only transfers the calls from the elm widget to the internal
edje object.
PS: message_send is quite ugly in C...
Ref T5315
@feature
elm_layout_sizing_eval() marks an object as requiring recalc.
Unfortunately, it's been massively abused by various widgets into
actually doing the calc, or the min calc. So we end up with one API
that has 3 different definitions depending on the widget type:
1. Mark as requiring recalc (correct, respects doc, elm_layout)
2. Calculate min size and other size hints
3. Actually do some geometry modification
I believe we need to clarify these 3 requirements into 3 very clear
and specific APIs in elementary. Right now we have similar functions
in evas for 1 (evas_object_smart_changed) and 3 (smart_calculate).
But their exact definition also isn't necessarily what we want for
elementary.
Another clear problem is that layout_eval does not do any calculation
(in theory), so the "eval" word is a bit of a stretch here.
Once we're sure about the exact API we want, we can add this back to
EO and make it work across our EO widgets. For now let's just keep
the legacy API, and its EO overrides, as is.
Ref T5315
In some case, detected during eo test suite, the vtable does fail to
be fully assigned, but it is still being assigned as the new vtable.
Of course when later destroying it, it has already been freed. Leading
to a double free.
forcing a full eval here is unnecessary and broken since such an eval could
either change geometry in unexpected ways or fail to accurately change
the underlying canvas geometry
@fix
For programs without specific names edje_cc generated default names in
the form of program_$MEMORY_ADDRESS. That worked well enough for keeping
the names unique, but it causes problems if one wants to have these files
being binary reproducible due to different memory layouts, compilers,
etc. Simply using a counter as unique part should work well enough for
our use case and help people who want to verify builds.
Thanks a lot to Bernhard M. Wiedemann for review and testing.
Fixes T5113
Ref T5495
This reverts commit 9368eedd35.
The release is out so we can revert this bandaid again. In the hope to
find the real culprit and solution before the next release.
i found a crash today where a heme could cause a crash if it just did
the right things. the run program was freed while still being
accessed. so add some ref counting to keep it alive until references
go to 0. and add soem refs while we store it in lists.
@fix