Summary:
vsnprintf() returns "The number of characters that would have been written if n had been sufficiently large",
so if this is larger than the requested length, we pass the requested length to eina_stringshare_add_length,
to avoid reading uninitialised memory.
Fix T6903
Reviewers: zmike
Subscribers: cedric
Maniphest Tasks: T6903
Differential Revision: https://phab.enlightenment.org/D6011
Summary:
this avoids the creation of a new win object for each test
ref T6864
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric
Maniphest Tasks: T6864
Differential Revision: https://phab.enlightenment.org/D5965
Summary:
some minimal applications, such as test suites, may want to
disable this if they are not in need of any of the
functionality that is provided
@feature
Depends on D5965
Reviewers: cedric, stefan_schmidt
Reviewed By: cedric
Subscribers: stefan_schmidt, cedric
Differential Revision: https://phab.enlightenment.org/D5966
This is necessary because inheritance trees need to be validated
individually for proper name conflict checks. It also prevents
eina_hash_add related errors.
Summary:
Using a type visitor scheme similar to type and marshall_type, to ease
increasing coverage for other types if needed.
Also, changed the filter functions for those selections to check for the
full name of the regular_type_def, allowing a better specificity of the
name selections. This fixes things like "Eina.Error", which was
conflicting with Efl.Image.Load.Error when we compared only the last
name. It didn't appear before as Load.Error only appears in a
Efl.Image.Load event.
Depends on D5996
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5997
Summary:
While the test events were declared as by value, the support code passed
by reference, which was - wrongly - the only implementation supported in
event code.
Also added test with Eina_Bool and structs (passed by pointer to events,
while not having the ptr modifier explicitly.
Depends on D5995
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5996
Summary:
Making it easier to share code between self and inherited events.
During this move, the namespace and keyword headers were merged into the
name_helpers header.
Also added the first seed of a generic namespace reducer function,
to be used by other functions in later commits.
Depends on D5994
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: segfaultxavi, cedric
Differential Revision: https://phab.enlightenment.org/D5995
Summary:
Don't try to lazily create the parts when getting them, as it would
modify the owner inside its @const Efl.Part.part.
Depends on D5993
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5994
Summary:
Blacklist functions are all in the header/namespace blacklist.
Helper functions returning strings (names) are in the name_helpers
header. They act somewhat like "mini-generators".
Helpers.hh was left with other kind of helper functions (checks, etc)
that do not return strings.
Depends on D5992
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5993
Summary:
To deal with events with the same name as some methods (Del, Invalidate,
etc), the suffix Evt was added.
Thus, now we use
obj.ButtonClickedEvt += callback;
Instead of
obj.BUTTON_CLICKED += cal
The argument classes use the same scheme, being called <Evt name>_Args.
Depends on D5991
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5992
Summary: It was a reminiscing bit from the c++ generator.
Reviewers: felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5991
Summary: remove the elm legacy name of efl ui theme
Test Plan: run elementary_test and test efl ui widget cases
Reviewers: Jaehyun_Cho, woohyun, cedric, raster, jpeg
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5934
Summary:
the win has no theme set, so this would always return null
Depends on D5956
Reviewers: cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D5957
there were some cases where frame geometry was being calculated/applied
strangely as a result of moving all of the layout calcs to pre-render.
enforcing a frame calc+resize resolves these issues
Differential Revision: https://phab.enlightenment.org/D5961
this should just be handled in the pre-render callback where the rest
of the calc for the window is done
also removes an unnecessary smart calc
Differential Revision: https://phab.enlightenment.org/D5960
this avoids a substantial number of unnecessary recalcs and halves the calltime
for elm_win_add
ref T6884
Differential Revision: https://phab.enlightenment.org/D5944
Summary:
further optimize the eet_shutdown case of closing files and avoid
endlessly looping over empty nodes
Depends on D5950
Reviewers: cedric
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D5951
no need to free mempool memory when the mempool is about to be freed,
and eet_clearcache duplicates existing shutdown functionality
Differential Revision: https://phab.enlightenment.org/D5950
neither of these functions should force a recalc under any circumstance
as they are simply returning pointers
@fix
Differential Revision: https://phab.enlightenment.org/D5947
a number of these functions have implicit recalcs, which is bad because
it's a pretty significant perf bottleneck, but it can't be improved
without breaking existing behavior expectations so this is probably the
best that can be done
ref T6884
Differential Revision: https://phab.enlightenment.org/D5946
The file names are derived from the test case names. These two seem to
have been overlooked when copying one test case to another.
I hoped this would fix my problems I have with the eio test suite
recently, but sadly it does not. Time to go on a git bisect tour.
Summary: Need to check whether Evas_Public_Data is null or not before dereferencing it.
Test Plan: Execute test suite
Reviewers: raster, Hermet, cedric, jpeg, stefan_schmidt, Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5987
Reviewed-by: Cedric Bail <cedric@osg.samsung.com>
a wildcard gfx object could bring focus to a evas object that has no
smart parent, and thus keyboard events are left at a place where they
cannot come away from.
clock was using this to give focus to the edit buttons. The edit buttons
are now wrapped into theire own adapter objects which makes them
focusable like before. However, the no keybindings or anything are taken
to react on the value.
the manager objects are build on the assertion that registered elements
are returning the manager they are registered on if
efl_ui_focus_object_manager_get is called.
If we don't ack_configure here, it'll just automatically happen in
ecore_wl2_commit() next time we render anyway.
If we do ack_configure here, we can totally screw up E's internal window
handling.
Removing it seems like a win.
Summary:
It should not cause crash with NULL parameters.
@fix
Reviewers: woohyun, raster, cedric
Reviewed By: woohyun, raster
Differential Revision: https://phab.enlightenment.org/D5979
Efl.Ui.Pager is a widget which contains many pages in a linear fashion
and allows users to scroll through them.
Users can attach Efl.Page.Transition and Efl.Page.Indicator to a pager.
The value must be given to eina_value_set and not a pointer to a
Eina_Value.
This bug results in always getting wrong exit code when the application
terminates.
Added 4 buttons to the "genlist group tree" to perform
item next/prev/first/last.
This test works correctly by reverting fd82c2521e but it
still in contrast with the item_next() docs, that say item_next
should not descend in item childs.
I think that the docs is also wrong, as I never saw the behaviour
that is explained there.
Clean up various places where we do flushes that we don't need to
because some immediately following action is going to cause a flush.
Also fix places where we flush without actually doing anything.
False commit when a commit is already pending is an error, but for safety
it should be a nop.
Currently it would overwrite the existing frame callback which could
cause problems on window destruction.
We should be using dmabuf sync ioctls instead of mmap/munmap every draw,
this makes that happen. The surface code continues to do what its always
done, and map/unlock.
This is now done in ecore_evas where it should be. alpha_set now does
only what its name claims it does - sets whether a surface has an alpha
channel or not.
Instead of having elm handle all this stuff, handle it in ee. This fixes
a loooong standing bug where we would always use an alpha enabled surface
because CSD needs shadows - even if we aren't drawing CSD.
When alpha changes we need to blow away all our buffers in reconfigure,
even if they're still the right dimensions. Otherwise we can end up
rendering to an XRGB buffer when we wanted to use ARGB and we won't have
proper transparency.
Since we don't actually set the color depth at all we can end up with
an RGB565 buffer. We don't ask for depths because apparently the N900
had a problem with this under X.
I'm not aware of any efforts to bring wayland to the N900, so let's do
this normally.
This is much like 'import' but doesn't add the imported file into
the dependency list for the current file. This is to enable doc
reference validation to remain functional without needlessly
introducing file dependencies just to satisfy it.
Summary:
avoid having lines from the main pid repeated in forks
Depends on D5963
Reviewers: stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5964
Summary:
"plane" exception value is already filtered at line 1791.
execution cannot reach this statement.
Reviewers: cedric, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5973
Summary: a segmentation fault occurs once the argument is not valid.
Test Plan: N/A
Reviewers: cedric, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5974
Summary:
The legacy header was still referencing the eo class removed in
939690a8a9.
Reviewers: cedric, Jaehyun_Cho, vitor.sousa
Reviewed By: vitor.sousa
Differential Revision: https://phab.enlightenment.org/D5970
Add test using Efl.Ui.Stack, Efl.Ui.Navigation_Layout, and
Efl.Ui.Navigation_Bar classes.
Navigation_Bar widget is set into Navigation_Layout widget and
Navigation_Layout widget is pushed into Stack widget.
Summary:
Revert e02b2f04c2945ad60fab5612af1e02b0838b7ff5.
I couldnt make a revert commit for many commit has been related with above commit.
I will create a new MBE eo class ASAP. (https://phab.enlightenment.org/T5358)
Reviewers: cedric, woohyun, Jaehyun_Cho, SanghyeonLee, herb
Reviewed By: Jaehyun_Cho
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5954
The issue was that standalone-parsed files (outside of dependencies
of some other unit) were not being included in that dependency tree
(obviously) which resulted in their own dependency tree being
excluded from merging, causing the database hashes to lack the
necessary elements.
To fix this, I trigger merging of the "standalone" dependency trees
separately, by calling _merge_units from defer parsing cb.
Doc refs no longer introduce new dependencies into files. Instead,
they're parsed globally, and any doc ref lookup is also made
globally. This allows unit based dependencies to correspond more
to what files actually really need at compile time/runtime, with
docs being irrelevant to that; it also simplifies the API.
The doc resolution API now takes Eolian_State instead of
Eolian_Unit, too.
This is cleaner than adding into a hash manually. Additionally, it
is now possible to request that the file be parsed not as a dep,
but rather standalone, which will be useful later.
This only really makes sense on X11 and can lead to some seriously
confusing cases on other engines (*cough* wayland) when elm's idea
of iconified state doesn't match the compositor's.
While currently only X11 is whitelisted, other backends can be
added, though I suspect most are more like wayland where it makes
no sense at all.
ref T6834
Summary:
init is only called here to verify the refcount, shutdown is only necessary
when not forking in order to preserve the environment
ref T6864
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6864
Differential Revision: https://phab.enlightenment.org/D5958
commit fcae7cab27 broke connman stuff,
I've blindly fixed it up here. I don't actually use or test ant of this
but apparently I build it.
If it's broken, please mail the pieces to Daniel Kolesa.
Ref T6859 I guess
This changes a lot of things all across the EFL. Previously,
methods tagged @const had both their external prototype and
internal impl generated with const on object, while property
getters only had const on the external API. This is now changed
and it all has const everywhere.
Ref T6859.
Summary:
opening the default theme file can take up to 0.2s in worst case during
a test
ref T6864
Depends on D5914
Reviewers: stefan_schmidt
Reviewed By: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6864
Differential Revision: https://phab.enlightenment.org/D5915
Summary:
jpeg loader tests take 4+ seconds due to manual value comparisons, so ensure
that they run separately
ref T6856
Reviewers: stefan_schmidt
Subscribers: cedric
Maniphest Tasks: T6856
Differential Revision: https://phab.enlightenment.org/D5911
Summary:
This fixes following warning
../src/lib/eina/eina_list.h:1421:10: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
Test Plan: make
Reviewers: SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5952
This reverts commit f0a0da9f44.
As per T5938 seems we really want to restore a totally wrong
behaviour, without taking care of newer apps being broken.
I revert this for now, but I'm still convinced that we must
find a way to let user use a sane ordering for newer app.
I'm thinking about adding an api in genlist to let the widget
use the new sane ordering, something like
elm_genlist_fixed_ordering_set(bool) so that new apps can use
this to ensure correct behaviour. zmike what do you think about
this solution?
Summary:
This commit add null check on __efl_auto_unref_set.
In EO_OBJ_POINTER, if obj_id is null, obj can also be null.
Test Plan: N/A
Reviewers: woohyun, kimcinoo, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5869
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If font source is not embedded in edje, it should not
be appended in font source to skip the lookup in edj file
while loading font.
@fix
Test Plan: NA
Reviewers: cedric
Reviewed By: cedric
Subscribers: shilpasingh
Differential Revision: https://phab.enlightenment.org/D5909
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Revise wording of a few parameters, improve consistency of punctuation
and documentation body placement.
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5918
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Revises some descriptions, polishes wording, makes punctuation and
formatting more consistent, and straightens out some convoluted grammar
here and there.
There are a few places where the parameter documentation was incorrectly
cut-and-pasted from other routines, so this is fixed. Also, in
eina_matrixsparse_iterator_new() the docs say the elements are not
returned sequentially, but from the context and code I think it meant to
say they're not _consecutive_.
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5924
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
move evas_async_events_shutdown: to out of EVAS_CSERVE2 ifdef block
to make it reachable.
Reviewers: cedric, woohyun
Differential Revision: https://phab.enlightenment.org/D5926
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Legacy menu toolbar and ctxpopup are not new efl interface widget,
but it have efl interfaces, efl_ui_item and efl_ui_menu.
if we plan to implement this two, it should be a class not a interface,
so I remove it on legacy widget.
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5939
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
it turns out that 0.01s is actually a lot, accounting for something like
20s across a run of 'make check' while providing no additional value
ref e0c8ab4c79
ref T6825
ref T6864
Reviewers: cedric
Maniphest Tasks: T6864, T6825
Differential Revision: https://phab.enlightenment.org/D5941
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
this was only a temporary measure
Depends on D5916
Reviewers: stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5937
Summary:
list have got focus. but there isn't logic to check whether focused_item exist.
we need that logic for list focus
this fixes T6807, T6799
Test Plan: elementary_test -to 'list focus'
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric
Maniphest Tasks: T6807, T6799
Differential Revision: https://phab.enlightenment.org/D5935
Commit fd82c2521 has changed the behaviour of item_next/prev_get()
in case of genlist with group items (not tree).
The lagacy behaviour was to tread normal items and group items
in a flat way, like if group items was on the same level of
the children normal items.
As the commit already implement bug compatibility, seems to me
the case to restore also this case. Note that this changes only
apply to legacy genlist (I think).
Let me know if this broke something for you...as touching genlist
code is always an "I hope this is right" operation.
Summary:
check whether init+shutdown work explicitly before proceeding to other
tests
Depends on D5913
Reviewers: stefan_schmidt
Reviewed By: stefan_schmidt
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5914
Summary:
This reverts commit b0a7c4b086.
This is adding another EFL bug to work around an EFL bug.
Reviewers: raster
Subscribers: devilhorns, stefan_schmidt, bu5hm4n, thiepha, cedric
Differential Revision: https://phab.enlightenment.org/D5933
Summary:
focus_stack can't store logical node. we don't need to check a node from
focus_stack is not normal.
see line 1613
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5927
Summary:
a node in focus stack is always normal node. we don't need to check whether
node is normal.
see also, 97ec48434f
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5930
Summary:
Win is root of focus manager. it means Win is logical node and "focused" and
"unfocused" signals in Win aren't handled by focus manager.
Win needs to emit the signals itself.
Reported by eagleeye, jsuya
Test Plan:
1. elementary_test -to 'window states'
2. Check that "WIN FOCUS: focused" and "WIN FOCUS: unfocused" printed.
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: jsuya, cedric, eagleeye
Differential Revision: https://phab.enlightenment.org/D5931
it turns out that it is useful and needed (for future patches) to
request moves for nodes that are not focused currently. It is also
needed to request a move that might end up in a logical node.
The examples were either not build or using repeated rules due to
_EOLIAN_DEP_GEN not being set correctly was Makefile_Eolian_Helper.am
assumes it being inclueded from src/, while each example folder has its
own .am inside its folder.
Previously, class methods were implemented as regular instance methods.
This commits generates C# static methods for @class methods on the
*Concrete classes (and their childs).
I want to use this in other engines, but no other engine initializes this
properly, so draw_ok would be EINA_FALSE everywhere. This way draw_block
is EINA_FALSE after calloc in all engines that don't know about it.
ref T6834
or update with a small delay after any change and check mouse button
mask to avoid some bizarre mouse up event that is stopping the
selection form continuing with a mouse up event... so this works
around that and still works.
yet another "binary buffer" (pointer + size) streated as a string with
strdup + strlen which is oh so wrong. this fixes up some cnp in
wayland with garbage at the end of strings
@fix
Eolian doc objects now bundle debug information necessary to
provide correct line/column numbers. It is not possible to get
this information cirectly from the text, as it's reformatted and
contains no extra whitespace or newlines beyond paragraph
separators.
Fixes T6701.
Summary:
Frame inherits from layout. it can use same _content_aliases of Layout
ref 3114ee264b
Reviewers: Jaehyun_Cho, woohyun, cedric
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5929
since this can take an extension as well as a file path (extension
being .gif or .jpeg etc.) it would skip if passed a small extension
only (5 chars or less). fix and this fixes e's thumbnailing too for
some files.
@fix
Summary:
The fribidi couldn't reorganize paired brackets (Ex. '(', ')')
when there is RTL + LTR text. According to TR9(http://www.unicode.org/reports/tr9/),
it has to be shown properly without LRM or RLM.
Also, from the fribidi 1.0.0, fribidi_get_par_embedding_levels() was deprecated.
It is replaced with fribidi_get_par_embedding_levels_ex() which is including
paired brankets rules from TR9.
@feature
Test Plan:
1. Create a elm_entry.
2. Set a text by calling text_set.
elm_entry_entry_set(entry, "مرحبا Hello (40)");
3. Run and see the results.
- Without this patch or fribidi 1.X.X, it will show text like this...
"(Hello (40 مرحبا"
- With this patch and fribidi >= 1.0.0
"Hello (40) مرحبا"
Reviewers: raster, cedric, herdsman, woohyun
Reviewed By: herdsman
Differential Revision: https://phab.enlightenment.org/D5921
Change the parameter name of property event_animation from "event_type"
to "desc" to synchronize with other APIs.
(The parameter type is Efl.Event.Description)
Window geometry x, y are the offset from the top left corner of the
buffer, and not screen co-ordinates, so has nothing to do with output
geometry and can't be used to determine which window we're on.
Now that we track surface enter/leave events we can just give the first
output in the list of outputs we know we're on.
Under wayland we can set minimized but not unset it, nor can we tell
if it's been unset. This means we can't cache the value, we need to
make the protocol request any time ecore_wl2_window_iconified_set is
called.
ref T6834
We actually can't ever query this, it's clearly defined that way in the
protocol. There is absolutely no way to ever know if we're iconified.
ref T6834
requesting subchild for subchild is not a good idea, as it really only
fetches for a subchild, and never calls next and escapes the children of
the passed node.
fix T6793