Commit Graph

22733 Commits

Author SHA1 Message Date
Jean-Philippe Andre 4e055db429 cnp: Use EO types to define legacy types
They are the same.
Ref T5329
2018-01-18 16:20:52 +09:00
Jean-Philippe Andre eb10b6eb25 win: Avoid a warning
I still hate those types.
warning: case value not in enumerated type 'Efl_Ui_Win_Type' [-Wswitch]
2018-01-18 16:20:52 +09:00
Amitesh Singh 7d68a89ef3 examples: evas vg: fix the compilation of vg batman 2018-01-18 15:19:53 +09:00
Jean-Philippe Andre 934f23c9be win: Remove unusable type "dnd"
Override mode is not available in the unified api. That's because you
can't do it in Wayland.

I still think those types are stupid and should all die: Win subclasses
handle them for you. Odd types can't be used anyway.

Ref T5322
2018-01-18 14:20:49 +09:00
Jean-Philippe Andre 50e0099ceb ui.list: Fix shadow variable warnings
node2 didn't conflict, just making it consistent with nodedata2
2018-01-18 14:13:05 +09:00
Jean-Philippe Andre 50a082cab9 win: Remove "ioerr" event
Unless it's implemented for Wayland as well, AND provides more
information than a NULL event_info, I see no point in this being an EO
event. Keep legacy as-is: a smart callback only.

Also, minor cleanups to the EO file.

Ref T5322
2018-01-18 14:06:45 +09:00
Jean-Philippe Andre 8abf43b373 edje: Return "" as state for invalid parts
Instead of "default". This is consistent with legacy, and allows for
some kind of error checking. Not returning NULL helps avoiding crashes.
2018-01-18 13:57:31 +09:00
Mike Blumenkrantz 4d32334f21 Revert "efl wl - fix segv where garbage ptr to comp surface is still there"
This reverts commit 574ef9a5e5.

this should be resolved by 863a6e159e99c5f69ecc7461106aba2102f1da11 and is
only a possible case when an unmapped surface was activated, something which
is prevented by spec and can only occur if bugs exist elsewhere
2018-01-17 17:33:23 -05:00
Mike Blumenkrantz b48781aa6c wayland: always flush client display when protocol sends are pending
in the case where a connection was not actively rendering, there was nothing
which would trigger a display flush, leading to applications potentially
deadlocking

@fix
2018-01-17 17:06:13 -05:00
Mike Blumenkrantz 4fb807dd20 efl-wl: only perform mouse-out operations for a seat if the mouse was "in"
this could lead to cases where the original application's cursor was permanently
lost

@fix

 #TheDisappointer
2018-01-17 17:04:20 -05:00
Mike Blumenkrantz 9ccf88e326 efl-wl: ensure parent surface is mapped before attempting to revert activation 2018-01-17 17:03:48 -05:00
Mike Blumenkrantz beb430a00b efl-wl: immediately unset a destroyed surface's cursor
@fix
2018-01-17 17:01:01 -05:00
Mike Blumenkrantz c13ae0a630 efl-wl: enforce xdg-shell spec requiring a commit to an unmapped surface
a separate commit is required for a newly-unmapped surface in order for
the surface to be able to attach a buffer and be mapped
2018-01-17 16:55:35 -05:00
Mike Blumenkrantz 02af7e8210 efl-wl: only send keyboard enter and activation for mapped surfaces
setting active for unmapped surfaces bypasses the expected path for
unsetting activate during surface unmap if the surface is destroyed
while active and unmapped

@fix
2018-01-17 16:52:34 -05:00
Mike Blumenkrantz f6d045ea8d efl-wl: remove some broken logic for activating toplevel parents
parents of parents should not be marked as activated...probably

@fix
2018-01-17 16:42:31 -05:00
Mike Blumenkrantz 11a9ed301d efl-wl: set event ON_HOLD flag when they are sent to a surface
use a flag to indicate when processed events have been internally processed

@fix
2018-01-17 16:41:41 -05:00
Mike Blumenkrantz b7eba8af7b efl-wl: propagate surface activation back to parent if child is hidden
a toplevel child will always be stacked right above its parent

@fix
2018-01-17 16:39:44 -05:00
Mike Blumenkrantz 45191ff294 efl-wl: send more mouse buttons to clients
@fix
2018-01-17 16:39:44 -05:00
Mike Blumenkrantz 742e20a002 efl-wl: split case for toplevel vs popup during surface hide activate propagation
this should have no functional differences due to spec, but make sure it reads
more clearly
2018-01-17 16:39:44 -05:00
Carsten Haitzler 20605953f5 Revert "efl loop - provide efl namespace versions of begin/end locks on mainloop"
This reverts commit 76b837002e.

seems no one wants efl api's for this
2018-01-17 21:30:49 +09:00
Jaehyun Cho 119c41d7f2 elm_test: Fix to call efl_add with parent
To trace back to the main loop, call efl_add with parent.
(See https://phab.enlightenment.org/T6573)
2018-01-17 18:58:30 +09:00
Carsten Haitzler b461830e64 elput - fix crash on shutdown where input.lib was NULL
this was null checked everywhere except in 1 place. fix. now more
crash on shutdown now
2018-01-17 18:14:51 +09:00
Vincent Torri 910f318ad9 examples: Simplify & fix thread example
This fixes the example for Windows, where apparently it ran into a lot
of errors with spinlock. Note that on Linux we have such errors too
(both before and after the patch):
EINA ERROR: 'Invalid argument' on lock 0x7ffd218af410
EINA ERROR: 'Invalid argument' on unlock 0x7ffd218af410

Patch by @vtorri
2018-01-17 17:37:03 +09:00
Jean-Philippe Andre 1a39e2d429 glview: Remove trailing newline in ERR
It's not needed.
2018-01-17 15:23:52 +09:00
Jean-Philippe Andre 24447641d3 evas gl: Properly verify that Evas GL works
For SW engine we need to verify that OSMesa is present. The patch
fb048e7312 broke the logic.

Tested by temporarily removing OSMesa from my system.

Fixes T6617 (again)
2018-01-17 15:22:46 +09:00
subhransu mohanty 2a31883f5a efl/vg: Refactor the svg path handling and interpolation.
Summary:
This patch is taken from the tizen branch

1. Take care when the locale is different than POSIX.
See: strtod, strtol

2. Interpolate  all the property of a shape.

Reviewers: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5740
2018-01-17 14:54:18 +09:00
Jean-Philippe Andre 7cef580f11 win: Fix standard window bg with custom themes
Ref T6579
See also D5740
2018-01-17 14:18:25 +09:00
Jean-Philippe Andre 421217b150 Revert "elm: disable interface theme loading"
This reverts commit 3d07b90461.

Some commits should address the issues mentioned in T6579
  959571b995
  fe346d2ee2

But to be honest I am still not sure exactly what the issue was?

Ref T6579
2018-01-17 14:18:17 +09:00
Jean-Philippe Andre 6a8816b50c Revert "warning remove - comment out unused vars"
This reverts commit bbac253f11.
2018-01-17 14:03:09 +09:00
Sungtaek Hong 959571b995 elm_tooltip: set theme group to NULL
Summary:
Even though elm_tooltip does not support EO API, for now,
Efl.Ui.Widget will support elm_tooltip-like feature.
This change group name compatible with new group name policy.

Reviewers: jpeg, woohyun, herdsman, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5739
2018-01-17 13:49:49 +09:00
Sungtaek Hong fe346d2ee2 elm_datetime: use legacy elm_button
Summary:
elm_datetime and Efl.Ui.Clock uses same module: clock_input_ctxpopup.
The module creates internal field object.
Use legay button for field object until Efl.Clock and datetime module
policy is fixed.

Reviewers: jpeg, CHAN, woohyun

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5725
2018-01-17 13:49:49 +09:00
Jean-Philippe Andre 1375705168 panes: Expose parts in EO file 2018-01-17 13:49:49 +09:00
Myoungwoon Roy, Kim ecaec8b0af docs: Fix wrong doxygen expressions.
Summary: This patch fixes wrong doxygen expressions in elm_box legacy API reference doxygen.

Test Plan: documentation

Reviewers: cedric, raster, jpeg, stefan, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5743
2018-01-17 13:22:56 +09:00
YeongJong Lee 2bad31bdc4 efl_animation: fix typo
Test Plan: make

Reviewers: Jaehyun_Cho

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5746
2018-01-17 12:51:31 +09:00
Thiep Ha e625c9b830 selection: delete callbacks when the manager is deleted
If the selection manager is deleted before the drop objects
are deleted, we need to remove callbacks in its destructor.

Thank @herdsman for reporting this.
2018-01-17 09:25:57 +09:00
Mike Blumenkrantz 17b0db9ed3 efl-wl: add lots of null checks to egl init
ref T6617
2018-01-16 18:38:25 -05:00
Marcel Hollerbach 5b64079ee9 efl_ui_focus_manager: fix infinit loop in enlightenment wizard
we unsetted and setted focus_manager once too often, so we ended up in a
infinite loop. This should be fixed now. Sorry Derek!
2018-01-16 23:22:01 +01:00
Yeongjong Lee 210db8fc5d efl_ui_focus: merge efl_ui_focus_user and efl_ui_focus_object into one mixin
Summary:
focus_user and focus_object are similar classes. by merging them into
one mixin, we can maintain consistency.

Test Plan: make check

Reviewers: bu5hm4n

Subscribers: cedric, Jaehyun_Cho, woohyun, jpeg

Differential Revision: https://phab.enlightenment.org/D5734
2018-01-16 22:39:13 +01:00
Davide Andreoli 9160bfe901 Pyolian: fix and tests for recent changes
q66: please leave the pyolian updating work to me,
it's harder for me to fix wrong stuff instead of just
implement myself ;)
2018-01-16 20:53:20 +01:00
Cedric BAIL 1af649d57b eina: make updating rectangle cache thread safe. 2018-01-16 09:54:04 -08:00
Daniel Kolesa d47610a732 eolian: do not require unit when stringifying types
As it is no longer necessary to pass unit when evaluating exprs,
it is not necessary to pass it here either. Convert all the APIs
to the new style and update all instances in our tree.
2018-01-16 16:39:05 +01:00
Daniel Kolesa dd2e579fec eolian: do not require unit for expr eval APIs
The necessary information is now stored directly in the expr
during database validation.

Also enable expr validation for params.
2018-01-16 16:37:52 +01:00
Daniel Kolesa b70604d018 eolian: cache enum expr in the database 2018-01-16 16:37:52 +01:00
Daniel Kolesa 29a9b9ad44 eolian: expose _eval_type to internals 2018-01-16 16:37:52 +01:00
Jean-Philippe Andre 5555726fef examples: Show off usage of "background" part
See bg_cxx_example_01
2018-01-16 22:04:55 +09:00
Jean-Philippe Andre ccf90aa0e4 widget: Expose "background" part (for bindings) 2018-01-16 22:04:55 +09:00
Jean-Philippe Andre 854cce329a cxx: Remove elm_widget.h from Elementary.hh
It's internal.
2018-01-16 22:04:55 +09:00
Jean-Philippe Andre 2686742587 selection: Fix two remaining warnings 2018-01-16 22:04:55 +09:00
Jean-Philippe Andre f1dd333e81 animation: Fix some warnings including a real one
Real issue here:

.../efl_animation_group.c:120:40: warning: for loop has empty body [-Wempty-body]
   EINA_LIST_FREE(pd->animations, anim);
2018-01-16 22:04:55 +09:00
Sungtaek Hong 588995da31 efl_playable: split Efl.Player interface to Efl.Playable interface
Summary:
Efl.Player interface simply provides play functions,
but another interface which indicates Efl.Player will play is also
needed.

Test Plan: Run elementary_test->Efl.Animation tests

Reviewers: woohyun, conr2d, Jaehyun_Cho, jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5662
2018-01-16 22:04:55 +09:00
Amitesh Singh 1da72770f3 Efl.Ui.Progressbar: Add Efl.Ui.Translatable/Markable too.
it was missed in previous patch.
2018-01-16 20:35:56 +09:00
Amitesh Singh 4e3d71ef22 Efl.Ui.Progressbar: Add missing Efl.Text/Content 2018-01-16 20:15:10 +09:00
Jean-Philippe Andre dd2f450ea7 eo: Fix make check
The cache had a generation count, removing this check breaks eo suite.
EO is designed to tolerate init/shutdown cycles (as long as
dlopen/dlclose isn't involved).

Note: the ugly goto are useless as GCC -O2 understands EINA_(UN)LIKELY
and deals with it as expected (just look at the asm produced).

See 34d9f20706
2018-01-16 19:50:52 +09:00
Jean-Philippe Andre 8b4abdcd0e eo: Remove unused goto label 2018-01-16 19:35:54 +09:00
Jean-Philippe Andre df1900b9bd edje: Add beta event when an invalid part is used
This can be used for debugging, by listening to
  EFL_LAYOUT_EVENT_PART_INVALID

Or just use
  EINA_LOG_LEVELS=edje:2
if you just need the logs.
2018-01-16 19:35:54 +09:00
Jean-Philippe Andre eb9f35bcb9 panes: Fix invalid part name in layout recalc 2018-01-16 19:35:54 +09:00
Jean-Philippe Andre e592a0ab5b code widget: Fix order of operations
super functions, when creating stuff, should be called first.
2018-01-16 19:35:54 +09:00
Jean-Philippe Andre 001fa5af11 edje: add invalid part handler 2018-01-16 19:35:54 +09:00
Jean-Philippe Andre a92186be6a ecore/edje/elm: Fix a few WRN from calls to NULL
This fixes some of the warnings generated by calling functions on NULL
objects. One of the main remaining points is to avoid unwanted warnings
on non-existing parts.

Ref T6326
2018-01-16 18:37:05 +09:00
Jean-Philippe Andre f2b5b00ca2 eo: Warn on calls to NULL object
This makes eo print a WRN message in case a function is called on NULL.
efl_del is an exception to this rule (implemented in a hackish way, I
admit). I don't know any language or object model where using a null
object doesn't result in an exception or crash, except EO. In any case,
calls to null are invalid.

The next commits will resolve most warnings for EFL.

Ref T6326
2018-01-16 18:37:05 +09:00
Jean-Philippe Andre f47f8dcf82 evas: Remove stupid warning 2018-01-16 18:37:04 +09:00
Jean-Philippe Andre 9e2f2970b8 edje: Add property "part_exist"
This allows to safely verify if a part exists, without triggering any
potential call to NULL object, or even requiring the efl_part() handle
to be created.

This is perfectly equivalent to edje_object_part_exists(), but
implemented by both edje object and elm layout.
2018-01-16 18:37:04 +09:00
Jean-Philippe Andre d133336399 selection: Disable debug logs
selection's namespacing still requires some love
2018-01-16 18:36:47 +09:00
Carsten Haitzler 4800ce4635 elm genlist test - don't overflow test time nanoseconds if system slow
with a long enough test or slow enough machine these do overflow so
force everything to unsigned long long's for genlist test performance
measuring.
2018-01-16 17:50:46 +09:00
Jean Guyomarc'h 34d9f20706 eina: remove usless newline
Summary:
ecore_evas: remove debug

eina: unregister log level when done with

Fixes a constant memory leak.

eina: introduce EINA_HOT and EINA_COLD

These attributes respectivelly expand to __attribute__ ((hot)) and
__attribute__ ((cold)) when available. They allow to mark functions are
being hot/cold (frequently used or not) as well as to qualify labels
within a function (likely/unlikely branches).

eo: speed-up generated calls by removing call cache

The call cache needed to by thread-local, to avoid concurrency issues.
Problem with TLS is that is adds an extra overhead, which appears to be
greater than the optimization the cache provides.

Op is naturally atomic, because it is an unsigned integer. As such, it
cannot be tempered with while another thread is reading it. When
entering the generated function, the first operation done is reading
'op'. If we have concurrency, we will have access sequences returning
either EFL_NOOP or a VALID op, because 'op' is not set until the very
end of the function, when everything has been computed. As such, we now
use the 'op' atomic integer to instore a lock-free/wait-free mechanism,
which allows to drop the TLS nature of the cache, speeding up the access
to the cache, and therefore making functions execute faster.

We don't test anymore the generation count. This can be put as a
limitation. If means that if you call efl_object_shutdown() and
re-initialize it later with different data, opcodes will be invalid.
I am not sure there is any usecase for this to ever happen.
We could move all the caches in a dedicated section, that can be
overwritten after a call to efl_object_shutdown(), but I am not sure it
will be very portable.

Benchmark: mean over 3 executions of
   ELM_TEST_AUTOBOUNCE=100 time elementary_test -to genlist

```
                     BEFORE               AFTER
------------------------------------------------------------
time (ns)            11114111647.0        9147676220.0
frames               2872.3333333333335   2904.6666666666665
time per frame (ns)  3869364.6666666665   3149535.3333333335
user time (s)        11.096666666666666   9.22
cpu (%)              22.666666666666668   18.333333333333332
```

Ref T6580

Reviewers: raster, cedric

Subscribers: cedric, jpeg

Maniphest Tasks: T6580

Differential Revision: https://phab.enlightenment.org/D5738
2018-01-16 17:50:46 +09:00
Carsten Haitzler 574ef9a5e5 efl wl - fix segv where garbage ptr to comp surface is still there
comp surface destruction doesnt clear the pointer to one in the comp
struct that then is garbage later. fix.
2018-01-16 17:49:52 +09:00
Thiep Ha 07e7bbd4b5 selection_dnd: fix warnings in clang
Fix warnings about type convert and vars init in clang and remove comments.
2018-01-16 16:35:14 +09:00
Jaeun Choi d36c849e20 elm_panel: add exception handling in _drawer_close()
this fixes a bug with scrollable panel not being blocked
when it is closed. scroll is blocked in _anim_stop_cb()
which is called after elm_interface_scrollable_region_bring_in().
but if panel content is already at the target position, _anim_stop_cb()
is not called. so there is a need to check content's position and
handle the exceptional case.
2018-01-16 14:57:38 +09:00
Jaeun Choi 4f2b04c7a2 Revert "elm_panel: add exception handling in _drawer_close()"
This reverts commit 2acfc3e381.
2018-01-16 14:48:11 +09:00
Jaeun Choi 2acfc3e381 elm_panel: add exception handling in _drawer_close()
this fixes a bug with scrollable panel not being blocked
when it is closed. scroll is blocked in _anim_stop_cb(),
which is called after elm_interface_scrollable_region_bring_in().
but if panel content is already at the target position, _anim_stop_cb()
is not called. so there is a need to check content's position and
handle the exceptional case.
2018-01-16 14:42:58 +09:00
Jaeun Choi 65b828b050 elm_panel: prevent redundant callback function addition or deletion
there is a need to check if callback functions already exist or not
before adding or deleting them, because they are added or deleted
at two points:
in _elm_panel_scrollable_set() and _elm_panel_elm_widget_disable().
2018-01-16 13:19:36 +09:00
Cedric Bail 631eb3701d ecore: forgotten EFL_MAIN_EX. 2018-01-15 14:22:27 -08:00
Boris Faure a8d2c6c42f elementary dnd: fix tautology 2018-01-15 21:30:28 +01:00
YeongJong Lee f7849d0727 elc_popup: reorder the sub objects free sequence
Summary:
when the popup is deleted, some EVAS_CALLBACK_DEL callback functions
try to use already freed objects.
reorder free sequence to prevent it.

Test Plan:
1. elementary_test -to popup
2. check 'Enable popup scroll'
3. open several popup test and click Close button.
4. check that there are no error message

Reviewers: Jaehyun_Cho, bu5hm4n

Reviewed By: Jaehyun_Cho

Subscribers: cedric, jpeg, herb

Differential Revision: https://phab.enlightenment.org/D5730
2018-01-15 19:55:37 +09:00
Stefan Schmidt 8fc21da029 examples: efl_ui_list: remove unused variables 2018-01-15 10:41:58 +01:00
Stefan Schmidt ef71e2550c examples: calendar_cxx: comment out unused variables
I normally would simply remove them, but they belong to some more
commented out code below. We should either remove both or get this
fixed.
2018-01-15 10:40:39 +01:00
Stefan Schmidt 2cc63bb8b2 examples: cxx: avoid tick in warning message
The compiler is not to happy about having this tick in the warning
message. Switch to the more formal can not and be done with it.

menu_cxx_example_01.cc:3:26: warning: missing terminating ' character
2018-01-15 10:38:36 +01:00
WooHyun Jung 9fc1dd1a4e ecore_file_monitor: replace EINA_LIST_FOREACH to EINA_LIST_FOREACH_SAFE
If ecore_file_monitor_del is called inside the file monitor callback function,
eina_list found from monitor_hash would be freed. (You can check this inside
eina_hash_list_remove.)
Then, EINA_LIST_FOREACH makes one more for loop with invalid eina_list pointer.

EINA_LIST_FOREACH_SAFE can prevent from this problem.
2018-01-15 13:54:01 +09:00
Vincent Torri 487f2a5f81 Ecore_Win32: move monitor window initialization to earlier in init func
Summary: This monitor window is just used to receive events when mutiple
monitors are available. it should not be managed by the ecore loop
(creation and destruction events), so initting it earlier means
ecore_win32 attaches less memory/overhead to it as it's just being
used for notifications for devices.

Test Plan: DrMemory to check used memory

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5736
2018-01-14 22:33:34 +09:00
Davide Andreoli 0179d34f0f Pyolian: add tests for recently added funcs 2018-01-14 12:05:33 +01:00
Andy Williams 939237ad7f Correct module name for the interface context 2018-01-14 00:21:35 +00:00
Andy Williams 8a71ac57ab docs: Show when classes really are top level EFL namespace 2018-01-14 00:05:59 +00:00
Carsten Haitzler 90e186a0c8 ecore_audio wasapi - fix ecore win32 handler deletion and destruction
vtorri pointed this out in T6607. this should fix this.

fixed T6607

@fix
2018-01-13 14:46:08 +09:00
Vincent Torri 83b91fff02 Evil: remove useless dirent code
Test Plan: compilation of the EFL

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2018-01-12 13:34:32 -08:00
Mike Blumenkrantz abc88c498e efl-wl: multiply axis events by 10 to send normalized values
ref T6443
2018-01-12 16:03:12 -05:00
Mike Blumenkrantz 60028fafb7 efl-wl: unset cursor role on existing cursor surface if new cursor is set
this avoids killing clients which replace cursors

@fix
2018-01-12 15:49:06 -05:00
Mike Blumenkrantz b585dd0de7 elm_tooltip: immediately show tooltip if callback is set for obj under pointer
@fix
2018-01-12 14:58:34 -05:00
Mike Blumenkrantz 6822927988 elm_tooltip: force immediate hint recalc during tooltip creation if 0x0 size
try to avoid initial 0x0 sized tooltips

@fix
2018-01-12 14:58:34 -05:00
Mike Blumenkrantz d176fbc806 efl-wl: return NULL without error when non-extracted parent is found
in  efl_wl_extracted_surface_extracted_parent_get()
2018-01-12 14:58:34 -05:00
Bryce Harrington ebdfc54def eina: document quadtree
Reviewers: cedric, ajwillia.ms

Subscribers: segfaultxavi, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2018-01-12 11:25:04 -08:00
Vincent Torri 4916973a60 efl: remove inclusion of dirent.h where it is not used
Test Plan: compilation

Reviewers: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2018-01-12 11:06:12 -08:00
Daniel Kolesa dd11d19653 efl: make efl build again
After a function pointer validation branch got enabled, it turned
out that people have been writing obviously incorrect eo files
all along.

So while I have no idea if this is logically fully correct, at
least EFL builds again now...

cc @thiepha
2018-01-12 19:31:45 +01:00
Daniel Kolesa 54eac123c2 eolian: correctly validate function pointers 2018-01-12 19:14:13 +01:00
Cedric BAIL 082ebac3e3 eo: fix tests build. 2018-01-12 09:56:34 -08:00
Cedric BAIL e90a9f3eef Revert "promise: Add even simpler helper for main loop promise creation"
This reverts commit e931fd698d.
2018-01-12 09:37:47 -08:00
Cedric BAIL f5a5609c27 Revert "efl-loop: Don't use 'main' as a variable name"
This reverts commit 214dbdbd59.
2018-01-12 09:37:47 -08:00
Daniel Kolesa c6436337a4 eolian: aliased_base_get funcs don't need unit 2018-01-12 18:05:13 +01:00
Daniel Kolesa 19c16b671e eolian: type_typedecl_get doesn't need a unit 2018-01-12 18:05:13 +01:00
Daniel Kolesa 707ed05d58 eolian: do not require unit for type_class_get 2018-01-12 18:05:13 +01:00
Daniel Kolesa db41734954 eolian: store typedecl/class in type 2018-01-12 18:05:13 +01:00
Chris Michael 4dfde2cd24 elementary: Fix constant qualifer warning message
Gcc complains here due to _wl_default_seat_id_get not accepting a
'const' Evas_Object, so to avoid the warning just case it to a normal
Evas_Object when passing in.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-01-12 10:50:26 -05:00
Carsten Haitzler 99bf0732af edje - multisense - only complain once about being inable to play audio
no p[oint creating streams of noise, so only once.
2018-01-12 22:32:39 +09:00
Carsten Haitzler ce0ea3c297 ecore_audio - only complain once about not loading pulse/sndfile
otherwise we get a complaint for everty time some audio needs/wants to
play and that's just noisy and ugly, so only do it once - the first
time sndfile/pulse are being loaded and it fails.
2018-01-12 22:32:39 +09:00
Carsten Haitzler 368e0c5d8f ecore_audio - don't about destruction because of failed sndfile load
this means objetcs are only partly destroyed and that is wrong.

@fix
2018-01-12 22:32:39 +09:00
Thiep Ha 360ce182ef eolian_cxx: support multiple function pointers 2018-01-12 18:45:40 +09:00
SangHyeon Lee f7d9f0dde6 gengrid: add visible/hidden signal for texts and contents
Send visible/hidden signal when text/content are realized.
This feature is already implemented in genlist widget,
for reacting dynamically in item layout depending on their
text/content realizations.
2018-01-12 14:41:13 +09:00
Cedric Bail 23624acc16 eio: remove unecessary include. 2018-01-11 21:30:39 -08:00
Cedric BAIL be3abbd105 ecore: remove use of efl_main_loop_get from efl_net_socket_ssl_server_example. 2018-01-11 11:13:17 -08:00
Cedric BAIL 1f784b8c6c ecore: remove use of efl_main_loop_get from efl_net_socket_ssl_dialer_example. 2018-01-11 11:13:17 -08:00
Cedric BAIL 0e91525d25 ecore: remove use of efl_main_loop_get from efl_net_session_example. 2018-01-11 11:13:17 -08:00
Carsten Haitzler f32f0d89f4 mmap memory allocation - do not used when under valgrind
we can't sensibly use things like massif to track memory if we bypass
itr with mmaping -1 fd anonymous memory... so if built with valgrind
support and running under valgrind, use malloc/calloc and free so
these tools actually do something useful for these bits of memory.
2018-01-12 03:02:43 +09:00
Carsten Haitzler fb048e7312 evas sw generic - don't dlopen osmesa until first needed.
osmesa needs llvm. llvm apparently just by dlopening or linking to the
lib (libLLVM...) gets you 3.5mb of dirty pages just in this lib. that's
a whole lib entirely dirty pages. odd and horrible. in fact once i
stoppd dlopening OSMesa all the time on engine init (and only when gl
is needed)... the amount of dirty pages went from 17208 to 8860.
that's a whopping drop of 8mb! 8mb saved! in fact just dlopening
osmesa and doing the other gl init stuff led to more anonymuse
mappings with dirty pages. 2 of them (2072k and 2076k) which baffled
me as that didn't seem like heap or efl's own data. these disappeared
along with libLLVM-5.0.so (3520k + 60k dirty pages). we stopped
linking/loading libedit (12k dirty), libglapi (20k dirty),
libLLVM-5.0 (3580k dirty), libncursesw (72k dirty),
libOSMesa.so (260k dirty), libtinfo (20k dirty). ... or at least
stopped until absolutely needed. total 17208k of dirty pages went down
to 8860.

my test case was just launching terminology (and doing nothing with it).

@fix memory bloating
2018-01-12 03:02:43 +09:00
Chris Michael 075b14d53f elementary: Remove use of implicit declaration
evas_canvas_default_device_get used here leads to an 'implicit
declaration of function warning'. Use evas_default_device_get instead
to remove warning.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-01-11 12:37:43 -05:00
Carsten Haitzler 659d5d2894 ecore signal - since we arent going to use threads due to osx, remove
remove thread code since osx is not happy with threads trapping
signals (or at least a thread setting up the handler and trapping
there with signal blocks...). this should now work universally.
2018-01-11 23:13:13 +09:00
Thiep Ha e88bbaa1e3 cnp_dnd: make legacy APIs use new interfaces
Legacy APIs can uses efl_selection, efl_ui_dnd, efl_ui_dnd_container interfaces
with helper functions.
2018-01-11 17:56:24 +09:00
Thiep Ha 35339504b0 dnd: add efl_ui_dnd_container
efl_ui_dnd_container is the interface of dnd for container objects.
2018-01-11 17:56:24 +09:00
Thiep Ha e6ab4b41ed dnd: add efl_ui_dnd
Efl_Ui_Dnd is the interface for drag and drop of elm_cnp.
2018-01-11 17:56:24 +09:00
Thiep Ha f191d6821f selection: add efl_selection interface
Efl_Selection is the object interface for selection api of elm_cnp.
It allows get, set, clear, check selection.
2018-01-11 17:56:24 +09:00
Thiep Ha 763daa870e cnp_dnd: add selection manager
Selection manager implements functions for selection (cnp)
and drag and drop.
All objects can uses it APIs. It also supports multi-seat.
2018-01-11 17:56:24 +09:00
YeongJong Lee 1b4f330c9c efl_ui_focus_manager_calc: store node data before the node is freed
Summary:
we can consider that the node is freed during focus_manager routine.
for example, efl_ui_focus_manager_redirect_set call edje event callbacks,
and a application can delete a object in the edje callback. if the object is
the focusable object of a node, focus_manager make the node freed.
the focus_manager is able to use freed node. (a good example is test_popup.c)

this prevent reusing freed pointers.

Test Plan:
1. elementary_test -to popup
2. popup-center-text + 1 button
3. Click the Close button
4. check that there is no erroe message

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, woohyun, jpeg, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5729
2018-01-11 09:51:59 +01:00
Carsten Haitzler af681a1091 ecore signal write - save and restore errno since may be on mainloop
now i disabled the signal thread watcher ... save+restore errno.
2018-01-11 17:25:24 +09:00
Carsten Haitzler 21c8e73111 ecore signal - for now disable the sig watcher thread and do on mainloop
we used to do signals on main loop. keep doing. the pipes should work
in cleanly serializing the signals irrespective of when/where they are
caught (because we do into kernel and back out again). hoping this
makes osx work again. can't test as i have no osx box or vm. works on
linux and freebsd though.
2018-01-11 16:17:54 +09:00
Vincent Torri 77dc44ff1f Elm_test panel: use eina instead of dirent to list files
Summary:
Short/middle term: use UTF-16 on Windows.

So I plan to remove most of external API (like dirent in Evil) and use only EFL to have less work later

Test Plan: compile and run elm_test

Reviewers: jpeg

Subscribers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D5731
2018-01-11 16:15:48 +09:00
Jongmin Lee 904ba231c3 remove proper timer in landscape indicator connect callback
Change-Id: I7b6971502a8c26f06ceccf1a7ed5f567cb42da54
Signed-off-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
2018-01-11 15:12:24 +09:00
Cedric Bail 3412ad9ca3 ecore: remove use of efl_main_loop_get from ecore_promise2_example. 2018-01-10 18:16:25 -08:00
Cedric Bail 79d7483fe7 eina: add eina_promise_continue_new to create a promise using an existing dead future. 2018-01-10 18:16:25 -08:00
Cedric Bail 0b6f74fde6 ecore: no write after del for efl_loop_timeout. 2018-01-10 18:16:25 -08:00
Cedric Bail c5cd3f1a79 ecore: remove use of efl_main_loop_get from efl_net_server_simple_example. 2018-01-10 18:16:25 -08:00
Cedric Bail 1b10ef1313 ecore: remove use of efl_main_loop_get from efl_net_server_example. 2018-01-10 18:16:25 -08:00
Cedric Bail dacf3293a9 ecore: remove use of efl_main_loop_get from efl_net_dialer_windows_example. 2018-01-10 18:16:25 -08:00
Mike Blumenkrantz 571702aebb efl-wl: do not modify extracted surface visibility during commit
extracted surfaces are wholly managed externally, so this should not be modified

ref T6443

@fix
2018-01-10 14:21:03 -05:00
Derek Foreman 54fede47a9 ecore_drm2: simplify device selection code
The platform check was added for systems (like ARM) that don't generally
have PCI graphics devices.  However, now we pick a fallback device that
doesn't have a PCI constraint, so the platform check should no longer be
necessary.
2018-01-10 12:54:42 -06:00
Derek Foreman 324c917a20 ecore_drm2: Allow non-pci DRM devices to be selected
Summary: This is a tweak to c264ef264f for D5712 . chosen_dev in the loop was only being set for DRM devices attached to PCI devices. While this is useful for determining if the device is the preferred boot_vga device, There is no apparent requirement (comparing to Weston) for all DRM devices to be attached to a PCI device. (This is considering USB DisplayLink devices. I am not sure how the parent device tree is with these...)

Reviewers: devilhorns, ManMower

Reviewed By: devilhorns, ManMower

Subscribers: cedric, jpeg, #efl

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5727
2018-01-10 12:23:34 -06:00
Mike Blumenkrantz ffa276fce3 wayland: add xdg-shell vfinal support for client-side
@feature
2018-01-10 11:39:52 -05:00
Mike Blumenkrantz 79ca67d8a5 efl-wl: move to xdg-shell vfinal
@feature
2018-01-10 11:39:52 -05:00
Jean-Philippe Andre f285fd5925 eo: Add "destruct" event
Triggered after (almost) complete destruction of the object.

Not called "deleted" because the other event is already "del".
I don't like "destruct" much but this follows the terminology of
"constructor" / "destructor".

@feature
2018-01-10 16:31:06 +09:00
Jean-Philippe Andre 63bbf0f3e5 elm_test: Fix invalid define for widget style api 2018-01-10 16:31:06 +09:00
Jihoon Kim 1069c28b95 entry: Add autofill hint
@feature

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2018-01-10 16:00:49 +09:00
Cedric BAIL dda427dc51 ecore: remove use of efl_main_loop_get from efl_net_dialer_websocket_example. 2018-01-09 16:29:30 -08:00
Cedric BAIL 6667a914ac ecore: remove use of efl_main_loop_get from efl_net_dialer_websocket_autobahntestee. 2018-01-09 16:29:30 -08:00
Cedric BAIL 489671f4e1 ecore: remove use of efl_main_loop_get from efl_net_dialer_unix_example. 2018-01-09 16:29:30 -08:00
Cedric BAIL 76d91121f8 ecore: remove use of efl_main_loop_get from efl_net_dialer_udp_example. 2018-01-09 16:29:30 -08:00
Cedric BAIL 1393df02f1 ecore: remove use of efl_main_loop_get from efl_net_dialer_simple_example. 2018-01-09 16:29:30 -08:00
Cedric BAIL a9fb821559 ecore: forgot to switch to use Efl_Net.h for efl_net_dialer_http_example. 2018-01-09 16:29:30 -08:00
Chris Michael 2ac8458238 ecore-drm2: return supported rotations if not using hardware
If we are Not using Atomic/Hardware support for output rotations, we
should return all available rotations as these will still work in
software mode.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-01-09 12:48:25 -05:00
Chris Michael 4aeca75cff ecore-drm2: Fix enabling outputs
Commit 9d583b3fdb broke
ecore_drm2_output_enabled_set function due changing order of setting
output->enabled value. This patch fixes both issues by checking the
'enabled' variable being passed in.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-01-09 12:48:07 -05:00
Jihoon Kim d1823c6152 ecore_imf: Add transaction start and end event callback
@feature

Change-Id: I091b4e291b821ee5b6cc180d98024e251d4bcd03
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2018-01-09 11:00:43 +09:00
Cedric BAIL bb5f9d156c ecore: remove use of efl_main_loop_get from efl_net_dialer_http_example. 2018-01-08 16:18:52 -08:00
Cedric BAIL 419145a298 ecore: remove use of efl_main_loop_get from efl_net_control_example. 2018-01-08 16:04:22 -08:00
Cedric BAIL a0e81d1276 ecore: remove use of efl_main_loop_get from efl_io_queue_example. 2018-01-08 15:55:17 -08:00
Cedric BAIL e38a5b1234 ecore: remove use of efl_main_loop_get from efl_io_copier_simple_example. 2018-01-08 15:47:18 -08:00
Cedric BAIL 1f28dce028 ecore: make loop quit exit code work with EINA_VALUE_EMPTY. 2018-01-08 13:40:02 -08:00
Cedric BAIL dbba64a5f9 ecore: remove more use of main loop reference from unified API example. 2018-01-08 13:19:48 -08:00
Cedric BAIL 8428289c94 ecore: remove use of efl_main_loop_get from example. 2018-01-08 10:08:43 -08:00
Amitesh Singh 44d3227beb widget: rename elm widget to Efl.Ui.Widget. 2018-01-08 21:28:10 +09:00
Jean-Philippe Andre ade2c9ed52 csharp: Fix an example
Event name changed.
The definition of the type BUTTON_CLICKED_Args seems odd as it's in
efl.ui namespace directly.
2018-01-08 21:24:25 +09:00
Vincent Torri 4c44890872 elm example : on some OS (windows...) struct tm has 9 fields and not 11. Fix warning.
Test Plan: compilation

Reviewers: raster, jpeg

Reviewed By: raster, jpeg

Subscribers: jpeg, cedric, raster

Differential Revision: https://phab.enlightenment.org/D5723
2018-01-08 21:10:22 +09:00
subhransu mohanty d838220d56 evas/vg: Use always blending op while drawing the vector.
Summary:
The default backend overrides this operation depending on the fill color
but the cairo backend dosen't hence cairo will always use bled mode while drwaing the vector.

Reviewers: jpeg

Subscribers: vtorri, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5724
2018-01-08 19:16:59 +09:00
Carsten Haitzler 830d915ad6 warning remove - comment out unused variable 2018-01-06 19:06:07 +09:00
Carsten Haitzler bbac253f11 warning remove - comment out unused vars 2018-01-06 19:01:09 +09:00
Carsten Haitzler f8c9b0d71e warning remove - ignoring const (returning obj handle)
cast to fix
2018-01-06 19:01:05 +09:00
Carsten Haitzler f62e051343 efl signals - add signal callbacks for minimal signal set on loops
this willonly apply to the main loop, but to be able to see these
signals as callbacks, we have to expose them. term/quit/int are
already handled internally where the loop will terminate (efl will
enforce this) AND ... there is a terminate event already on the loop
to deal with this cleanup. other signals really arent applicable IMHO
except usr1/2 and hup.
2018-01-06 18:49:07 +09:00
Carsten Haitzler ba16dee6b3 ecore signal - move to using a pipe (and optional thread) tfor signals
this should remove any races in catching signals. it should also be
portable. as well.
2018-01-06 18:20:23 +09:00
Carsten Haitzler 2fb80270ba efl thread signal masks - fix up for various threads manually created
so xine module plus 2 eina dbug threads didnt set up signal
blocking/masks correctly. xine use ssigprocmask not pthread_sigmask
and the other 2 didnt even bother at all. fix this so these threads
all block most of these commnly caught signals so these threads never
get them
2018-01-06 18:20:23 +09:00
Derek Foreman 0d845ce3aa ecore_drm2: Remove pointless goto
This "out" label probably used to be the target of multiple gotos,
but now it's just being used to jump over a single line of code.
2018-01-05 12:28:36 -06:00
Derek Foreman c264ef264f ecore_drm2: Don't fail if there's no boot_vga device
In a multi-seat configuration it's quite likely that only one
seat will have a boot_vga device.

While we should use the boot_vga device if possible, we shouldn't
fail just because a seat's gpu isn't the boot_vga device.  Fallback
to the last viable drm device we saw.

Reported-by: n3rdopolis
ref D5712
ref T6455
2018-01-05 11:51:22 -06:00
Davide Andreoli 5c5e29daa5 Elm focus navigation: other 2 failing tests
Added a new test "Focus 6", it's an not very
complex elm layout: a swallowed genlist and three
buttons in an edje box.

You should be able to navigate the layout with
just the keyboard, that is currently impossible.

With the help of the mouse click you can randomly
make the key navigation work again... this is
mostly random.

...should help to make progress on T6453
2018-01-05 18:28:41 +01:00
Mike Blumenkrantz 3d07b90461 elm: disable interface theme loading
this is broken. do not reenable until testing has been done.

partially reverts dd4467505e

ref T6579
2018-01-05 11:46:36 -05:00
Davide Andreoli f003c6702d Pyolian: cache classes and properties
This give an overrall speed up of aroud 50% in the full doc generation.
2018-01-05 12:48:28 +01:00
Carsten Haitzler 76b837002e efl loop - provide efl namespace versions of begin/end locks on mainloop
add efl_main_loop_steal() and efl_main_loop_release() for new efl
namespace versiosn of ecore_thread_main_loop_begin() and
ecore_thread_main_loop_end().
2018-01-05 15:04:05 +09:00
JinYong Park 4717f358da efl_ui_popup_alert: change clicked event name
Summary:
clicked event will be called when alert popup's button is clicked.
But usually, clicked event means when object is clicked, not sub object is clicked.
So it is so ambiguous, event name change.

Test Plan:
1. elementary_test -to efl.ui.popup.alert
2. click button.

Reviewers: Jaehyun_Cho, herb, jpeg, cedric

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5722
2018-01-05 13:36:21 +09:00
Vincent Torri f2364053b4 ecore, elementary: remove useless inclusion of Evil.h on public headers when compiling with Visual Studio
Evil.h is already included on Windows in Eina.h
2018-01-04 13:00:00 -08:00
Vincent Torri 4ae6eeb2cf efl: remove _MSC_VER (Visual Studio macro) usage in source code 2018-01-04 12:59:47 -08:00
Vincent Torri 6c42801bac build: commit also changes in Evil's Makefile.am 2018-01-04 12:58:52 -08:00
Vincent Torri 7af3ad2160 evil: remove useless code 2018-01-04 12:58:45 -08:00
Vincent Torri 9b2c0d0988 elementary: alloca is already declared in eina_alloca.h 2018-01-04 12:57:43 -08:00
Vincent Torri 6afcd9b2a1 evas: NEAR AND FAR are already defined on Windows 2018-01-04 12:57:33 -08:00
Cedric BAIL 298915c627 ecore: Efl_Core.h means using EFL_BETA_API_SUPPORT at the moment. 2018-01-04 11:45:10 -08:00
Cedric BAIL 526415d903 eo: make efl_provider_find a @const function. 2018-01-04 11:45:10 -08:00
Cedric BAIL ce373c9b1f ecore: fallback to use efl_provider_find if the passed object isn't an Efl.Loop_Consumer. 2018-01-04 11:45:10 -08:00
Carsten Haitzler e30fb6945e fix evas test suite to now init both ecore and evas.... correctly.
see c8dcc4327b803e9b8ad2a0985e756c924946c442 - basicall evas depends
on ecore these days... thus requires ecore be initted THEN evas. ...
which in theory is an abi break for those using evas and ONLY evas
long ago from when efl was separate... but it''s how we're building
these days.

@fix
2018-01-05 02:34:16 +09:00
Carsten Haitzler 0fd8cd82e3 ecore evas init - init ecore then evas not the other way...
because as of... i don't know when, evas relies on ecore with
ecore_pipe_add to create the async fd... and if you init evas then
ecore this doesnt work. obviously. well now it isn't working. probably
due to new efl loop work. but the efl loop code is correct.
ecore_pipe_add should never work until you init ecore... it just
happesn to have managed to be gotten away with for a while.

@fix
2018-01-05 02:34:16 +09:00
Carsten Haitzler df61af9efa eocre timechanges - set obj to null before deletion on stop
stops double-deletion due to callback nesting
2018-01-05 02:34:16 +09:00
Marcel Hollerbach deca91bfe9 elm_popup: its not a focus layer
elm popup is only a contextual wrapper arround a elm_notify, so
implementing this thing here as focus layer is wrong.
2018-01-04 17:27:43 +00:00
Marcel Hollerbach c26e759b9e elm_widget_item_focus: use the correct parent
You need to use the parent here, otherwise the adapter will stay alive
for too long.
2018-01-04 17:27:43 +00:00
Andy Williams 76d8ff590a ecore: fix future -> promise doc 2018-01-04 17:02:57 +00:00
Mike Blumenkrantz e6d53d1e67 emotion: unset DISPLAY when loading an engine under wayland
ensure that this doesn't trigger xwayland deadlocks during gst init

probably fixes T6418

@fix
2018-01-04 10:12:33 -05:00
Chris Michael 214dbdbd59 efl-loop: Don't use 'main' as a variable name
Gcc issues a warning here that 'main' is usually a function, so just
rename the variable to avoid the warning.

NB: No funtional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-01-04 09:26:28 -05:00
Marcel Hollerbach 01df8b7f78 evas: make tbm_surface api fields static
When building statically this breaks build, since both symbols would be
defined globally.
2018-01-04 14:31:22 +01:00
Andy Williams 345c59ad3b docs: Update elementary eo files for grammar and readability
Author: Nate Drake
2018-01-04 12:29:11 +00:00
JinYong Park deef737067 efl_ui_popup_alert_text_scroll: do not calc size when need size calc flag is FALSE
Summary:
efl_ui_popup has needs_size_calc flag
to skip size calculation when it is not needed.
But efl_ui_popup_alert_text/scroll do size calc although that flag is FALSE

Test Plan:
1. elementary_test -to efl.ui.popup.alert.text
  or elementary_test -to efl.ui.popup.alert.scroll

2. resize window

3. watch _sizing_eval call

Reviewers: Jaehyun_Cho, herb, jpeg, cedric

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5720
2018-01-04 21:12:30 +09:00
Andy Williams e931fd698d promise: Add even simpler helper for main loop promise creation 2018-01-04 11:56:01 +00:00
Davide Andreoli 6421ea6d3c doc generator: show params and return type for functions 2018-01-04 11:06:06 +01:00
Mike Blumenkrantz cca561e94e efl-wl: add function to get the parent of an extracted surface
@feature
2018-01-03 18:46:54 -05:00
Cedric BAIL 0f7c5582a4 ecore_con: we should just stop using ecore_main_loop_get. 2018-01-03 12:49:10 -08:00
Cedric BAIL fd0bcc201b eio: switch code to simpler pattern with efl_loop_promise_new. 2018-01-03 12:16:25 -08:00
Cedric BAIL 5628ecddd6 ecore: introduce efl_loop_promise_new to simplify creation of Eina_Promise. 2018-01-03 12:16:25 -08:00
Cedric BAIL 5efb8f3eb2 ecore: add some documentation for efl_loop_future_scheduler_get. 2018-01-03 12:16:25 -08:00
Cedric BAIL b8ab0ca1f5 ecore: efl_loop_future_scheduler_get actually should be considered a const method. 2018-01-03 12:16:25 -08:00
Cedric BAIL c19ef91020 Revert "efl_loop: move scheduler_get to eo API"
This reverts commit f910ba248e.

The scheduler is meant to be used only in C, not by bindings so there isn't really
a use for it in the loop class. Now this patch was triggered due to complexity in
using future/promise, so will do a follow up patch to improve that.
2018-01-03 11:21:34 -08:00
Davide Andreoli 2f69ba27d3 Put in a new (experimental) doc generator built only by templates
This is (in my mind) meant to replace the current elua generator.

Currently the generated output is pratically identical to the elua
one, just some little difference here and there, some for thecnical
reasons and some just for my preference.

I consider this work just a starting point, extending the
templates we can now easily improve our docs. Whithout the need
to touch a single line of code.

Really I think this is a great improvements, and this are some
numbers to prove it:

Current elua implementation:
4185 lines of code in 7 lua files
generation time: ~ 7 seconds

New generator:
115 lines of python + 513 lines of templates
generation time: ~ 8 seconds (can be optimizd ALOT)

To generate the full Efl.* docs just run "./gendoc.py -v" in this folder.

...will wait for reviews (in particular from @andy and @q66)
2018-01-03 16:54:51 +01:00
Andy Williams d280ab7410 docs: Fix eo_add -> efl_add 2018-01-03 14:44:39 +00:00
Davide Andreoli ee53d64dcb Pyolian: quite complete documentation for usage and template syntax
The same content is available in phab wiki at:
https://phab.enlightenment.org/w/pyolian/
2018-01-03 14:00:33 +01:00
Andy Williams f910ba248e efl_loop: move scheduler_get to eo API 2018-01-03 12:46:06 +00:00
Andy Williams 8e23f6abff Merge branch 'devs/xartigas/typos' 2018-01-03 09:21:33 +00:00
Andy Williams c82d565c48 docs: Fix exmplanation for edje_file_iterator 2018-01-03 09:19:54 +00:00
Carsten Haitzler 0ccf813112 eina debug - use pthread _sigmask instead of sigprocmask like elsewhere
elsewhere in efl we moved to pthread_sigmask but eina debug didn't, so
mirror the changes here too. at this point in time when we are
initting eina debug this shouldnt really matter much as we're single
threaded until this pthread_Create is called. after that tough...
we're not. signals + threads is a nightmare though... horrible
horrible...
2018-01-03 13:05:16 +09:00
Davide Andreoli a2b24d0948 Pyolian: fix segfault on shutdown
also improve abit all_namespaces performance by using a set (hashable)
2018-01-02 21:52:57 +01:00
Davide Andreoli b9ed84f4ed Pyolian: implement an utility class: Namspace
Update tests and generator to use this new feature
2018-01-02 15:44:43 +01:00
Marcel Hollerbach b8f4dc296f ecore_con: switch from 1234 to AF_UNSPEC
there are systems where sa_family_t is a enum, so assigning 1234 will
lead to compililation errors on picky systems
2018-01-02 14:35:31 +01:00
Stefan Schmidt 53485e5949 benchmarks: eine: include header for using time()
../src/benchmarks/eina/eina_bench_sort.c: In function ‘eina_bench_sort_eina’:
../src/benchmarks/eina/eina_bench_sort.c:52:10: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
    srand(time(NULL));

Found due to the nice quite build output in our meson feature branch.
2018-01-02 14:18:14 +01:00
Davide Andreoli 3388077bc3 Pyolian: implemented doc tokenizer 2018-01-02 13:58:08 +01:00
Xavi Artigas ee61190af8 Typo in error message 2018-01-02 13:56:04 +01:00
Xavi Artigas e4e48aa4f9 Typo in example 2018-01-02 13:56:04 +01:00
Carsten Haitzler 9bedda14b3 efl loop - rename ecore_main_loop_get to efl_main_loop_get
ecore_main_loop_get() is really a new "eo api" but it's using our old
ecore_* namespace, so move to the new efl namespace.
2018-01-02 16:13:54 +09:00
Amitesh Singh 44b6aa16c1 Efl.Gfx.Color: add color_class_code.set/get{} method 2018-01-02 15:41:34 +09:00
Carsten Haitzler c3e322be28 efl loop - make param as unused to remove warning 2018-01-02 15:11:06 +09:00
Davide Andreoli e7a26af330 Pyolian: better equality test, new hierarchy prop and some tests 2018-01-01 08:37:13 +01:00
Davide Andreoli dd97383887 Pyolian: a fix and some new utils 2018-01-01 08:37:13 +01:00
Davide Andreoli 77fba4119b Pyolian generator: also make the classes visible in the template ctx 2018-01-01 08:37:13 +01:00
Davide Andreoli b5e3853e9d pyolian: make the library and the generator importable from another folder 2018-01-01 08:37:13 +01:00
Andy Williams 763942d8c7 Fix and simpligy windows behaviour.
Author: Vincent Torri
2017-12-31 19:57:48 +00:00
Andy Williams d234458dfc Fix and simpligy windows behaviour.
Author: Vincent Torri
2017-12-31 16:08:31 +00:00
Andy Williams 0a068ac549 elm_code: Fix usage of basename 2017-12-31 15:28:23 +00:00
Jean Guyomarc'h 541d6527fa elm: fix memleak in combobox
@fix
2017-12-30 10:14:41 +01:00
Jean Guyomarc'h a71ea3f9dc elm: fix typo in elm_list documentation 2017-12-30 10:14:41 +01:00
Davide Andreoli 15c7bbf5fa Pyolian template-based generator.
This is a really powerfull tool that can be used to generate anything eolian
releted  just providing a template file. You can then render the template
with the wanted scope (class, namespace, enum, etc)

For example give a try at this (from the src/srcipts/pyolian folder):
./generator.py test_gen_class.template --cls Efl.Loop.Timer

or ./generator.py -h for the full help

Next step: maybe generate the new efl API doc using this tool?
@andy I think this will make your life much easier :)
2017-12-28 16:10:04 +01:00
Davide Andreoli 455f241463 New python bindings for eolian
This are manually written ctype bindings for eolian, that means they
run on the standard python library (nothing to install) and can run
without any build step (in fact ctypes just open the so/dll file at runtime)

Next step will be (soon) a template based generator for eolian that will
be a lot of fun :)
2017-12-28 13:53:54 +01:00
Carsten Haitzler b27ca559f6 remove elgacy ecore event usage in futures that limit to mainloop only
also eina_procmis was not threadsafe so cannto use loops in different
threads at all until this was made safe. needed to disable the old
ecore_event using code in for ecore futures and create a new efl loop
message future and handler instead ... but now a quick experiment with
multiple loops in 10 threads plus mainloop have timers at least work.
i need to test more like fd handlers etc etc. but it's a step.
2017-12-28 02:24:12 +09:00
Carsten Haitzler 6ccfea3d51 Efl_Ui.h - remember to define EWAPI too 2017-12-27 14:55:15 +09:00
Carsten Haitzler b7eb3c5fe8 elm_priv.h - improve defines, EAPI EWAPI etc. because sub-includes need
this also makes it build for windows
2017-12-27 14:54:13 +09:00
Carsten Haitzler bfeded7252 ecore/efl loop - use efl_loop_time_get on loop obj where needed
stop using the legacy ecore_loop_time_get() func when it should be
coming from the loop object's loop time. also ecore_time_get should
never fall back on ecore_loop_time_get for similar reasons.

part of making the ecore/efl loop a non-global instance (allow loops
in threads)
2017-12-27 01:40:07 +09:00
Carsten Haitzler 27ac9a2be2 ecore main loop - fix fd handler clearning
so loop object destruction was clearing out fd handlers but those may
be later deleted by destructors of child objects. so leave legacy
fdh's and just remove them from the list
2017-12-23 21:13:47 +09:00
Andy Williams 46fbbef13a docs: Group our API landing page by namespace 2017-12-22 17:30:52 +00:00
Andy Williams 7b4441e2b8 ecore: Reduce the number of lines in our error log
And align for readability
2017-12-22 14:48:28 +00:00
Daniel Kolesa efb419fd74 eolian: prevent unnecessary hash table allocs 2017-12-22 15:36:31 +01:00
Daniel Kolesa 65ea735fd7 eolian: remove the toplevel information 2017-12-22 15:36:31 +01:00
Daniel Kolesa 7da6675c34 eolian: perform partial class validation every time
This makes sure that duplicate method/part/etc checks are done on
every database update, removing the need for clunky toplevel
checks and improving reliability. It also sacrifices some
performance but it shouldn't be too bad (if a class is already
validated, some checks are avoided to speed things up).
2017-12-22 15:36:31 +01:00
Daniel Kolesa 30c5753172 eolian: deferred parsing of type deps 2017-12-22 15:36:31 +01:00
Daniel Kolesa e1bcd61bdf eolian: move inherit type checking to validation 2017-12-22 15:36:31 +01:00
Andy Williams 6ecad5b873 docs: Update evas canvas eo files for grammar and readability
Author: Nate Drake
2017-12-22 13:45:48 +00:00
Andy Williams 9a4eedb078 Remove all ocurrences of SPANK from our user facing errors.
This has been bugging me for some time but now we are triggering new errors internally
this is appearing to end users for problems they did not cause.

Additionally I was able to improve a couple of the errors by copying the
explanation from code comments into the error message.

Shorter error logs now too :)
2017-12-22 11:18:46 +00:00
Andy Williams 77dd065c52 docs: Update efl interface eo files for grammar and readability
Author: Nate Drake
2017-12-22 10:41:18 +00:00
Andy Williams f0d6a60cf8 docs: Update edje eo files for grammar and readability
Author: Nate Drake
2017-12-22 10:41:18 +00:00
Amitesh Singh 961743475c Efl.Ui.List: fix compiler warning. 2017-12-22 13:43:30 +09:00
Amitesh Singh e2cb16c78b Efl.Gfx.Color: add color_code{}
color_code allows user to pass/get the color hex string
(e.g. efl_gfx_color_code_set(o, "#FFAA22CC"))

Also make this interface as mixin class.
2017-12-22 13:29:20 +09:00
Amitesh Singh 9db0ec554b interface: add Efl.Gfx.Color interface for color related APIs
This would eventually turn into mixin class later after adding
more color related helper functions.
2017-12-22 13:29:20 +09:00
Andy Williams 14d10e8b7b elm_code: Cancel selection if clicked outside of the editor area 2017-12-21 22:05:42 +00:00
Marcel Hollerbach 87a93b8521 eolian: unify test directories 2017-12-21 22:24:47 +01:00
Carsten Haitzler 6b70cd5f97 ecore/efl loop - refactor idle stuff to be less convluted when
less jumping around the codebase and no need for a message exists
method on the loop as we can find out internally, so only the process
left.
2017-12-21 19:45:21 +09:00