Commit Graph

62079 Commits

Author SHA1 Message Date
Ali Alzyod 6d45e49698 evas: change way of searching for Escape strings/values in textblock
Instead of using old way for linear search for Escape Strings or Escape values, we will sort these values and string in compile time then binary search them.

In simple words:
Instead of having one array with pair of {escapeChar,escapeValue} and linear search it.
We will have two arrays with pair of {escapeChar,escapeValue}, one with escapeChar Sorted, and one with escapeValue sorted.
and we will use one of the array to binary search escape chars, and use the other to binary search escape values,

1- This will increase the speed for the search a lot for both Escape characters and Escape values.
2- Make code more easy to understand and trace
3- This will also fix bug for

```
int value;
const char * value = evas_textblock_string_escape_get("",&value)
//because of some unhanded case in previous code, this will return "&qout;" , which is first element in predefined escape character array
```

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8610
2019-05-01 16:17:25 -04:00
junsu choi 7f05be39f1 README, doc : Fix typo
Reviewers: Hermet, kimcinoo, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8710
2019-05-01 16:17:25 -04:00
Marcel Hollerbach 96599425f1 meson: do not use the variable name env in mono
env is used for the program env, and should not be used in any other
form here.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8690
2019-05-01 16:17:25 -04:00
Christopher Michael 9aaab0b017 ecore-evas-x: Fix double free
Coverity reports, and reading the code confirms, that the variable
'out' has already been freed (or is NULL) when reaching this line of
execution.

Fixes CID1382851

@fix
2019-05-01 16:17:25 -04:00
Yeongjong Lee b8904f38a5 ui.relative_layout: fix incorrect type casting
Summary: `temph` can be double type.

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8695
2019-05-01 16:17:25 -04:00
Yeongjong Lee 19d8e815cc ui.relative_layout: enhance relation_xxx_set,get apis
Summary:
I forgot `efl_pack_layout_request` after relation_xxx is changed.
Unnecessary register function in `relation_xxx_get` will return unexpected result.
if a object is not child of relative_layout, `relation_xxx_get` should return
`target = NULL` and `relative = 0.0` with error message.

Test Plan: make check

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8627
2019-05-01 16:17:25 -04:00
Yeongjong Lee 91accc3628 ui.relative_layout: add callbacks to update layout
Summary:
If the size or hints of a child changes, relative_layout need to update layout.
And, if a child is deleted, it should be unregisterd from relative_layout.

Depends on D8625

Test Plan: elementary_test -to 'efl.ui.relative_layout'

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8626
2019-05-01 16:17:25 -04:00
Yeongjong Lee a9394a6a5c ui.relative_layout: add internal clipper
Summary: If there is no clipper of container, color_set and clipper_set api won't work.

Test Plan:
1. elementary_test -to 'efl.ui.relative_layout'
2. Click button1
3. check that buttons color are changed.

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8625
2019-05-01 16:17:25 -04:00
Xavi Artigas 51e4060189 docs: Fix genlist widget preview generation
Summary:
This was making "ninja doc" segfault for me.
If these function tables are not initialized they contain garbage, which leads
to the worst kind of undefined behavior.

Test Plan: Apply D8561 and try `ninja doc`. It was dumping core for me, and it does not do it anymore after this patch.

Reviewers: bu5hm4n, zmike, cedric

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8697
2019-05-01 16:17:25 -04:00
Hermet Park 77fc0d9b83 evas x: code refactoring.
keep simple code as possible.
2019-05-01 16:17:25 -04:00
Marcel Hollerbach 6548c36279 meson: ensure that buffer header is installed correctly
the directory it was installed to was <prefix>/include/evas/engine-1/
instead of <prefix>/include/evas-1/ which is wrong. This fixes
enlightenment building.

Reviewed-by: Lauro Neto <lauromauro_>
Differential Revision: https://phab.enlightenment.org/D8692
2019-05-01 16:17:25 -04:00
Jaehyun Cho d5fb149db2 efl_canvas_animation_player: fix to apply animation when player starts
Previously, animation was not applied immediately when player starts
animation because elapsed time is 0.
This caused flickering object if animation begins with alpha 0 because
the alpha 0 animation is not applied immediately.

Now, animation is applied immediately when player start animation.
2019-05-01 16:17:25 -04:00
Jaehyun Cho d79cc48fca efl_ui_stack: handle memory allocation fail
check if memory allocation succeeds and handle memory allocation fail.
2019-05-01 16:17:25 -04:00
Hermet Park 1fc732a1ec evas wbmp: fix wrong calc order.
Double check patch again, since my wrong logical thinking,
Every width must be considered to rounding up fiting 8 bits.
this new compuation must be correct.
2019-05-01 16:17:25 -04:00
Hermet Park c32e0e2ff3 evas wbmp loader: coming previous patch with fixing wrong calc.
Those bits must be rounded if they are not fit to 8 bits.

see: 68fe9ec6bf
2019-05-01 16:17:25 -04:00
Hermet Park 50ed660f27 Revert "evas-wbmp: revert previous two patches"
This reverts commit 0ebf41c003.
2019-05-01 16:17:25 -04:00
Cedric BAIL b5d565bed6 ecore: rely on event instead of creating one Eo object per future that need resolving.
This was a terrible oversight, but the point of having a small native type for future was
for making them efficient. Still we were using one Eo object for dispatching per future
to dispatch new value. I could have gathered all the dispatch with just one object, but
at the end we do have one object that notify us of the loop iteration... the loop object!
And we have event on that object that we can rely to trigger the dispatching of future
without requiring any additional object. So let's do that instead.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8567
2019-05-01 16:17:25 -04:00
Marcel Hollerbach 0e99b33c39 efl_ui_scroller: fix Efl.Content implementation
this commit ensures the following:
- Delete content when new content is set
- Content set input validation
- Correct parent setting

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8682
2019-05-01 16:17:25 -04:00
Marcel Hollerbach cffe1ad99d efl_ui_tab_page: implement content_set / unset correctly
This patchset ensures that the following features are supported:
- content-widget deletion on set content
- content-widget validation on set calls
- invalid cases return false
- event emission

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8681
2019-05-01 16:17:25 -04:00
Marcel Hollerbach 710ecf5c63 efl_ui_popup: fix widget_parent inheritance
when you inherit from widget_parent, you MUST call the super function.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8680
2019-05-01 16:17:25 -04:00
Christopher Michael f893ef54d3 efl_core_command_line: Fix resource leak
Coverity reports that we leak the return from _escape(command) here,
so since we have to free the return from _escape, place it in it's own
variable that we can call free() on after we are done with it.

Fixes CID1399105

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8688
2019-05-01 16:17:25 -04:00
Lauro Moura 6dbf843afb csharp: Fix test code memory handling
Summary:
It was causing the test to crash when running in debug build.

Also some minor fixes cleaning up stuff when exiting.

Fixes T7792.

Reviewers: segfaultxavi, vitor.sousa

Reviewed By: segfaultxavi, vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7792

Differential Revision: https://phab.enlightenment.org/D8679
2019-05-01 16:17:25 -04:00
Xavi Artigas 39c06dd634 mono-docs: Honor DESTDIR when installing XML docs
The DESTDIR envvar was not being taken into account and the XML doc file
ended up in a different place than the DLL.

Fix T7802

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8687
2019-05-01 16:17:25 -04:00
Boris Faure 5761778d6e fix compilation on alpine
Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8642
2019-05-01 16:17:25 -04:00
Christopher Michael ec1b51ef34 elput: Remove useless call to eldbus_message_unref
If we are returning here due to a failure to create the eldbus
message, then there is no point in trying to free it as it is already
null.

@fix
2019-05-01 16:17:25 -04:00
Christopher Michael 5e9b279dc1 elm_atspi_bridget: Fix resource leak
Coverity reports and 'req' leaks here so we need to unref the eldbus
message object if we are exiting this function.

Fixes CID1399424

@fix
2019-05-01 16:17:25 -04:00
Lauro Moura 32a332846a csharp: Fixes repeated method names.
Summary:
After D8397, interfaces have the I prefix again, so the "Do" prefix on
methods with repeated names may not be needed for them in most cases.

This commit also consolidates the method_managed_name calls with the
overload receiving attributes::function_def instead of plain name.

Fixes T7791

Depends on D8645

Reviewers: vitor.sousa, felipealmeida, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7791

Differential Revision: https://phab.enlightenment.org/D8650
2019-05-01 16:17:25 -04:00
Xavi Artigas caa34004dd mono-docs: Update DocFX blacklist
NativeInherit sibling classes have been replaced by NativeMethods internal classes.
2019-05-01 16:17:25 -04:00
Lauro Moura 3675f8931f csharp: refactor native_inherit into a nested class.
Summary:
Efl.Ui.Button_NativeInherit -> Efl.Ui.Button.NativeMethods

Will help using EFL# with completion tools.

* Added pragmas around the native function definitions to avoid
  warnings related to the name of native functions
* Updated some style fixes for native function wrappers.

Their preamble and epilogue styling will be dealt with in future diffs.

As a side effect, concrete classes had to be made public again as they
hold the function pointers to the native methods of their interfaces.
Thus a third party library class that implements IFoo should be able to
access these methods.

Fixes T7743

Depends on D8622

Reviewers: vitor.sousa, felipealmeida, segfaultxavi

Reviewed By: vitor.sousa, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7743

Differential Revision: https://phab.enlightenment.org/D8645
2019-05-01 16:17:25 -04:00
Xavi Artigas f50d97dc21 mono-docs: Use full name in page title
Reference page titles are now "Class Efl.Ui.Win" instead of "Class Win".
And also remove Namespace and Assembly sections.
Namespace is redundant since we use fully-qualified names everywhere.
Assembly is useless since we build the docs from the source so this entry is
always "temp.dll".
2019-05-01 16:17:25 -04:00
Xavi Artigas 5229eb7f84 mono-docs: Use full name in list of derived classes
In the EFL API we have several objects with the same name in different namespaces.
Thus it is important to use fully-qualified names throughout the docs, to avoid
confusion.
However, the default DocFX templates prefer using only simple class names.
The default templates have already been modified to use full names everywhere
except in the list of derived classes in the hierarchy section, where a DocFX
bug was hit.
This commit is a workaround to that bug (see
https://github.com/dotnet/docfx/issues/3769#issuecomment-485616064 )
so full names (with links) are used in the whole hierarchy.
2019-05-01 16:17:25 -04:00
Taehyub Kim f6152b5b37 elc_hoversel: fix selected event compatibility issue
Fix selected event compatibility issue.
When item of hoversel is selected,
item selected callback does not call in hoversel sample of elementary_test.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8683
2019-05-01 16:17:25 -04:00
Lauro Moura 8d53c19d9c csharp: Small style changes
Summary:
- Marshal annotations
- Parameters
- Structs
- Parts

Depends on D8614

Reviewers: segfaultxavi, vitor.sousa

Reviewed By: segfaultxavi, vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8622
2019-05-01 16:17:25 -04:00
Lauro Moura 787b3374a9 csharp: klass style changes
Summary:
Warnings down to 120k

Depends on D8612

Reviewers: vitor.sousa, felipealmeida, segfaultxavi

Reviewed By: vitor.sousa, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl_language_bindings

Differential Revision: https://phab.enlightenment.org/D8614
2019-05-01 16:17:25 -04:00
Lauro Moura beb45a4c15 csharp: Simple spacing rules changes
Summary: Also do not generated empty tag if doc would be empty.

Reviewers: vitor.sousa, segfaultxavi

Reviewed By: vitor.sousa, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8612
2019-05-01 16:17:25 -04:00
Wonki Kim 6a1369d26e ecore_wl2_input: fix a way it works when it has multiple input devices
Summary:
if there are multiple input devices, especially touch and mouse type devices simultaneous.
a logic can't recognize the current input device in _ecore_wl2_input_mouse_move_send function.
because focus.touch would not be cleared even touch actions from user has finished.

This patch clears input->focus.touch if users release their finger from touch device.

Reviewers: raster, eagleeye, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8673
2019-05-01 16:17:25 -04:00
Yeongjong Lee bd5946dabe ui.relative_layout: replace evas_object_event_callback_xxx with efl_event_callback_xxx
remove legacy function

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8630
2019-05-01 16:17:24 -04:00
Cedric BAIL d9d69e3ef8 elementary: fix another instances of no parent for Efl.Io.Model.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8539
2019-05-01 16:17:24 -04:00
Cedric BAIL 171aeb16a5 elementary: fix elm_fileselector_entry model_get to be properly build with a parent and synchronously.
This fix the following warning:
ERR<12924>:eo ../src/lib/eo/eo.c:880 _efl_add_internal_start() Creation of 'Efl.Io.Model' object at line 443 in '../src/lib/elementary/elc_fileselector_entry.c' is done without parent. This should use efl_add_ref.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8536
2019-05-01 16:17:24 -04:00
Cedric BAIL 568e1db550 elementary: add a queue to postpone object destruction when necessary.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8540
2019-05-01 16:17:24 -04:00
Cedric BAIL f836dd0c22 elementary: enforce Efl.IoModel as a base type for fileselector.
On the long run, we might just want to have an Efl.Model dedicated to
be used by fileselector and inherit Efl.IoModel from it. At the moment,
we don't, but I think it is still best to rely on this assumption to
make the fileselector code simpler.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8654
2019-05-01 16:17:24 -04:00
Marcel Hollerbach 3701a57dc4 elm_part_helper: emit changed events when content is changed
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8639
2019-05-01 15:07:18 -04:00
Marcel Hollerbach d588ad12d8 efl_ui_win: do not error when NULL is setted as content
NULL is valid, and the sub_object code does refuse to allow NULL, hence
we need this check here.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8638
2019-05-01 15:07:18 -04:00
Marcel Hollerbach 21605898df efl_ui_layout: only delete and unparent objects here when alive
something else might cause the object to get magically revived. Once the
object is invalidated, some things are able to set a parent again, which
causes the widget to continue with refcount 1 and a parent.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8637
2019-05-01 15:07:18 -04:00
Marcel Hollerbach 8388308f4c efl_ui_panel: redo content handling
before the events where not emitted correctly. Additionally input values
like 0x1 have been accepted as valid.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8636
2019-05-01 15:07:18 -04:00
junsu choi 8116633474 vg_common_svg: Prevent duplicate operations for percentage value
Summary:
x1, y1, x2 and y2 of Svg_Linear_Gradient structure must be a percentage value.(0 ~ 1)
but these variables are reused with efl_gfx_gradient_linear_start/end_set/get
and duplicate operations occur.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8662
2019-05-01 15:07:18 -04:00
Cedric BAIL c858940928 elementary: ensure that the parent model is still alive when resolving future for fileselector.
This future where relying on the parent model being alive to work (efl_parent_get). For
that reason we should have been using efl_future_then with the parent Model as a measure
to make sure this is always the case.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8500
2019-05-01 15:07:18 -04:00
Marcel Hollerbach 144bb7e10c meson: unbreak cxx header installation
Summary:
before we had *correct* fileds in the subdir: keyword. However,
install_dir: was wrong, so *this* time, this seems right.

Reviewers: cedric, zmike, segfaultxavi, raster

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8634
2019-05-01 15:07:18 -04:00
Mike Blumenkrantz 570005213a evas: implement Efl.File.unload for evas image classes
this fixes unloading images using the evas_object_image_file_set legacy
api

ref D8616

Differential Revision: https://phab.enlightenment.org/D8618
2019-05-01 15:07:18 -04:00
Christopher Michael d49685cd83 ecore-drm2: Make atomic property values support uint64_t
Some Atomic property values are actually uint64_t, so fix the
structure to reflect that.

@fix
2019-05-01 15:07:18 -04:00