Commit Graph

25463 Commits

Author SHA1 Message Date
Derek Foreman 45f24b6ef4 elm: Compress more focus tests into the same list walk
Since we're already at the top of the list, we can do the WIN_CLASS test
much more cheaply.

Differential Revision: https://phab.enlightenment.org/D7314

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-22 16:09:39 +01:00
Derek Foreman 30be434fb1 elm: Re-order focus tests
Placing the cheapest tests first can save on some heavy walks.

Differential Revision: https://phab.enlightenment.org/D7313

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-22 16:09:39 +01:00
Derek Foreman b8f6323a36 elm: Walk parents instead of parent widget in focus test
This Should Work, right?

Differential Revision: https://phab.enlightenment.org/D7312

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-22 16:09:38 +01:00
Derek Foreman a4e4343082 elm: speed up _eval_registration_candidate
combining _tree_unfocusable and _tree_disabled into a single function
reduces eo overhead.  This saves a few ms at startup in elementary_test.

Differential Revision: https://phab.enlightenment.org/D7308

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-22 16:09:38 +01:00
Yeongjong Lee c7ee93eebb Remove duplicated interface inheritance in eo
Summary:
Delete unnecessary interface inheritance

Efl.Ui.Base ==> Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Ui.Base
Efl.Text_Cursor ==> Efl.Text_Markup - Efl.Text_Cursor
Efl.Pack_Layout ==> Efl.Ui.Box - Efl.Pack_Layout
Efl.Ui.Translatable ==> Efl.Ui.Layout - Efl.Ui.Widget - Efl.Ui.Translatable
Efl.Part ==> Efl.Ui.Widget - Efl.Part
Efl.Ui.View ==> Efl.Ui.Layout.Object - Efl.Ui.View
Efl.Access.Value ==> Efl.Ui.Spin - Efl.Access.Value
Efl.Gfx.Buffer ==> Efl.Canvas.Image_Internal - Efl.Gfx.Buffer
Efl.Canvas.Pointer ==>  Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Canvas.Pointer
Efl.Gfx.Size_Hint ==> Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Gfx.Size_Hint

Test Plan: make check

Reviewers: Jaehyun_Cho, Hermet, woohyun, segfaultxavi

Reviewed By: Jaehyun_Cho, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7241
2018-11-22 17:22:04 +09:00
Chris Michael 9c814cb652 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael e2862ef2e2 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael beaa784cb5 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 71baeab41d elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 554573eaa9 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 5a35d9d3e3 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael f7a414db38 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 27fb5151e5 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael a61b5c380b elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 0f00fa0777 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 4220c9d2d4 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael bd32bf5626 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 7bddabaa33 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 275165423a elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 31a7e545b4 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael b32c39cd58 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 328a6ad307 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael e8298d8d44 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 7f42105cb7 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 2f8221ed68 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 98c8c7bf91 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael f7c073d77c elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 19059b8eca elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 6d29afae4d elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 50ab99b05b elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Chris Michael 1bea98eba4 elementary: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 11:25:58 -05:00
Daniel Kolesa 9535eff025 eolian: check whether events conflict in inheritance tree (off)
Previously, the EOLIAN_EVENT_REDEF_WARN environment variable
enabled extra checks that would include events in checking
conflicts against methods. Since this is probably not necessary
and naming events the same as methods is perfectly fine in itself,
relax this rule and check events completely independently.

In practice, this will disallow using the same name for two
events within the same inheritance tree, which is desirable
in longer term, but cannot be enabled just yet because we have
too many of those conflicts. But it also allows the events to
be named the same as methods or parts, which is fine and was not
possible before.
2018-11-21 16:29:08 +01:00
Chris Michael a4bc0188eb emotion: Reduce EO calls by using geometry_set
This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.
2018-11-21 10:00:09 -05:00
Carsten Haitzler e68a952b8c eet - dictorinary - tidy up code to be easier to read
more compact so less scrolling - easier to read.
2018-11-21 13:37:16 +00:00
Carsten Haitzler 61109729fa eet dict - remove redundant check of len, str and possibly strcmp
aim for small speedups.
2018-11-21 13:37:16 +00:00
Carsten Haitzler c0d6cbab97 eet - dictionary - use rwlocks instead of spinlocks - better contention
if the dict is contended on by lots of threads then a spinlock really
makes it slow. a rwlock gets about 1.5-2x speedup depending on
arch/thread count.

@optimize
2018-11-21 13:37:16 +00:00
Jiyoun Park bb455f3490 evas_object_image: fix cutout bug related with opaque object
Summary:
  condition:
  1. full size rect
  2. upper side, if there is same size image object and image object preload state is EVAS_IMAGE_PRELOADING.
  below rect cannot be rendered because upper image object was added to cutout area event though image object is not opaque.

  so fix opaque check function return false for opaque state of preloading image.

Reviewers: Hermet, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7318
2018-11-21 20:55:32 +09:00
Bryce Harrington 3f957a9bd0 evas vg: Check for OOM when setting root node in a vg canvas 2018-11-21 20:55:13 +09:00
Bryce Harrington cd6e7fe685 evas vg: Check for OOM in evas_cache_vg_entry_create 2018-11-21 20:38:50 +09:00
Hermet Park 2191178ef2 evas vg: fix indentation.
non-logical changes.
2018-11-21 20:35:11 +09:00
Hermet Park 06de063739 evas vg: set update dirty region properly.
zero sized dirty region is insane,
it must be size of vg area.
2018-11-21 20:08:39 +09:00
Hermet Park fc4d7da72f evas vg: update render properly.
If tree viewport is changed, vg visual must be updated,
This checks internal changed flags to update next frame.

@fix
2018-11-21 20:06:24 +09:00
Hermet Park 111e1eb9c6 evas vg: code refactoring.
This doesn't change any logics.
just renamed internal variables and functions.
2018-11-21 20:01:09 +09:00
Marcel Hollerbach 11a19c23b1 elm_gengrid: transform P233 into a testcase
the new testcase checked if the focus is correctly restored after the
gengrid is focused again. And it checks that the focused_item pointer is
NULLed out when the gengrid is not focused at all anymore.

Differential Revision: https://phab.enlightenment.org/D7272
2018-11-20 20:51:25 +01:00
Marcel Hollerbach a81540ead5 elm_gengrid: enable focus api for none realized items
this ensures that the item is focused once the item is realized.
The last_focused_item point is not NULLed anymore, it will be overridden
anyways a few lines below, if the 'if' below is not going to be
executed, then we should not NULL out the field at all, since we want to
remember the item when we are restoring focus in
_elm_gengrid_efl_ui_focus_manager_setup_on_first_touch.

This resolved the latest comment in D7230

This also resolves T7391.

Differential Revision: https://phab.enlightenment.org/D7271
2018-11-20 20:50:42 +01:00
Marcel Hollerbach 9c1c35b9b8 elm_legacy: use the new api
with using the new api of efl.ui.focus.object we can resolve a bug that
was pointed out in P243.

Differential Revision: https://phab.enlightenment.org/D7267
2018-11-20 20:50:42 +01:00
Marcel Hollerbach d79db7c8bf elm-test: simulate focus on the window
we cannot rely on the compositor to actaully get focus.
However, a few widgets are only doing focus operations if they can get
focus, if not they do nothing. Which effectifility turns off every focus
operation if you don't have compositor focus. In order to work arround
this, we are getting the ee, NULL out the callbacks, so the window does
not know about the the *real* compositor focus, after that we manully
say that the root object has focus, so normal operations can be
performed again.

Differential Revision: https://phab.enlightenment.org/D7311
2018-11-20 20:50:42 +01:00
Marcel Hollerbach 1524c94180 elm_gen****: correctly return the focus parent
this was forgotten before. However, now the correct parents are returned
This is needed in order to have the child_focus property propagated
correctly accross the parent chain.

Differential Revision: https://phab.enlightenment.org/D7266
2018-11-20 14:42:32 +01:00
Marcel Hollerbach 25ac6d4fcc efl_ui_focus_object: add new event
the new event indicates when the focus property of a child has changed.

Fixes T7438

Differential Revision: https://phab.enlightenment.org/D7263
2018-11-20 14:42:32 +01:00
Marcel Hollerbach 70c800465e elm-test: add a test for checking the event handling
This tests creates a giant box with widgets in them. Each widget that is
tested is added to the box, focus is moved into it, and away from it,
the corresponding events are then checked.

Differential Revision: https://phab.enlightenment.org/D7233
2018-11-20 14:42:32 +01:00
Marcel Hollerbach f62a289cf4 elm_list: fix focus without items
Differential Revision: https://phab.enlightenment.org/D7232
2018-11-20 13:04:48 +01:00
Marcel Hollerbach edf1fbea20 elm_gen****: ensure that no focus item is handled correctly
This ensures that on first touch the root dummy element is focused
correctly.

fix T7203

Differential Revision: https://phab.enlightenment.org/D7231
2018-11-20 13:04:48 +01:00
Marcel Hollerbach c0e52526c6 efl_ui_focus_manager: make active getter work correctly
focus managers can be used via composition, in this case the normal
manager is NOT inheriting from the
EFL_UI_FOCUS_MANAGER_WINDOW_ROOT_INTERFACE class, but the composition
parent is.

fix T7390

Differential Revision: https://phab.enlightenment.org/D7230
2018-11-20 13:04:47 +01:00
Woochanlee a1478261b5 efl_ui_format: remove supporting default TM format in interface.
Summary:
efl_ui_format printed ERR log in calendar use case.

calendar only accept format as "B,b,h,m,y,Y"

But it doesn't cover that and not supporting TM type.

If there is other widget which one using format interface, It also has own accpeted format.

So i think it should impelment on widget side.

Test Plan: elementary_test -> efl_ui_calendar.

Reviewers: Hermet, singh.amitesh, Jaehyun, zmike, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6871
2018-11-20 10:23:28 +01:00
SangHyeon Jade Lee 4b5304d7f2 efl_ui_grid : introduce new packable grid widget for Efl.Ui.Widget
Summary:
Introduce new packable grid for Efl.Ui.Widget toolkits.
most of parts are same as Efl.Ui.List, and it also support Efl.Pack_Linear,
although it will not support Efl.Pack_Table, because item must be
arranged sequential orders.

Test Plan:
We will make the tests on efl ui test suite.
please test by make check.

Reviewers: Hermet, cedric, felipealmeida, eagleeye, woohyun

Reviewed By: Hermet, eagleeye

Subscribers: CHAN, bu5hm4n, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6985
2018-11-20 14:32:31 +09:00
Jaehyun Cho 4f9c8d524c efl_ui_theme: Introduce Efl.Ui.Theme class
Summary:
Efl.Ui.Theme class is required to support language bindings.
Efl.Ui.Theme works based on current elm_theme features.

This patch fixes T7357.

Reviewers: segfaultxavi, cedric, lauromoura, woohyun, zmike, SanghyeonLee

Reviewed By: segfaultxavi, SanghyeonLee

Subscribers: SanghyeonLee, herdsman, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7357

Differential Revision: https://phab.enlightenment.org/D7244
2018-11-20 13:56:37 +09:00
Jaehyun Cho 0611620301 efl_ui_bg: remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget class
Summary:
Efl.Ui.Bg interface does not have any new property or method.
Moreover, Efl.Ui.Bg interface is not used by widgets except
Efl.Ui.Bg_Widget and Efl.Ui.Widget_Part_Bg.
Consequently, Efl.Ui.Bg interface can be replaced by other interfaces.

Due to Efl.Ui.Bg interface, the bg widget class name becomes
Efl.UI.Bg_Widget which is not synchronized with other widget names.

Therefore, to keep consistency with other widgets, it would be better to
remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget to Efl.Ui.Bg.

Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7304
2018-11-20 10:24:05 +09:00
Derek Foreman 1f709470c5 ee_wayland: Set opaque region for alphaless surfaces
Theoretically this shouldn't be necessary, but it may be possible for
a backend to give us a visual with translucency even if we didn't ask
for one.

also better comments.

Differential Revision: https://phab.enlightenment.org/D7248

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-19 10:11:29 -06:00
Jiyoun Park 4e044fd9c2 evas rect update calculation - account for clipped color changes
Summary:
    if clipped color changed and not object color on rect objects, then
    the updates could be missed. This bug seems to
    have been here a while unnoticed.

Reviewers: Hermet, raster

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7301
2018-11-19 15:24:36 +09:00
Daniel Hirt fa1295c146 Canvas text: emit 'changed' event on markup set 2018-11-18 12:33:30 +02:00
Daniel Hirt 2c0f094da5 Ui text: fix size evaluation on construction
In some cases, like the example provided in the referred ticket, the
text is set during the construction of the object.

This adds another call to evaluate the size of the object at the end of
the "finalize" stage, and also removes the line that has set the text to
"".

Fixes T7468
2018-11-18 12:33:30 +02:00
Alastair Poole be8b7e5210 elm_code: Allow widget to be focused.
Summary: This fixes a lost cursor with latest git.

Test Plan: elementary_test -> elm_code -> view a cursor

Reviewers: raster, ajwillia.ms

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7298
2018-11-17 13:05:02 +00:00
Carsten Haitzler 9d3e0000b2 meson - fix ecore imf scim build to detect scim fully and work again 2018-11-17 11:45:03 +00:00
Carsten Haitzler d58376ac75 meson - ector - fix eo dependencies to include all of them
move subdir after all eo files added to eo file deps var so it can use
them all.
2018-11-16 21:14:52 +00:00
Cedric BAIL af59a63c47 meson: fix VNC server build to not override the last module.
The module name and installation directory where previously picked from
the last engine being processed instead of being unique to the VNC Server
module. This patch ensure that we do not write over another engine and
break everything when the VNC Server support is turned on.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7290
2018-11-16 10:20:24 -08:00
Derek Foreman dd206b4897 eet: Remove unused code
This stuff has been unused for years, so instead of fixing it up, remove
it.

Differential Revision: https://phab.enlightenment.org/D7283

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-16 12:16:07 -06:00
Derek Foreman 2464cf6648 eet: Remove pointer deduplication
After my previous changes, the only thing left that's adding duplicate
pointers should be string allocations, either direct (which have no free)
or stringshare which need to be "freed" for each duplicate as it's a
refcounting mechanism.

This speeds up parsing the theme file modestly (10ms faster launching
elementary_test for me), and should also prevent leaking every
stringshare that's on the freelist if an eet load fails.

I would not be at all surprised if there are still bugs in the fail path,
but I hope this at least mitigates failure tracking's impact on successful
parse times.

Differential Revision: https://phab.enlightenment.org/D7282

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-16 12:16:07 -06:00
Derek Foreman a9f1b588b1 eet: Demystify some typecasts
Simplify some confusing typecasts.  There may be more around.

No functional change.

Differential Revision: https://phab.enlightenment.org/D7281

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-16 12:16:07 -06:00
Derek Foreman 1e498286d9 eet: Stop freeing allocated memory in descriptor_decode
There are other paths that free this memory, so it ends up freed by the
EET_G_UNKNOWN_NESTED path, yet remains on the list.

It makes more sense to have all the callers deal with this memory.

Differential Revision: https://phab.enlightenment.org/D7280

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-16 12:16:07 -06:00
Derek Foreman 5889307f4c eet: Don't add duplicate hashes to eet freelist
The eet freelist code de-duplicates pointers, so passing duplicates is
just fine, however it does waste time doing the de-dup.

We know when we have a duplicate anyway, so save the time.

Differential Revision: https://phab.enlightenment.org/D7279

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-16 12:16:07 -06:00
Derek Foreman cd44bdeac6 eet: Don't add duplicate lists to eet freelist
The eet freelist code de-duplicates pointers, so passing duplicates is
just fine, however it does waste time doing the de-dup.

We know when we have a duplicate anyway, so save the time.

Differential Revision: https://phab.enlightenment.org/D7278

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
2018-11-16 12:16:07 -06:00
Marcel Hollerbach 46422187d8 meson: cleanup the native-cpu optimization build code
you were not able to disable the header checks, so if the header was not
there it indicated that you could turn it of. However, the option check
was in the has_header if not outside of it. Further more, header checks
are done in the subdirectory that is done for header checks,
unneccessary cpu_**** flags are removed, global optimization options are
added to the global_arguments instead of just the package_c_args, which
leads to the fact that also all binaries etc. are build by default with
those optimization flags.

This also reduces the amount of options to a minimum of 1 option, to
just control if there should be the optimization or not.

This also changes from host_maschine to target_mschine, since we
probebly want to enable the optimization for the target maschine, not
the host.

Differential Revision: https://phab.enlightenment.org/D7296
2018-11-16 17:29:05 +01:00
Marcel Hollerbach ae543adbd1 meson: fix build break
Summary:
the optimization that is build here requries a few .eo.h files - so
ensure that they are generated before they are used.
This fixes the build of efl.

Reviewers: ManMower, raster

Reviewed By: ManMower

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7295
2018-11-16 10:24:43 -06:00
Jaehyun Cho d4526f44b8 elementary: rename Efl.Ui.Popup classes
Summary:
Efl.Ui.Popup classes are renamed intuitively from backward order to
forward order.

Efl.Ui.Popup_Alert        -> Efl.Ui.Alert_Popup
Efl.Ui.Popup_Alert_Scroll -> Efl.Ui.Scroll_Alert_Popup
Efl.Ui.Popup_Alert_Text   -> Efl.Ui.Text_Alert_Popup

Reviewers: segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: herb, SanghyeonLee, woohyun, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7292
2018-11-16 11:26:57 +01:00
Jaehyun Cho 2d460e52e4 elementary: remove Efl.Ui.Layout namespace
Summary:
Efl.Ui.Layout namespace is removed to keep consistency with other
widgets.
Consequently, "Efl.Ui.Layout.Object" is renamed to "Efl.Ui.Layout" and
"Efl.Ui.Layout." is renamed to "Efl.Ui.Layout_".

Reviewers: segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers, SanghyeonLee, woohyun

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7291
2018-11-16 11:11:13 +01:00
Daniel Hirt de72dd5730 Evas textblock: fix test to use provided hyphen dictionary
This fixes the test suite so it does not rely on the system's dictionary
files.

Fixes T7466
2018-11-16 11:21:53 +02:00
Cedric BAIL 3a223530d9 ector: replace custom _efl_refplace by generic efl_replace.
Summary: Depends on D7274

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7275
2018-11-16 12:22:20 +09:00
Cedric BAIL 73f3e66f58 ector: remove deprecated _efl_refplace and _efl_xrefplace.
Summary: Depends on D7275

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7276
2018-11-16 12:21:30 +09:00
Cedric BAIL fccce08947 eo: make efl_replace work with a const pointer like efl_ref/unref do.
Summary: This is done to keep consistency with all the reference counting functions in Eo.

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7274
2018-11-16 12:09:48 +09:00
Cedric BAIL 2dd9dbff60 ector: use efl_replace to make sure that no dangling pointer is left being.
Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7273
2018-11-16 12:06:35 +09:00
Cedric BAIL 3a35e64718 ector: reorder destructor code to make sure that freed pointer are not possibly accessed during destruction.
Summary: Depends on D7276

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7277
2018-11-16 11:59:38 +09:00
Carsten Haitzler b9225fd710 ector - fix meson build with sse3 on ix86 (32bit) 2018-11-16 00:08:47 +00:00
Yeongjong Lee 788507961a ecore_wl2_dnd: initialize source to NULL when it destroy
Summary:
This prevent double destruction of source. if _ecore_wl2_input_del is called
with destroyed source, it can make unexpected troubles.

Reviewers: Hermet, id213sin, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7265
2018-11-15 09:11:38 -05:00
Marcel Hollerbach 1c530d210d efl_ui_focus_manager: calculate new widgets undependend from dirty state
This fixes T7397

Differential Revision: https://phab.enlightenment.org/D7179
2018-11-15 13:55:37 +01:00
Marcel Hollerbach 9f758dc363 elm: update widgets that have documented focus and unfocused events
this emits focus and unfocus on those widgets.

fixes T7386

Depends on D7124

Differential Revision: https://phab.enlightenment.org/D7103
2018-11-15 13:55:37 +01:00
Daniel Kolesa 04c4bb5834 eolian: use 'free' for owned mstring but not string
Summary:
Strings are const and if these are meant to be owned then it
should define its own special free func. Mstrings are mutable
and therefore can be owned and freed using standard free() by
default.

This fixes some warnings around the EFL caused by empty fallback
free funcs created by the eolian generator, and these mutable
strings were not being freed and potentially leaked.

Reviewers: bu5hm4n, stefan_schmidt

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7261
2018-11-15 12:16:42 +01:00
Hermet Park 574e73598e ector: fix wrong initalization count reference.
Ector shutdown couldn't terminate engine properly
since it's counting statement is wrong.
2018-11-15 12:17:38 +09:00
Hermet Park 01633207ca evas ector: fix memory leaks.
Summary:
Make it sure ref/unref pairs.

unpaired reference count occures object dangled.

@fix

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7270
2018-11-14 21:51:24 +09:00
Hermet Park e2cd8eea55 evas vg: optimize gradient sequences.
Summary:
1. Pointed out gradient prepare step triggered duplicatedly,
because they are immediate children of container.
But gradients is desigend to fill shape,
shape could get ready of the gradients which are applied to.
So, container doesn't need to prepare gradient children.

2. Ector shape does prepare its gradient renderer in it's prepare time,
each gradients objects doesn't need to prepare renderer separately.

Here code skip duplication of sequences of gradients preparation step.
by cleaning up logic.

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7269
2018-11-14 21:50:50 +09:00
Youngbok Shin 09da85807a evas textblock: remove white space after line-break by a next item
Summary:
In some cases, white space at end of line is remained after line-break.
This issue is happened when Textblock do word wrap at the next item. Without
spliting a previous text item. Then, Textblock just skipped calling
_layout_item_text_split_strip_white() function.

This patch also fixed a wrong test case based on wrong logic.
The range rectangles shouldn't be overlapped. Because of remained white space,
a meaningless rectangle was added. And it overlapped by next rectangle.
@fix

Test Plan:
Fixed an exising test case for range renctangles.
Run test case.

Reviewers: herdsman, woohyun, raster, cedric, subodh, subodh6129

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7204
2018-11-14 10:48:54 +02:00
Youngbok Shin b89b221b97 edje: fix an overflow issue for state values
Summary:
Whenever _edje_recalc_do() is called, a state value of
Edje structure is increased. This increased value will be stored
in Edje_Real_Part and Edje_Real_Part_State for calculation optimazation.
But, once the state value is overflowed, it ruins calculation logic.
@fix

Test Plan:
Run an Edje file which has infinite animation for over an hour.
I'll attach an example to phab.

Reviewers: raster, cedric, woohyun, Hermet

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7264
2018-11-14 16:43:13 +09:00
Hermet Park c373f4936b ector/software: remove duplicate call. 2018-11-14 16:08:09 +09:00
Carsten Haitzler f091ec3afb evas - add evas_common_types.h to makefile.am to fix distckeck 2018-11-13 18:36:22 +00:00
Marcel Hollerbach 14347e9a33 elm_widget_item_static_focus: prepare the gengrid before preparing items
this fixes some missing registrations, which lead to errors.

ref T7391

Differential Revision: https://phab.enlightenment.org/D7124
2018-11-13 17:01:37 +01:00
Marcel Hollerbach d5fea77162 gengrid: unset last_focused pointer when focus moved away
this was requested by T7391.

fix T7391

Differential Revision: https://phab.enlightenment.org/D7123
2018-11-13 17:01:37 +01:00
Marcel Hollerbach c972347c1c efl_ui_focus: add flag to indicate if a child has the focus
this is usefull for later implementations in spinner and fileselector.
A event for this was not added because the result is only really usefull
after a focus operation has been successfull.

Differential Revision: https://phab.enlightenment.org/D7102
2018-11-13 17:01:37 +01:00
Marcel Hollerbach c5add3ef40 elm: add unfocus / focus signals to gen* and toolbar
this adds back unfocus / focus emitting when items in those containers
are getting focus.

Differential Revision: https://phab.enlightenment.org/D7100
2018-11-13 17:01:37 +01:00
Xavi Artigas 295418ed59 doc: Fix misuse of $ instead of @ in comments
$ renders the next word monospaced whereas @ turns the next word into a link.
2018-11-13 12:41:51 +01:00
Lauro Moura 021513923d eo: Avoid namespace clashes.
Summary:
This commit removes some clashes (i.e. names as classes and namespaces
at the same time). It'll avoid nested items that are either forbidden
(C#) or problematic (Python) in some languages.

Reviewers: segfaultxavi, bu5hm4n, felipealmeida

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7260
2018-11-13 09:48:14 +01:00
Vitor Sousa 08357cd153 eo: fix and rework efl_replace()
Summary:
Check if the Eo to be replaced is NULL before calling efl_unref.
The documentation implies that the replaced object can be NULL, so this
check avoids unnecessary function calls and warning logs.

Add an EINA_SAFETY check in order to properly print an error message
when the function is used with an NULL storage pointer.
The documentation specifies that the first parameter can not be NULL.
So printing an error message should be better than silently returning.

Add a boolean return to the function that signalizes if the content of
the storage was changed. It is NOT an success/error flag, it is just a
simple helper to quickly test for a change in content.
This feature was inspired by eina_stringshare_replace that is used in
similar ways around the code.

Change the documentation to match the changes and to be more specific
about what is expected and how the arguments are treated.

Reviewers: raster, bu5hm4n, cedric, felipealmeida

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers, larryolj

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7256
2018-11-12 18:20:03 -02:00
Carsten Haitzler 96228d3c22 eina test - fix build with magic debug disabled 2018-11-12 17:05:46 +00:00
Carsten Haitzler 3ed1f61198 Revert "meson: fix a potential race in evas_opt build"
This reverts commit 32b79c7986.

don't need eo as a dep anymore as i unlinked eo from the sse opt build
2018-11-12 16:42:44 +00:00
Carsten Haitzler e6c7521f5d meson - move static libs sraw sse2 inot sse3 build options set
this fixes builds when sse3 is enabled by building with sse3 opts...
2018-11-12 16:42:17 +00:00
Carsten Haitzler ae2d399dd6 build - evas - sse3 optimized code - decouple from eo 2018-11-12 16:42:17 +00:00
Daniel Kolesa 32b79c7986 meson: fix a potential race in evas_opt build
We need to declare dependencies for .eo file generation to prevent
compiling files depending on generated files before they are
generated.
2018-11-12 16:22:20 +01:00
Daniel Kolesa ac95f38d1b cxx: explicitly require c++11 and fix tests to conform
We weren't setting a C++ version for build previously, which would
result in compiler specific default being used, most likely C++11
with GNU extensions on modern compilers and C++03 with GNU exts
on old compilers. This is bad because it potentially breaks build
on older toolchains that don't default to a modern C++.

Now we enable pure C++11 without GNU exts; this resulted in some
of the build breaking because of use of typeof() GNU C/C++ ext
in tests code, so fix that to use standard decltype() from C++11.

@fix
2018-11-12 15:43:13 +01:00
Hermet Park 1af272b557 efl interface: update efl_gfx_shape_stroke_dash doc. 2018-11-12 23:19:11 +09:00
Carsten Haitzler 791cd5b157 edje test - part content should be null as nothing is swallowed yet
fix test
2018-11-10 16:31:18 +00:00
Carsten Haitzler 5aa8afd60d evas textblock - fix unused params/vars 2018-11-09 12:37:09 +00:00
Carsten Haitzler ff2765c4af edje util - handle missing case in switch 2018-11-09 12:22:58 +00:00
Carsten Haitzler 65e9ad0b03 efreet menu - fix truncation in snprintf to have bigger buffers 2018-11-09 12:21:30 +00:00
Carsten Haitzler 14d501d17b efreet icon - move func into ifdef as only used if ifdef is true 2018-11-09 12:20:08 +00:00
Carsten Haitzler f3cea4b53a eio test - fix 32bit test to use correct type for eina value get 2018-11-09 12:18:59 +00:00
Carsten Haitzler df9957a7c4 eina debug - fix 32bit warning for casting down to 32bit ptrs 2018-11-09 12:18:59 +00:00
Carsten Haitzler df02d9a8e2 libunibreak - warn - add fallthrough attributes to minimize warnings 2018-11-09 12:18:59 +00:00
Carsten Haitzler 8292e8c937 meson build - fix libunibreak build to not directly build wordbreakdata
wordbreakdata.c is #included. dont compile it on its own. also
graphemebreakdata.c too is inthe same boat.
2018-11-09 12:18:59 +00:00
Carsten Haitzler c490c71119 efl ui text - stop being brain damaged with cnp mode
cnp mode type was a mess. thankfully it was a bit simpler than it
seemed. cleaned up code to deal with it sanely and keep it a single
type  as intended byt he api too.
2018-11-09 12:18:59 +00:00
Carsten Haitzler b05472eb9d elm code - warn - explicit truncation via custom truncate func 2018-11-09 12:18:59 +00:00
Carsten Haitzler b601e6f54b elm entry - warn - write a specirfic string truncate func to avoid warnings
so gcc likes to warn even if the truncation is intended. there are
verious ways around this, but in this case it's really just writing
your own ... which is pretty simple.

there is just too much warning noise for efl.
2018-11-09 12:18:59 +00:00
Carsten Haitzler dd677aa2f6 eina file test - warn - silence wanring wirth a bit of hand str trunc
truncation is intended. the way i can find to silence the warning is
use memcpy with a manually computed size...
2018-11-09 12:18:59 +00:00
Carsten Haitzler 5641910ed2 edje entry - be clearer and more efficient on string appending
using strncpy with strlen of the string you append is pointless.
again... strcpy will do - but use memcpy to be exact and pre-compute
sizing etc. only once. fixes warnings.
2018-11-09 12:18:59 +00:00
Carsten Haitzler db3fe9b03f efreet mime cache - expand buffer to avoid truncation by snprintf 2018-11-09 12:18:59 +00:00
Carsten Haitzler 02105219a8 efreetd - warn - expand buffer to avoid truncation by snprintf 2018-11-09 12:18:59 +00:00
Carsten Haitzler 721b72ce87 efreet trash - warn - expand buffer to avoid truncation by snprintf 2018-11-09 12:18:59 +00:00
Carsten Haitzler 80d7f0b7c1 efreet menu - only build internal cmp func if used in ifdefs 2018-11-09 12:18:59 +00:00
Carsten Haitzler a0171db3f2 efreet icon - fix constness of char ptr 2018-11-09 11:44:00 +00:00
Carsten Haitzler ce8e11764c ecore imf - xim module - use proper prorotypes and returns for xim 2018-11-09 11:44:00 +00:00
Carsten Haitzler 391955627c ecore imf - ibus - fill all struct fields 2018-11-09 11:44:00 +00:00
Carsten Haitzler c18d45816d ecore imf - wl - fill all stgruct fields with something... 2018-11-09 11:44:00 +00:00
Carsten Haitzler 0bec6826b1 ecore evas extn - warn - ensure all fields in ecore evas func struct set 2018-11-09 11:44:00 +00:00
Carsten Haitzler c76ea749c1 embryo_cc - warn - bigger buffer to avoid truncation warning 2018-11-09 11:44:00 +00:00
Carsten Haitzler 34b45b235c evas textblock - use proepr free iterator prototype 2018-11-09 11:44:00 +00:00
Carsten Haitzler ca26f83ec9 evas - warn - use correct free func prototype 2018-11-09 11:44:00 +00:00
Carsten Haitzler d70ee74ded evas - neon blend - warn - color mul, not used in one asm func - mark as such 2018-11-09 11:44:00 +00:00
Carsten Haitzler 91184f7324 evas gl - shader cache - warn - use bigger buffer to avoid trunc warn 2018-11-09 11:44:00 +00:00
Carsten Haitzler df5702a609 evas sw x11 - warn - use void ptr for error handler
warnings now are being super picky with:

../src/modules/evas/engines/software_x11/evas_xlib_buffer.c: In
function ‘evas_software_xlib_x_output_buffer_new’:
../src/modules/evas/engines/software_x11/evas_xlib_buffer.c:306:56:
warning: cast between incompatible function types from ‘void
(*)(Display *, XErrorEvent *)’ {aka ‘void (*)(struct _XDisplay *,
struct <anonymous> *)’} to ‘int (*)(Display *, XErrorEvent *)’ {aka
‘int (*)(struct _XDisplay *, struct <anonymous> *)’}
[-Wcast-function-type]
                                  ph = XSetErrorHandler((XErrorHandler)

can we really match a struct <anonymous> somehow? i don't think so...
so... void to the rescue.
2018-11-09 11:44:00 +00:00
Carsten Haitzler 7090e49335 ecore evas - warn - buffer engine - set last tick get field to null
missing field not set- set to null so we know its not set.
2018-11-09 11:44:00 +00:00
Carsten Haitzler d52709eca6 ecore wl2 - fix wl touch handler struct to set extra cb fields
sape and orient were not set, set them to NULL with fixme's
2018-11-09 11:44:00 +00:00
Carsten Haitzler 8da330739c eeze mount tool - warn - fix prototypes used for ecore events 2018-11-09 11:44:00 +00:00
Carsten Haitzler 7847af7f57 edje calc - wanr - move fallthrough tag to just before next case
fixes warning for it not being there... no bug here though
2018-11-09 11:44:00 +00:00
Carsten Haitzler 921d3b4979 edje calc - warn - fix warn about initting all fields of calc params 2018-11-09 11:44:00 +00:00
Carsten Haitzler 8fc3942713 edje load - warn - fix buffer trucn warning 2018-11-09 11:44:00 +00:00
Carsten Haitzler 71ee265130 edje edit - warn - use bigger buffer to avoid buf trunc warnings 2018-11-09 11:44:00 +00:00
Carsten Haitzler d6f2b20998 emotion modules - warn - fix possible uninit var 2018-11-09 11:44:00 +00:00
Carsten Haitzler 003323f244 edje modules - warn - use proper hash free func prototype 2018-11-09 11:44:00 +00:00
Carsten Haitzler 0bf371856c edje program - warn - handle theoretical null seat string 2018-11-09 11:44:00 +00:00
Carsten Haitzler a492851aed edje cc - warn - use correct free prorotype for has free func 2018-11-09 11:44:00 +00:00
Carsten Haitzler c7a22fb2c7 edje player - fix ridiculous use of srncat
another case of blind strncat usage rthat seemingly did a:

strcat(buf, str); -> strncat(buf, str, strlen(tr));

which is the most pointless thing to do ever. it's no better. it's
worse as it makes it harder to identify issues. thanks these days
compilers warn about this as a stupid thing to do... so i looked at it
and fixed it properly.

again - don't do this stuff above - it's pointless. patches that do
this should be rejected. fix it properly or leave it as-is.
2018-11-09 11:44:00 +00:00
Carsten Haitzler 5f24a64968 elocation - only define ebta api support if needed - not needed here... 2018-11-09 11:44:00 +00:00
Carsten Haitzler 882b1796d1 edje_cc - warn - fix buf truncation by snprintf by extending buffers 2018-11-09 11:44:00 +00:00
Carsten Haitzler f2e1116667 edje_cc - warn - fix free cb to be of right prototype
wrap by correctly typed func.
2018-11-09 11:44:00 +00:00
Carsten Haitzler 143bef348f evas gl extn sym finding - warn - use void catss for no more warns
so gcc now is being very picky about types. since we'r ereallyjast
throwing void *'s around for pointers to funcs and looking them up by
hand - use void *'s to avoid warnings.
2018-11-09 11:44:00 +00:00
Carsten Haitzler 906183f2cd edje_cc_parse - use memcpy instead of strncpy as we are truncating
we mean it here so it's right - use memcpy as its equivalent without
warnings.
2018-11-09 11:44:00 +00:00
Carsten Haitzler 24b345bb53 edje_cc_parse - warn - make buffers bigger to avoid truncation 2018-11-09 11:43:59 +00:00
Carsten Haitzler 832620f8fd eo suit - warn - include ptr indirection not privater to avoid warnings 2018-11-09 11:43:59 +00:00
Carsten Haitzler dd4eb20c75 eldbus tests - warn - fix func structs/arrays to init every field 2018-11-09 11:43:59 +00:00
Carsten Haitzler 7c075c7431 efreet test - use correct free func prototype for desktyp type add 2018-11-09 11:43:59 +00:00
Carsten Haitzler d6b5cdf7a1 elm map - warn - set vars to valueto avoid uninit warning 2018-11-09 11:43:59 +00:00
Carsten Haitzler f08ed1af12 elm map - warn - avoid buffer truncation warnings
make buffers bigger to asvoid truncation to also avoid warnings.
2018-11-09 11:43:59 +00:00
Carsten Haitzler 33ed41f4fd efl net - warn - fix eldbus service struct to fill all fields
no more warnings about uninit fields
2018-11-09 11:43:59 +00:00
Carsten Haitzler 64190277ea eeze test - warn - fix ecore event callback prototypes 2018-11-09 11:43:59 +00:00
Carsten Haitzler 95a538d1f8 ecore con - fix buffer truncate warnign by a bigger buffer 2018-11-09 11:43:59 +00:00
Carsten Haitzler 64975b1e95 eldbus- fix warning by casting through void
so eldbus does silly things like use a cb ptr with a different type of
cb - very explicitly. so it casts but warnigns don't like it and
assume it maybe a bug, so use void *'s so have some silence for this
bit of evil.
2018-11-09 11:43:59 +00:00
Carsten Haitzler 37806b5bf9 ecore wl2 - fix wl protocol listyener to init all struct fields 2018-11-09 11:43:59 +00:00
Carsten Haitzler 0fd2b812cc efl net - fix dbus field init to init all fields in a struct 2018-11-09 11:43:59 +00:00
Carsten Haitzler 11b9f9a4dd evas test - actually use result of add of rect obj for test 2018-11-09 11:43:59 +00:00
Carsten Haitzler c1ad0879a1 meson - add checks/options for mmx, sse3, neon, altivec
so we can build our assembly fast-paths again.... - also clean up the
code a bit to match...
2018-11-09 11:43:59 +00:00
Carsten Haitzler a447bbd489 evas blur filter - fix warnigns about unused labels
if no asm is defined.. then you hit this.
2018-11-09 11:43:59 +00:00
Carsten Haitzler a176524f95 emile test - fix dtata struct init missing initted fields - warn 2018-11-09 11:43:59 +00:00
Carsten Haitzler 603adee731 elm naviframe - fix buffer size handling and strncat
strncat where the size passed is tghe size of the string is pointless.
it is strcat. so chekc before the strcat... and be simpler and honest
2018-11-09 11:43:59 +00:00
Carsten Haitzler 927bd2a656 elm calendar - stop truncation of text printed into buffer 2018-11-09 11:43:59 +00:00
Carsten Haitzler a23f09d590 efl ui calendar - expand buffers so trucnation doesnt happen 2018-11-09 11:43:59 +00:00
Carsten Haitzler aaecb2579a efl ui text -0 fix warns on unused params/vars 2018-11-09 11:43:59 +00:00
Carsten Haitzler 98a23c5660 elm web - fix warn of possibly uninit var
set to a default value...
2018-11-09 11:43:59 +00:00
Carsten Haitzler 309e5a57e1 eio test -0 fix lots of ecore event handler prototypes.... warn
lots of warnigns because the ecore event prototyeps were WRONG. you
must return true/fals if more handlers shoudl handle it or not... not
return nothing... these tests were just broken.
2018-11-09 11:43:59 +00:00
Carsten Haitzler 659473a7bf elm theme - initialize all struct members to null
missing aded struct members...
2018-11-09 11:43:59 +00:00
Carsten Haitzler b15772853c elm test config - ensure buffer does't get overfilled with lots of profs
the "let's use strncpy" brigade of course made sure to use it to "be
secure" and yet still overtflow the buffer... this is a perfect lesson
in DOP NOT USE strncpy unless you carefully think about the code and
get it right. i mean things like:

   strncat(buf, profiles[i], strlen(profiles[i]) + 1);

is blindly using strncpy ... and it's no better than strcpy, but mroe
complex and giving the illusion of "it's safe". pay attention to your
code people. please. thanks.
2018-11-09 11:43:59 +00:00
Carsten Haitzler 6359236420 elm quicklaunch - fix defines to handle no-environ case without warnings 2018-11-09 11:43:59 +00:00
Carsten Haitzler fdde914bac elm quicklaunch - warn - explicitly handle socket length being too long
make socket too long an error. fixes warning.
2018-11-09 11:43:59 +00:00
Carsten Haitzler b8b2253f85 elm prefs cc - warn - use memcpy instead since we are really truncating
fix strncpy warning... and use memcpy as we are explicitly truncating.
we mean it.
2018-11-09 11:43:59 +00:00
Carsten Haitzler 1a782c9318 eolain generation test - handle buffer size limit warnings
expand buffers or handle if they get over-filled and abort as an error.
2018-11-09 11:43:59 +00:00
Carsten Haitzler eae67c02e3 edje test - fix unused return val and actually check its value 2018-11-09 11:43:59 +00:00
Carsten Haitzler 665a75378f xxx - fix eina_future_then calls to pass sotrage val - fix warns 2018-11-09 11:43:59 +00:00
Carsten Haitzler f80b8979ba ecore thread - fix warn - callback prototypes to match correct type
we pass void *'s to these cb's not int's or thread handled (whatever
typt they may be). so cast inside func not use wrong type.
2018-11-09 11:43:59 +00:00
Carsten Haitzler 03a919d6e0 eet data - if xwarning about possibly uninit var 2018-11-09 11:43:59 +00:00
Carsten Haitzler f447bc1316 eina iterator test - warn - fix prototype of cb func to have right params
fix warning. wrong func prototype for cb... ad void *data param at end.
2018-11-09 11:43:59 +00:00
Carsten Haitzler ba372625a9 eina magic debug test - fix xarnings about double-defining
only domagic debug test if magic debug is enabled, otherwise have no
test. fixes warning
2018-11-09 11:43:59 +00:00
Carsten Haitzler b279ff77cc ecore imf modules - check ecore x display state beofre doing x things
using an uninitted x display is not good/useful so ... don't do it.
leads to crashes.
2018-11-09 11:43:59 +00:00
Carsten Haitzler b4f9021e55 eina strbuf tests - fix tests to properly check fail unless conditions
the contiions were wrong - warnings picked it up. fix.
2018-11-09 11:43:59 +00:00
Carsten Haitzler 9fd36d7037 efl check - fix uniit var warning by setting to 0 to start 2018-11-09 11:43:59 +00:00
Carsten Haitzler ce400382d8 eo parser - fix buffer size warning for snprintf truncation
make buffers bigger so it can't be truncated.
2018-11-09 11:43:59 +00:00
Carsten Haitzler 9f63f356fc eolian - fix warnings about strin truncation by expanding buffers
fixes noisy warnings...
2018-11-09 11:43:59 +00:00
Carsten Haitzler 172f6000d6 evas mempool bench - fix warning about unused param
unused in some ifdefs - so make as unused.
2018-11-09 11:43:59 +00:00
Carsten Haitzler e8b9492600 evas list benchmarks - fix warning about if guarding 2018-11-09 11:43:59 +00:00
Carsten Haitzler 98042f98eb eina bench array - fix warning about if case not guarding
fix warning noise... no change in code function though.
2018-11-09 11:43:59 +00:00
Carsten Haitzler e15c663c0a eina inline hash - fix warn about switch case fallthrough
fallthrough is intended so add fallthrough markers to silence warning
2018-11-09 11:43:59 +00:00
Carsten Haitzler ea6edad4fb eina bech - hash - warn - fix type for hash func to have proper types
wrap cityhash with proepr typed hash gen func. fix warning
2018-11-09 11:43:58 +00:00
Carsten Haitzler 0a2c3557cb eina vpath - warning - remove unused variable 2018-11-09 11:43:58 +00:00
Carsten Haitzler 642fe42cfc eina - btlog - fix warnign about uninit struct field
sentinel should fill all members to null.
2018-11-09 11:43:58 +00:00
Carsten Haitzler 2ec2d97356 eina vpath - warning - fix constness of string pointer
fixes bad const usage, butnot an actual bug.
2018-11-09 11:43:58 +00:00
Carsten Haitzler 9a4e25a7a8 eina promise - warning fix - init storage field on return
fix a warning but this actually is a bug with storage being left
uninitialized.
2018-11-09 11:43:58 +00:00
Carsten Haitzler 79c783d16f eina file - fix unused param warning by marking as unused
unsued in some ifdef paths, so mark as such to avouid warning noise
2018-11-09 11:43:58 +00:00
Carsten Haitzler ea9ab2dd5a eina debug - fix buffer truncation warning
make buf the size of the unix socket path to truncate early to avoid
warning
2018-11-09 11:43:58 +00:00
Carsten Haitzler 01139b419d eo - parser - fix warning about truncated strings with snprintf
expand buffer to never truncate.
2018-11-09 11:43:58 +00:00
Carsten Haitzler 07177d540c eina - vpath - silence buffer size truncation warning
add more space in dest buffer to silence warning about possible
truncation by snprintf.
2018-11-09 11:43:58 +00:00
Carsten Haitzler cc9f4b8bd0 eo - parser - fix warning about fallthrough case
goto end with unknown return in possible fallthrough case.
2018-11-09 11:43:58 +00:00
Carsten Haitzler 2017c169e7 eina - fix warnigns of possibly too msall buffers for large numbers
strings would get  truncated thanks to snprintf but make buffers
bigger to avoid warning noise
2018-11-09 11:43:58 +00:00
Carsten Haitzler e7771438a2 evas gl engines - avoid getting context if possible
so getting context at least on some dviers is expensive. it may really
impact cpu usage a lot (in this cate getpid() was being called by the
nouveau drivers and that can be expensive. it is on ARM as it's a full
syscall and 1-2% of cpu time was just getting pid all the time thanks
to this...

@opt
2018-11-09 11:43:58 +00:00
Jaehyun Cho f66414beec elm_theme: Fix to set default style group name correctly
"default" should not be appended to the group name in new EFL interface
theme. e.g. "efl/button"

Therefore, if "default" is given as a style name, then the style name
should be converted to NULL for the group name in new EFL interface
theme.
2018-11-09 17:52:34 +09:00
Jaehyun Cho a2c8330d8f efl_ui_win: Fix to check efl_ui_bg_widget theme version for non-legacy win
Check efl_ui_bg_widget theme version instead of elm_bg for non-legacy
win if win must swallow bg manually or not.
2018-11-09 17:52:29 +09:00
Daniel Hirt e8ed36af10 Canvas layout: fix test for meson builds
Fixes T7456
2018-11-08 11:44:05 +02:00
Marcel Hollerbach 21845a11dd meson: fix hyphen support
there was a missing define for the search directory
2018-11-07 13:41:08 +01:00
Daniel Hirt face90632e Canvas layout: support more Efl.Text.* with efl_part
This adds many Efl.Text.* that are useful for manipulating the
underlying TEXTBLOCK object's propeties using efl_part.

This has been implemented as part of the "user-defined" properties of
the layout part, so that the changes on the part persist across load of
different groups.

Note that text styles have precedence over the TEXTBLOCK (Canvas.Text)
object's properties. if an edc provides a style, the properties it
manipulates as part of the "base:" string would not be affected by this
API.

In general, this helps reducing the amount of styles for objects (or
modes of the same objects) that share the same setup, but are different
in some properties (e.g.  ellipsis, wrap etc).

@feature

Canvas layout: add text part "expand" property

This adds "expansion modes", which are essentially the same as min/max
hints in the edje part's 'description.text' fields.

The user can then customize his widget to different modes without being
forced to create a new edje group in the theme.

Note that there is an added check in case one of the min/max text flags
are provided from the theme. In such case, all flags from this new API
will be ignored.
This fortifies misuse where the flags are set both in theme and the API.

@feature
2018-11-06 18:33:56 +02:00
Daniel Hirt 6285cfe366 Efl text style: remove 'underline2_type' property
This moves the logic to the 'underline_type' property, in which we
define the type.
2018-11-06 18:13:21 +02:00
Daniel Hirt e1fc2ea48f Canvas text: share common style strings in style_set
Style strings will now be implicitly handled and shared by the object.

Also, some of the code was simplified for better readability.

@optimize
2018-11-06 00:54:10 +02:00
Daniel Hirt d50bc7f885 Canvas text: remove old style tag 'replace_len' field
The result isn't used at all, so the field is useless.
Maybe we should use stringshare comparisons.
2018-11-06 00:54:10 +02:00
Daniel Hirt 11ff9d5c70 Ui internal text scroller: fix meson build
This adds missing files to `meson.build`.
2018-11-06 00:41:50 +02:00
Daniel Hirt 1f5c016900 Ui internal text scroller: move .eo.h to internal usage
This fixes the broken `Elementary.h` header.
2018-11-06 00:10:33 +02:00
Daniel Hirt 3f8504c205 Efl selection: remove cancelled promises
This removes the promises in case multiple selection_set are used and
future_cancel were called.
2018-11-05 18:17:43 +02:00
Daniel Hirt 83c7db7283 Ui scroll: fix update scrollbar arrows on pos change 2018-11-05 18:17:43 +02:00
Daniel Hirt 26c1f2477c Ui text: port widget to new interfaces
This is a big rewrite. In addition to implementing functionality with
the new Efl interfaces, a lot of legacy (Elm) code was removed.

A lot of work is squashed in this patch as the widget would've been
completely broken otherwise.

The major changes are:

Life-cycle:
  - Code was split to have 'finalize'
  - Item anchors (emoticons, images) were rewritten to have proper
  life-cycle

Scrolling logic:
  - Efl.Ui.Internal_Text_Scroller widget was added, and replaces the old
  Elm.Interface_Scrollable implementation. Singe-line and multi-line
  modes were fixed as well as sizing calculations. The object is now
  swallowed inside the Ui.Text widget.

Copy and paste:
  - Code was converted to Efl.Selection logic.

Modified tests:
    elementary_test -to "efl.ui.text"
    elementary_test -to "efl.ui.text label"

Added tests:
    elementary_test -to "efl.ui.text inputfield"

Removed test:
    elementary_test -to "efl.ui.text.async"
2018-11-05 18:17:42 +02:00
Daniel Hirt 581fa91a6b Canvas text: emit text,changed event on markup_insert 2018-11-05 18:17:42 +02:00
Daniel Hirt 9903e7d556 Text: add markup_range_get
This allows to retrieve the markup representation of the current text.

@feature
2018-11-05 17:31:06 +02:00
Daniel Hirt 86a8f832ae Ui text scroller: add scroller for internal usage
This class inherits Efl.Ui.Scroller and has its own sizing_eval logic to
handle the text content sizing as needed.

It's kept internal as it only serves Efl.Ui.Text in a scrollable mode.
2018-11-05 17:31:06 +02:00
Daniel Hirt b5c739acae Ui text interactive: swap cursors on cursors_get if needed 2018-11-05 17:31:06 +02:00
Daniel Hirt f172de86d6 Ui text interactive: don't use freeze when using legacy cursor_copy 2018-11-05 17:31:06 +02:00
Daniel Hirt 91a43cc723 Ui text interactive: emit selection,changed on selection changes, not cursor 2018-11-05 17:31:06 +02:00
Daniel Hirt 5b29de0388 Ui text interactive: add select_none
This is intended for Ui.Text to clear the selection on selection loss.
2018-11-05 17:31:06 +02:00
Daniel Hirt 294040c86e Canvas text: don't emit 'cursor,changed' on legacy cursor_copy 2018-11-05 17:31:06 +02:00
Daniel Hirt 2caa38f166 Canvas text: fix line_jump_by logic
Some cases of line_jump_by did not emit "cursor,changed" when it should
have.

@fix
2018-11-05 17:31:06 +02:00
Xavi Artigas edae5021bc efl-mono: Typos in generated code comments
These comments end up in the API reference docs, so typos look bad.
2018-11-05 11:14:37 +01:00
Xavi Artigas 9ffe9a99cb gendoc: Typos in templates 2018-11-05 10:03:21 +01:00
SangHyeon Jade Lee e97b6b72be efl_ui : change efl_ui_view_list to efl_ui_list_view.
Summary:
  View is not a namespace, but an interface,
  So, View_List cannot be under the view namespace for now.
  it looks more suite to be end as View than List on this widget name.
  Firstly, it follows our common naming rules of class.
  Also, List_View is commonly presentable name on most UI frameworks,
  so it is very easy to understand what this widget can do for the user.

Test Plan:
Make works.
           Example is not works for now til stable model interface.

Reviewers: felipealmeida, woohyun, cedric, Hermet

Reviewed By: Hermet

Subscribers: larryolj, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7234
2018-11-05 14:27:05 +09:00
Hermet Park c4e0d3f69d elementary transit: add a new api - elm_transit_progress_value_set()
Summary:
This API sets current time progression of the animation.

It intervenes current progress instantly when it requires
to jump onto a specific frame position.

@feature

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7211
2018-11-05 14:22:58 +09:00
Hermet Park ad567a15a2 elementary transit: fix wrong pausing time calculation.
Summary:
the logic of computation of pausing time was incorrect.
even it didn't take care of revert_mode at all.

delayed time must be subtracted from elapsed time.

@fix

Reviewers: #committers

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7201
2018-11-05 14:22:12 +09:00
Jiyoun Park 98149c4c2b evas_render: fix objects change occured withoout real rendering.
Summary:
: condition of problem
- rectangle object of RECT part(BASE part of below edje)
- mapped
- has clipper and clipper is ed's base clipper.

1. _evas_render_phase1_object_process is called of rect object
if rect is mapped, not changed, it call _evas_render_phase1_object_mapped.

2. _evas_render_phase1_object_mapped
when _evas_render_phase1_object_mapped is called,
condition is
src_changed=0 , is_active=0 , obj_changed=0
hmap=0 => because map of this object is only enabled once and not changed.

in this case, rect object's clipper always changed and it cause useless randering

so only call _evas_render_phase1_object_map_clipper_fix when obj is changed.
first time of map set, evas object always be changed, so it maybe ok we call clipper_fix only obj is chaned.

below is sample of edj.

group { name: "elm/notify/center/default";

   parts {
      part { name: "anim_start";
             scale: 1;
             type: SPACER;
             description {
..
              perspective {
                             zplane: -100;
                             focal: 1000;
                          }
                   }
        }
          part { name: "anim_stop";
             scale: 1;
             type: SPACER;
             description {
..
             perspective {
                             zplane: 0;
                             focal: 1000;
                          }
                   }
        }
      part { name: "base";
             scale: 1;
         type: RECT;
         description { state: "default" 0.0;
..
            map {
                on: 1;
                perspective_on: 1;
                perspective: "anim_stop";
           }
         }
      }

Reviewers: raster, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7219
2018-11-05 14:20:42 +09:00
Daniel Zaoui 84f82be847 Slider: fix callback invocation
Summary:
efl_event_callback_legacy_call already invokes legacy and non-legacy
callbacks. Therefore, there is no reason to call
efl_event_callback_call as well.

Reviewers: eagleeye, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7237
2018-11-05 14:03:15 +09:00
Daniel Kolesa 82688c5ece eolian: expose API to retrieve the class of an event
This information has been stored and used in Eolian until now
but not exposed to the API user. While there are roundabout ways
to retrieve the class for an event, this one is direct and costs
us nothing.
2018-11-04 18:32:05 +01:00
Daniel Kolesa d0c96539f2 eolian: add eolian_implement_implementing_class_get
This will make it easier for generators and utilities to retrieve
the class that implemented a method/property/etc rather than the
class the implement was originally defined for. Thanks to this
it will no longer be necessary to carry the class pointer around
the place.
2018-11-04 16:12:53 +01:00
Vincent Torri 01c756a851 evas - generic loaders - use eina properly so windows build works 2018-11-02 13:54:40 +00:00
Marcel Hollerbach 4dfaf5729e codegen: ensure we include the filename and not the path
this mirrors the behaviour of eolian & eolian_cxx. Usally a generator
just generates the files side by side, the directory then needs to be
included anyways. thus adding the include with another subdirectory is
unusal.

Differential Revision: https://phab.enlightenment.org/D7235
2018-11-02 12:43:26 +01:00
Marcel Hollerbach 79a5ff6e1e elm_toolbar: fix prio.visible
prio.visible is ignored in case of SHRINK_EXPAND is used. every single
item is just stuffed into a box. Thus in case that the *more flag
indicates that another box is displayed (rather than not fitting items),
then we do not set the visibility flag on the item - as the item is used
anyways.

ref T6806.

Differential Revision: https://phab.enlightenment.org/D7185
2018-11-02 02:22:34 +01:00
Marcel Hollerbach 17b57ba5ac efl_ui_focus_manager: rename a event
In eo there is a difference between legacy events and normal events.
However, when a legacy event, that is called "focused" is emitted, the
event EFL_UI_FOCUS_MANAGER_FOCUSED is emitted on those objects. This
leads to bugs and unexpected results in elm_scroller, and additionally
this problem blocks work that is done right now to add those "focused"
event calls to gengrid.

Differential Revision: https://phab.enlightenment.org/D7099
2018-11-02 02:22:13 +01:00
Daniel Zaoui 1b85d7d12f Elm_Code: check pointer nullity before using it 2018-11-01 23:09:32 +02:00
Marcel Hollerbach 2579733515 meson: allow setting of custom pc variables
this brings the theme directory to the elementary .pc file.

Differential Revision: https://phab.enlightenment.org/D7224
2018-10-31 18:26:24 +01:00
Vincent Torri 41f7ae6e49 emile - fix windows build
use evil and fix libjpeg boolean re-def.
2018-10-31 14:12:44 +00:00
Marcel Hollerbach 47e6bbb397 evas - fix pending object set tracking to not multi-add the same object
flag if obj in pending array and don't add if already there. fixes
run-away slowness in rendering in some cases
2018-10-31 11:43:55 +00:00
Carsten Haitzler 014bbb888e Revert "build - meson - fix build when legacy is still enabled and gen the code"
This reverts commit 9aeedc5a1c.
2018-10-31 09:42:34 +00:00
Felipe Magno de Almeida 1933735635 eolian: Add @ctor_param parameter to constructors
Summary:
This tagging keyword explicitly asks, for bindings that support it,
that the constructor's parameters are added to the class constructor.

Allowing the user to instantiate the class and call the constructor in
a straightforward way.

Reviewers: q66, woohyun, bu5hm4n, Jaehyun_Cho, segfaultxavi

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers, lauromoura

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7221
2018-10-31 02:47:58 +01:00
Carsten Haitzler 2098f55ba2 evas - remove excess data scope lookup during render when getting changed
getting smart changed meant another scope data get when we already had
the protected data in the caller. don't do that and just pass down.
saves a lot of overhead...

@optimize
2018-10-26 15:35:00 +01:00