It's now possible to mark struct fields and function params as "references",
which causes them to become pointers in C (in bindings, they become whatever
is necessary). They're not a part of the type and are much more restricted
than pointers, allowing bindings to be easier. This system will be gradually
utilized and expanded as required.
@feature
We set it but never going to use it afterwards. We already tests the
efl_gfx_buffer_colorspace_get() elsewhere in this tests so we can ignore it
for now until we need it and bring it back together with a user.
Elm.Interface.Fileselector now supports Efl.Model objects, allowing users
to work with paths from different data models.
Example of model attribution:
ELm_Fileselector *fs = eo_add(EFL_FILESELECTOR_CLASS, NULL);
Efl_Model *model = ...;
elm_interface_fileselector_model_set(fs, model, NULL);
Cancelling a promise will fulfill it but won't actually free the memory. This
memory is under custody of the owner, who must either call value_set or
error_set to finish it.
We treated as errors when Eina_Accessor was NULL, which meant
that we could never get an empty range os children. Treat it
as success and pass an empty Eina_Accessor
We used to keep a reference to the parent object and have it in the call
structure although we were actually calling the function on the embedded
object. This was needed because we wanted to unref the parent correctly.
This was incorrect (and marked as a hack) and now I finally gotten
around to implementing the (amazingly simple) fix to remove this
workaround.
Essentially we just ref the comp object, unref the parent, and let the
normal eo call flow to unref the comp object correctly later on, like it
would have unreffed the extra ref we had for the parent.
After this commit you will find a new icon theme in your system,
it is called Enlightenment-X and is build using the same icons used
in the elm theme. Using this theme you can have non-efl
and efl apps to use the same icons.
#StupidAutotools that require me to list each icon and each folder
to be able to install them
I guess eeze scanner was not operational at all because the SUID bit was
never set. The reason for that was that where it was put in the makefile
made it not be a make rule (where @ would have worked) but used by a special
autofoo rule.
Pffff... another tricky one...
-windowDidResize is actually also called when the window is not
resize by the user, leading to multiple event posting, and of
course the infamous call of ecore_main_loop_iterate() when it
was not paused at all, leading to messy events handling... the
most visible being the initial resizing of the window going rogue.
We now ensure with -windowWillStartLiveResize and -windowDidEndLiveResize
that we only send an event when the user requested it. Since the main
loop is paused at this point, calling ecore_main_loop_iterate()
becomes safe.
Fixes T3648
Autotools really really really sucks.
Because of the above, we need to manually list both source dirs and
build dirs, because some of the include files are in the source dirs and
some are in the build dir (generated).
When compositing objects, we were checking that class_of(B) is in A's
inheritance tree before allowing attaching B as a composite object of A.
This is wrong and breaks a few cases, for example: B extends a class that
is in A's inheritance tree or B implements an interface that is in A's
inheritance tree.
Thanks to Marcel for reporting.