Commit Graph

60483 Commits

Author SHA1 Message Date
Lauro Moura 95069a3038 meson: Enable dev flags for cpp
Had to add a pragma around CityHash64 to make it work with
-f-visibility=hidden

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7466
2018-12-17 16:38:40 +01:00
Hermet Park 3f17b4f054 evas vg: remove redundant function code. 2018-12-17 19:59:29 +09:00
Jaehyun Cho 01864e166b eolian_mono: use System.Type explicitly
Previously, "Type" was used with "using System".
However, it caused ambiguity if some classes had "Type" property.

Therefore, "System.Type" is used explicitly to remove ambiguity.
2018-12-17 19:38:45 +09:00
Marcel Hollerbach 27e5e8fa75 elm_gengrid: improve genlist behaviour
the new behaviour is (as genlist in the previous commit):
- focus the first item when down is pressed
- focus the last item when up is pressed
- do not go into the widget with tab or ctrl+tab and just return
immidiantly

fixes T6805

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7454
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 5e0a602ee8 elm_widget_item_static_focus: fix ERR prints
There is the case that the deletion of the adapter can cause another
registeration, which then calls another time prepare, which then deletes
the adapter, before the actaul deletion of the first efl_del happened,
which means it will throw an error. To avoid this we track if we are in
process of a unrealization, and if so, do not delete the item there.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7453
2018-12-17 09:12:22 +01:00
Marcel Hollerbach e779492a1c elm_genlist: behaviour fixes for genlist
This implements the behaviour in case no item is yet focused, but the
genlist is focused.

ref T6805

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7452
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 6922761f3f elm_gen****: fix focus restoring on window focus changes
this ensures that if there is no focused item, that at least the
container is focused. This leads to the fact that the elm_genlist
/elm_gengrid is refocused when a window is unfocused and focused again.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7451
2018-12-17 09:12:22 +01:00
Marcel Hollerbach ef874d5b59 efl_ui_focus_manager: performance optimize order setting
setting the order is a little bit expensive, this performance optimizes
order setting in the focus manager.  We don't need to set the order each
time something is registered, it is enough to set it once we need the
correct order.

We don't need to evalulate the state in the Manager_Root_Focus if the
rect is not registered. If its not, then another new element cannot
cause the rect to be registered.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7450
2018-12-17 09:12:22 +01:00
Yeongjong Lee d840a64550 elm-test: add a test for checking the focus_next_object_set
The object which is set by elm_object_focus_next_object_set should be considered
first when focus moved.

ref T7389

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7310
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 2df601d589 elm_focus: implement legacy targets for logical widgets
they are now handled. The list of parents is walked until a possible
candidate is found or the parent chain is the same then in the next
focused element.

fix T7389

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7404
2018-12-17 09:12:22 +01:00
Marcel Hollerbach dfc9cd8a67 elm_focus: implement elm_object_focus_next_item_set / get
you can use this now to let the focus move to the widget container of
the passed item.

I know this patch contains a whitespace change, but i have to get out
this whitespace each & every time i am editing the file - which is
annoying. So remove it once, which makes further work easier.

fixes T6183.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7408
2018-12-17 09:12:22 +01:00
Marcel Hollerbach 2d4f25fb32 elm_config: fix valgrind warnings
buf is only initializied, if on_flush is true.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7449
2018-12-17 09:11:19 +01:00
Marcel Hollerbach 28f155a5c6 build: add warnings and compiler flags to meson
this moves meson and autotools closer to each other. The flags are
selected in order to keep the amount of warnings low.

Differential Revision: https://phab.enlightenment.org/D7429
2018-12-17 09:11:18 +01:00
Carsten Haitzler 0d2b624f1e evas gl - make GLintptr etc. also ndefed for GL_VERSION_1_5 fix typedef
It seems that GL_VERSION_1_5 define == these provided by gl already. At
least reading the mesa headers I do, so this should fix T7502

@fix
2018-12-15 16:19:01 +00:00
Lauro Moura 9603cc07eb efl-mono: Fix call of virtual methods after new API
Summary:
After the new API, the virtual wrapper classes (*NativeInherit) just
declared the wrappers for the current class. But as they didn't have any
inheritance information, reimplementing methods from a parent Eo class
wouldn't work. (e.g. Efl.Ui.Button reimplementing Efl.Object
FinalizeAdd).

This commit changes these NativeInherit classes to mimic the inheritance
chain of their regular/abstract counterparts, reusing the virtual
wrapper implementations.

In order to access the correct Eo class created, the methods on it were
changed from static to instance methods. The instance will be held as a
class member of the regular/abstract API class to keep the delegates
alive and allow getting C Function pointers from them.

The class_initializer method was also split in two. The method
collecting the wrapper delegates was extracted in order to call the
parent ones.

Also avoid exception in cached strings queries as TryGetValue requires
non-null keys.

Test Plan: Run test suite.

Reviewers: vitor.sousa, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7460
2018-12-14 20:47:46 -02:00
Lauro Moura dd5c230353 eolian-cxx: Add parent/extensions information to klass_def
Summary: Following new Eolian api.

Test Plan: Run newly added test

Reviewers: vitor.sousa, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7459
2018-12-14 19:45:44 -02:00
Lauro Moura a83c3cdba4 eolian_mono: Add support for C# style properties
Summary: Syntatic sugar around the Get/Set functions for now.

Test Plan: Run efl-mono-suite

Reviewers: vitor.sousa, segfaultxavi, felipealmeida, Jaehyun_Cho

Reviewed By: vitor.sousa

Subscribers: cedric

Tags: #efl_language_bindings

Differential Revision: https://phab.enlightenment.org/D7394
2018-12-14 18:30:59 -02:00
Derek Foreman 0611dbc1e9 efl_ui_win: Don't allow the frame object to change size before first draw
This fixes a bug where calling:

evas_object_show(win);
evas_object_resize(win, 400, 400);
elm_run();

Would show a much smaller than 400,400 window on wayland, as the CSD
calcs would set the size smaller.

It also fixes some differences in startup size between X and wayland for
some trivial test clients.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7438
2018-12-14 13:42:14 -06:00
Derek Foreman aab08fb6a8 evas_render: Ignore objects on planes for rendering
We want to pretend they're just not there at this point since the
hardware is responsible for drawing them.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7198
2018-12-14 13:30:21 -06:00
Derek Foreman c90826f72c ecore_wl2: Fix anchor for xdg pop-ups
Anchors are in window geometry, so we should be using 0,0 instead
of the parent x,y for the top left corner of the window.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7436
2018-12-14 10:29:59 -06:00
Derek Foreman 12af5537c5 ee_wayland: Use object geometry instead of window geometry
wayland window geometry isn't currently being handled properly, but the
ecore_evas geometry should be correct and coherent.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7435
2018-12-14 10:29:58 -06:00
Derek Foreman 1139cde9a6 ecore_evas: Validate shadow geometry
Negative values in shadow geometry make no sense at all, however it's
happening all the time in wayland.  Let's throw an ERR so it doesn't go
unnoticed.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7434
2018-12-14 10:29:56 -06:00
Derek Foreman 70b16099a9 gl_drm: use dlsym looked up symbol for extension check
We looked this up with dlsym, so I guess we should use that even though
the direct call seems to work just fine most of the time.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7433
2018-12-14 10:29:55 -06:00
Derek Foreman 56f7097e17 ee_wayland: Replace set_config.geometry direct use with getters
I'm going to deal with some ugly geometry problems in the getter func
shortly.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7432
2018-12-14 10:29:54 -06:00
Derek Foreman f53c7341c3 ecore_wl2: Replace direct usage of set_config.geometry with getters
I'm going to deal with some ugly geometry problems in the getter func
shortly.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7431
2018-12-14 10:29:53 -06:00
Derek Foreman b32e5da641 ecore_wl2: remove uniconify path from ecore_wl2_window_iconified_set
Wayland shells have no way to unset iconified state.  What this code
did was corrupt current window state in potentially fatal ways.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7430
2018-12-14 10:29:52 -06:00
Derek Foreman 21726e05fc evas_render: Ensure proper rendering when objects are on planes
If only objects on planes change, we don't see any damage for the main
buffer, so a page flip never occurs and the plane doesn't update.  For
now forcing a tiny damage area is the easy way to work around this.

Also force a pixels get callback for enlightenment's surface frame
callback tracking.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7196
2018-12-14 09:52:09 -06:00
Derek Foreman 706f377edd evas_render: Render missing bits when plane state changes
When we move an object into or off of a plane, we need the scene to be
rendered as if the object wasn't there.  This adds apprpopriate damage
to make that happen.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7195
2018-12-14 09:52:07 -06:00
Derek Foreman 95dce74b85 evas_render: Move plane setup code
Put this at the start of render so we can remove stuff on planes from
the scene graph entirely.  This stops us from drawing the entire object
underneat the plane.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7194
2018-12-14 09:52:06 -06:00
Derek Foreman 9362bc9bb2 evas_render: Refactor plane code
It's just tidier this way.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7193
2018-12-14 09:52:04 -06:00
Derek Foreman ac065749a6 evas_object: Add function to test if hardware plane status changed
This is used to check if an object has been put on or removed from a
hardware plane between calls.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7192
2018-12-14 09:52:03 -06:00
Derek Foreman 73e5bb84a1 evas_object: Add function to test if an object is on a hardware plane
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7190
2018-12-14 09:52:01 -06:00
Daniel Kolesa 6e11153ef7 meson: fix build on power/ppc targets with altivec enabled 2018-12-14 11:18:15 +01:00
Carsten Haitzler 10819b4ea5 meson - systemd - fix check to systemd209+ checks that were not done
autofoo did these and set defines code relied on. meson did not. this
fixes that and makes meson do the same checks with the same defines.
2018-12-08 04:47:06 +00:00
Carsten Haitzler 3a075988e4 evas cpu - just rely on eina cpu entirely to avboid feature dups
so evas cpu used to be the thing then eina cpu came and did the same
and evas cpu optionalyl could lsit on top... just move it all to eina
cpu so one central place does this and evas_cpu is purely a compat
wrapper.
2018-12-08 04:46:03 +00:00
Leonardo Loch 55854e9582 elementery: fix mouse selection of items in efl.ui.list_view 2018-12-07 14:01:13 -02:00
Marcel Hollerbach 9c1d2fe62f build: draw is using functions from rg_etc
this means when you use draw you should automatically drag in rg_etc.

This fixes a build problem reported on irc.
2018-12-07 15:01:21 +01:00
Cedric BAIL 5e440beb71 ecore_con: no need for a long timeout when we know the test is supposed to timeout.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7422
2018-12-07 14:30:35 +01:00
Cedric BAIL 2bc28da2e3 eo: fix efl_future_then example.
Summary: Depends on D7393

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7472

Differential Revision: https://phab.enlightenment.org/D7423
2018-12-07 13:32:12 +01:00
Cedric BAIL 524c05d825 ecore: add a full test for efl_future_then and efl_future_chain.
Summary: Depends on D7392

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: bu5hm4n, segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7472

Differential Revision: https://phab.enlightenment.org/D7393
2018-12-07 13:20:56 +01:00
Marcel Hollerbach 500a36ba3d meson: add inital support for windows compilation
Differential Revision: https://phab.enlightenment.org/D7416
2018-12-07 13:05:31 +01:00
Marcel Hollerbach 79ded15ad3 meson: enable cross compiling
the inital work for this commit was coming from `Mark van der Putten`.
In order to not have more options for this, the idea came up to use
mesons autodetection using PATH.

If a cross file is specified, the binaries are used from the system,
rather than from the intree. (Which means --cross-file has the
dependency of efl on the buildsystem)

Differential Revision: https://phab.enlightenment.org/D7415
2018-12-07 13:05:31 +01:00
Cedric BAIL 4a196b99d5 ecore: fix typo in comments.
Summary: Depends on D7391

Reviewers: bu5hm4n, segfaultxavi, kimcinoo

Reviewed By: kimcinoo

Subscribers: kimcinoo, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7472

Differential Revision: https://phab.enlightenment.org/D7392
2018-12-07 12:56:21 +01:00
Cedric BAIL ca54d6df84 ecore: add efl_app_test to the meson build and run the test.
Summary: Depends on D7390

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7472

Differential Revision: https://phab.enlightenment.org/D7391
2018-12-07 12:53:40 +01:00
Cedric BAIL e9eba74137 ecore: efl_app_suite doesn't need to depends on Efl_Net.
Summary: Depends on D7381

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7472

Differential Revision: https://phab.enlightenment.org/D7390
2018-12-07 12:45:39 +01:00
Cedric BAIL 6b22e6e33d ecore: use efl_future_then to simplify the code logic and reduce potential bugs.
Summary: Depends on D7380

Reviewers: segfaultxavi, felipealmeida, SanghyeonLee, vitor.sousa, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: barbieri, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7472

Differential Revision: https://phab.enlightenment.org/D7381
2018-12-07 12:42:31 +01:00
Stefan Schmidt 4aeb3e20c9 autotools: evil: add needed -lmsvcr100 library flag for _create/_free_locale()
Since commit 33b8e5157a we need these two
new symbols on our windows cross build. At least on my mingw system they
are not showing up by default and I need to ensure we are linking
against msvcr100 to get them or I get undefined references during
linking.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7428
2018-12-07 12:39:37 +01:00
Stefan Schmidt 6206e7e944 ci: mingw: enable various build options with dependencies now satisfied
After some fixes and updates in ewpi we now have gstreamer, libtiff and
bullet ready as cross compiled dependencies. Time to enable them in the
build.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7378
2018-12-07 12:39:36 +01:00
Stefan Schmidt 8e9f773f04 travis: re-enable mingw build with newer eolian_gen for bootstrap
The docker image now contains a native efl build as bootstrap for doing
the mingw cross-build. Paths to the generator binaries have been
update. We also switched to using a dedicated Fedora28-mingw docker
image for now to have a more stable environment for now.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7377
2018-12-07 12:39:35 +01:00
Cedric BAIL 436c5b8523 ecore: remove unecessary intermediate variable.
Summary: Depends on D7379

Reviewers: felipealmeida, segfaultxavi, vitor.sousa, SanghyeonLee, bu5hm4n

Reviewed By: segfaultxavi, vitor.sousa

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7472

Differential Revision: https://phab.enlightenment.org/D7380
2018-12-07 12:28:00 +01:00