Cedric BAIL [Mon, 5 Mar 2018 21:36:54 +0000 (13:36 -0800)]
eo: allow setting value eo Eina_Value from an Eo pointer directly.
Cedric BAIL [Mon, 12 Mar 2018 16:43:44 +0000 (09:43 -0700)]
eina: fix promise scheduler lookup to find it when given a resolved chain of future.
T6738
Cedric BAIL [Thu, 1 Mar 2018 23:43:30 +0000 (15:43 -0800)]
eina: avoid warning when accessing first item and just return an error.
Daniel Kolesa [Mon, 12 Mar 2018 15:28:28 +0000 (16:28 +0100)]
eolian: update type/var name APIs
Daniel Kolesa [Mon, 12 Mar 2018 15:10:32 +0000 (16:10 +0100)]
eolian: make more name APIs into inline helpers
Daniel Kolesa [Mon, 12 Mar 2018 15:03:37 +0000 (16:03 +0100)]
eolian: update class name APIs
Daniel Kolesa [Mon, 12 Mar 2018 14:48:25 +0000 (15:48 +0100)]
pyolian: update name APIs
Daniel Kolesa [Mon, 12 Mar 2018 13:27:20 +0000 (14:27 +0100)]
elua: update eolian name APIs
Daniel Kolesa [Mon, 12 Mar 2018 12:55:01 +0000 (13:55 +0100)]
eolian: expose short_name/namespaces via object
Daniel Kolesa [Mon, 12 Mar 2018 11:26:17 +0000 (12:26 +0100)]
eolian: use short name for function pointer name
Daniel Kolesa [Mon, 12 Mar 2018 10:36:50 +0000 (11:36 +0100)]
eolian: only merge units on success when parsing all files
Amitesh Singh [Mon, 12 Mar 2018 06:04:08 +0000 (15:04 +0900)]
doc: check - correct the ingroup name for legacy apis
Dave Andreoli [Sun, 11 Mar 2018 16:44:28 +0000 (17:44 +0100)]
Pyolian generator: adjust to follow eolian changes
Daniel Kolesa [Sun, 11 Mar 2018 14:55:10 +0000 (15:55 +0100)]
eolian: simplify namespace handling
This is mostly a preparation for rework of name(space) APIs.
Dave Andreoli [Sun, 11 Mar 2018 14:52:52 +0000 (15:52 +0100)]
Pyolian: remove the useless Object.type binding
This is useless in py as Objects are never returned
directly, you always get the correct subtype (Class,
Variable, etc..). It was also clashing with Class.type
Dave Andreoli [Sun, 11 Mar 2018 14:24:59 +0000 (15:24 +0100)]
Pyolian: add tests for Eolian_Object
Two of the new tests are failing, the problem is that now
we have name clashes between Eolian_Object and Eolian_Class (at least)
For the moment I spotted:
- Object.name clash with Class.name
- Object.type clash with Class.type
Also fixed a typo in eolian_lib.py spotted by the new tests,
and removed the old tests for Declaration.
Dave Andreoli [Sun, 11 Mar 2018 13:28:51 +0000 (14:28 +0100)]
Pyolian: build the correct type from generic Object
This way all the generic Eolian_Object types are automatically
converted to the correct types (Class, Variable, etc...)
Carsten Haitzler (Rasterman) [Sat, 10 Mar 2018 13:47:12 +0000 (22:47 +0900)]
elm test - adapt to argc/v being regular argv 0 being binary name
Carsten Haitzler (Rasterman) [Sat, 10 Mar 2018 11:03:32 +0000 (20:03 +0900)]
ecore - efl thread - remove unused local vars
Carsten Haitzler (Rasterman) [Sat, 10 Mar 2018 11:02:09 +0000 (20:02 +0900)]
ecore - efl exe/thread - only allow run once ever
Daniel Kolesa [Fri, 9 Mar 2018 14:25:11 +0000 (15:25 +0100)]
eolian: resolve to Eolian_Objects instead of voids
Daniel Kolesa [Fri, 9 Mar 2018 14:19:53 +0000 (15:19 +0100)]
eolian: return Eolian_Object_Type from ref resolver
This needs only one enum and allows for better interop.
Cedric BAIL [Fri, 9 Mar 2018 01:00:03 +0000 (17:00 -0800)]
ecore: do not remove a timer that has already been removed.
Lauro Moura [Thu, 8 Mar 2018 23:43:50 +0000 (15:43 -0800)]
csharp: update examples
Summary:
They were still using the old SetSize(w, h) API instead of receiving
eina.Size2D structs.
Test Plan: Build examples and run them.
Reviewers: felipealmeida, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5830
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Lauro Moura [Thu, 8 Mar 2018 23:43:14 +0000 (15:43 -0800)]
csharp: generate helper constructors for structs.
Summary:
C# does not have a literal form for structs (like C++'s {} aggregate
initialization). Before this commit the user would need to explicitly
instantiate a struct and assign the required values to it, like:
eina.Size2D size;
size.W = width;
size.H = height;
widget.SetSize(size);
As a workaround, this commit generates helper constructor with
parameters corresponding to the struct fields in the order they are
declared. These parameters have default values if one does not want to
explicitly initialize all fields directly. With these constructs, the
above code could be translated to:
widget.SetSize(new eina.Size2D(width, height));
It should be noted that the constructed struct will live on the managed
memory (GC) instead of the stack.
Test Plan: run "make check"
Reviewers: felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5838
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Cedric BAIL [Thu, 8 Mar 2018 22:05:25 +0000 (14:05 -0800)]
eo: ERR some warning when illegally using invalidated object.
Cedric Bail [Thu, 8 Mar 2018 23:18:38 +0000 (18:18 -0500)]
ecore: avoid calls to provider_find on invalidated objects in timer class
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
Daniel Kolesa [Thu, 8 Mar 2018 23:40:53 +0000 (00:40 +0100)]
eolian cxx: fix typo
Cedric BAIL [Thu, 8 Mar 2018 22:59:12 +0000 (14:59 -0800)]
eo: when an object is reused, reset the invalidate flag.
Daniel Kolesa [Thu, 8 Mar 2018 22:59:40 +0000 (23:59 +0100)]
eolian: remove old declaration APIs
Daniel Kolesa [Thu, 8 Mar 2018 22:21:05 +0000 (23:21 +0100)]
eolian cxx: replace declaration api with obj api
Daniel Kolesa [Thu, 8 Mar 2018 22:16:40 +0000 (23:16 +0100)]
eolian: tests for new object apis
Daniel Kolesa [Thu, 8 Mar 2018 22:07:01 +0000 (23:07 +0100)]
pyolian: add support for object retrieval
Daniel Kolesa [Thu, 8 Mar 2018 22:01:01 +0000 (23:01 +0100)]
pyolian: wipe out declaration api
Daniel Kolesa [Thu, 8 Mar 2018 21:58:22 +0000 (22:58 +0100)]
elua: remove declaration api from eolian bindings
Daniel Kolesa [Thu, 8 Mar 2018 21:54:12 +0000 (22:54 +0100)]
eolian: remove obsolete file_get APIs
Daniel Kolesa [Thu, 8 Mar 2018 21:53:51 +0000 (22:53 +0100)]
eolian cxx: remove usages of obsolete file_get APIs
Daniel Kolesa [Thu, 8 Mar 2018 21:48:01 +0000 (22:48 +0100)]
pyolian: add Eolian_Object APIs and remove obsolete file_get ones
Daniel Kolesa [Thu, 8 Mar 2018 21:34:25 +0000 (22:34 +0100)]
elua: update eolian bindings for latest APIs
Added support for Eolian_Object, made other luaified types
"inherited" from Eolian_Object, removed type-specific file_get
as it was replaced by Object's file_get, declarations API still
in place
Derek Foreman [Thu, 8 Mar 2018 20:22:50 +0000 (14:22 -0600)]
gl_drm: Use gl extension string helper instead of strstr
Daniel Kolesa [Thu, 8 Mar 2018 18:57:55 +0000 (19:57 +0100)]
eolian gen: switch from decl api to object api
Daniel Kolesa [Thu, 8 Mar 2018 18:30:40 +0000 (19:30 +0100)]
eolian: give objects names, and reduce duplication
Daniel Kolesa [Thu, 8 Mar 2018 17:59:37 +0000 (18:59 +0100)]
eolian: add APIs to retrieve declarations as objects
This will replace the old declarations API.
Derek Foreman [Thu, 8 Mar 2018 17:24:02 +0000 (11:24 -0600)]
gl_drm: Don't NULL init a variable we're about to set
minor clean up with no functional change.
Derek Foreman [Thu, 8 Mar 2018 17:15:05 +0000 (11:15 -0600)]
gl_drm: Check EGL client extensions before using platform_base
The comment here was right, we shouldn't just trust these without testing
if we should trust these.
Derek Foreman [Thu, 8 Mar 2018 16:47:03 +0000 (10:47 -0600)]
gl_drm: Rename eng_gl_symbols to eng_egl_symbols
It now only deals with egl. gl extensions must be queried later, so it
was previously a bit weird/confusing.
Derek Foreman [Thu, 8 Mar 2018 16:44:04 +0000 (10:44 -0600)]
gl_drm: Move some extension queries to after context creation
Anything non-EGL we might query would have to be queried here, so
I'm moving the call here to protect us in the event that we need GL
extensions in the future.
I'm still a bit confused as to what string I should be passing to
evas_gl_symbols, though.
Daniel Kolesa [Thu, 8 Mar 2018 16:30:30 +0000 (17:30 +0100)]
eolian: add API to query information about Objects
As nearly every Eolian handle is backed by an Eolian_Object,
this information is now publicly exposed and has an API. This
opens up an array of new possibilities for tooling, as you
can now externally query file names, line numbers etc.,
as well as cast arbitrary handles to Eolian_Object pointers
and back.
This will be expanded later and it will replace the Declaration
system, as it's cleaner, better integrated and more versatile.
@feature
Derek Foreman [Wed, 7 Mar 2018 21:08:46 +0000 (15:08 -0600)]
gl_drm: use EGL_IMG_context_priority if available
This is a hint that we want a high priority context. Since gl_drm is
likely a compositor or a full screen app, it makes sense that it try to
use this (but other engines probably shouldn't)
Based loosely on Chris Wilson's weston patch to do the same thing.
(weston commit
b678befb6ed055e6c66466505d9195a3cebf8073)
As this extension appears to have been around for years, I haven't
added fallback defines for:
EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100
EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101
Derek Foreman [Wed, 7 Mar 2018 19:11:45 +0000 (13:11 -0600)]
gl_drm: Move the gl symbol check to immediately after display init
We don't actually need a context first, just an initialized display.
Cedric Bail [Wed, 7 Mar 2018 19:01:25 +0000 (11:01 -0800)]
eo: fix warning.
Cedric Bail [Wed, 7 Mar 2018 19:00:06 +0000 (11:00 -0800)]
eo: adjust test suite to take invalidate state into account.
Cedric Bail [Wed, 7 Mar 2018 18:59:20 +0000 (10:59 -0800)]
ecore: rely on Efl.Object.invalidate instead of a hack for Efl.Model.Container.Item.
Cedric Bail [Wed, 7 Mar 2018 18:56:53 +0000 (10:56 -0800)]
eo: introduce invalidate and noref state.
This is just a first step. All user of destructor should be updated to
move the code that rely on their efl_parent and on efl_provider_find to
invalidate. Then we will be able to change the way efl_add and efl_del
work to properly refcount things. efl_noref won't be triggered at the
moment until both efl_parent_set(obj, NULL) and the last user ref are
set to NULL. This is not what we want, but due to how user refcount is
accounting parent at the moment, until all the code is move to rely
on invalidate we can not fix this.
Cedric Bail [Wed, 7 Mar 2018 18:51:46 +0000 (10:51 -0800)]
ecore_wl2: cleanup input code to string logic to reduce compiler warning and useless memory access.
Cedric Bail [Wed, 7 Mar 2018 17:34:49 +0000 (09:34 -0800)]
elementary: fix backward compatibility bug introduced by
9c8749b99a03d3601321da6d16071dd7b631d1ae.
Chris Michael [Wed, 7 Mar 2018 14:50:58 +0000 (09:50 -0500)]
ecore-wl2: Check for valid string before passing to strlen()
As strlen() cannot accept NULL (segfaults), we should check for valid
key, keyname, and compose strings here before passing to strlen().
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 7 Mar 2018 14:37:25 +0000 (09:37 -0500)]
ecore-wl2: Reduce calls to strlen
Small patch to reduce calls to strlen when sending key events. This
patch is loosely based on Phab D5567
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Daniel Kolesa [Wed, 7 Mar 2018 12:53:08 +0000 (13:53 +0100)]
eolian: get rid of old APIs for typedecl retrieval
Daniel Kolesa [Wed, 7 Mar 2018 12:25:28 +0000 (13:25 +0100)]
eolian: remove old variable retrieval APIs
Daniel Kolesa [Wed, 7 Mar 2018 12:08:49 +0000 (13:08 +0100)]
eolian: remove old class retrieval APIs
Marcel Hollerbach [Fri, 2 Mar 2018 12:13:24 +0000 (13:13 +0100)]
efl_ui_focus_manager_calc: performe refocus after the node is deleted
if node is the last element, the element will be focused again, and
later deleted, without cleaning up the history
Amitesh Singh [Wed, 7 Mar 2018 10:25:19 +0000 (19:25 +0900)]
examples: cxx: fix the compilation for slider example.
Carsten Haitzler (Rasterman) [Wed, 7 Mar 2018 06:35:18 +0000 (15:35 +0900)]
efl check - fix env var for CK_FORK=no
Minkyu Kang [Wed, 7 Mar 2018 02:46:44 +0000 (18:46 -0800)]
elementary: entry - recover cursor position when theme is changed
Summary:
When theme is applied text is reset and cursor position is set to 0.
This patch is recover the position to previous after text is reset.
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Reviewers: cedric, jpeg, woohyun, herdsman
Reviewed By: cedric
Subscribers: cedric, jpeg
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5695
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Youngbok Shin [Wed, 7 Mar 2018 01:56:56 +0000 (17:56 -0800)]
elementary: bg - keep file path and key string for legacy bg widget
Summary:
If a file path and key string was passed to elm_bg, we could get
the same file path and key string. Even if it failed to load the image file.
And the file path also remained its original form.
ex) Setting file path "~/image.png" => Getting file path "~/image.png"
(Not "/home/user_name/image.png")
@fix
Test Plan: Included in elementary test suite.
Reviewers: jpeg, cedric, raster
Reviewed By: cedric
Subscribers: woohyun
Differential Revision: https://phab.enlightenment.org/D5823
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Jeonghyun Yun [Wed, 7 Mar 2018 01:54:57 +0000 (17:54 -0800)]
elementary: entry - fix to generate "activated" and "aborted" event in single line entry only
Summary:
"aborted": The escape key was pressed on a single line entry. (since 1.7)
"activated": The enter key was pressed on a single line entry.
Reviewers: id213sin, jpeg, cedric, herdsman
Subscribers: cedric, jpeg
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5728
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Woochan Lee [Wed, 7 Mar 2018 01:52:53 +0000 (17:52 -0800)]
elementary: add missed type for legacy.
Summary:
We've been missed type of class name.
Add legacy class name to maintain compatibility.
@fix
Reviewers: jpeg, woohyun, Jaehyun_Cho
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5749
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Woochan Lee [Wed, 7 Mar 2018 01:52:17 +0000 (17:52 -0800)]
elemetary: spinner - free the longpress_timer when unfocused
Summary:
It needs to delete when widget unfocused.
@minkyu
Gets from tizen.
0bc1a19703dc204c8d347794bae0290006f4bde5
Reviewers: jpeg, Jaehyun_Cho, minkyu, cedric
Subscribers: minkyu, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5750
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Lauro Moura [Wed, 7 Mar 2018 01:42:00 +0000 (17:42 -0800)]
elm: fix location of legacy include for elm_code.
Summary:
Instead of including the legacy header on the main header, just include
it where it is actually used (diff_widget.c), like in elm_code_widget.c.
Test Plan: Try to compile edi with the tarball from `make dist`. It should not fail with elm_code related errors.
Reviewers: raster, stefan_schmidt, felipealmeida
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5807
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Woochan Lee [Wed, 7 Mar 2018 01:28:53 +0000 (17:28 -0800)]
efl_ui_multibuttonentry: maintainance legacy function type.
Summary:
I did it wrong.
The "Elm_Multibuttonentry_Format_Cb" should be maintain for legacy.
efl_ui_XXX has to use efl_format interface.
@fix
Test Plan: elementary_test->multibuttonentry sample.
Reviewers: cedric, woohyun, Jaehyun
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5824
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Youngbok Shin [Wed, 7 Mar 2018 01:01:02 +0000 (17:01 -0800)]
evas: increase offset by 4 to do work for next map points
Summary:
Increasing offset as 2 for next map points is wrong.
If evas tries to draw for wrong combination of map points,
it can cause wrong results. Actually, every drawing code for
map points use and increase offset as 4.
@fix
Test Plan:
A test case for textpach is modified for testing this issue.
1. Run elementary_test with sync render mode.
ex) ECORE_EVAS_FORCE_SYNC_RENDER=1 elementary_test
2. Open textpath test.
3. Set a short text by clicking newly added check box.
4. (It will show another issues... So,) change slice number to update textpath properly.
5. See some noises at top-left side of text.
It is drawn from the two of end map points to the two of empty(not used) map points.
Reviewers: raster, cedric, jpeg, jypark
Differential Revision: https://phab.enlightenment.org/D5833
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Bryce Harrington [Wed, 7 Mar 2018 00:59:34 +0000 (16:59 -0800)]
eina: tighten grammar in eina_hash API docs.
Summary:
Improve the verbage in the doxygen comments. Refer to the value being
changed as the 'previous' rather than the 'old' value, to be more
precise. Drop the phrase 'keeping API sane' as it is unnecessary and
is an odd thing to say. Try to avoid referring to 'your program' as we
shouldn't assume the reader's situation.
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D5834
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Bryce Harrington [Wed, 7 Mar 2018 00:58:44 +0000 (16:58 -0800)]
eina: define the in/out params for eina_bezier
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D5835
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Bryce Harrington [Wed, 7 Mar 2018 00:57:38 +0000 (16:57 -0800)]
eina: use better parameter name in eina_rectangle
Summary:
'thiz' is not commonly used in EFL, more commonly used is a word or
abbreviation that is descriptive of the object being used ('hash' for
Eina_Hashes, 'str' for Eina_Strings, 'array' for Eina_Arrays, etc.)
Follow this convention by using 'rect' (as used already in various
places) instead of 'thiz' or 'r'.
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D5836
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Bryce Harrington [Wed, 7 Mar 2018 00:56:49 +0000 (16:56 -0800)]
eina: specify error returns in @return for eina_list API docs
Summary:
For all routines that can return NULL on error, mention this in the
function's @return docs. In cases where a small number of situations
result in this return, move the docs to the @return; in other cases just
state the NULL return briefly and leave the elaboration in the body.
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D5837
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Derek Foreman [Tue, 6 Mar 2018 22:05:48 +0000 (16:05 -0600)]
efl_wl: Don't create touch resources with pointer interfaces
Fixes a forced disconnect error.
Carsten Haitzler (Rasterman) [Tue, 6 Mar 2018 14:43:06 +0000 (23:43 +0900)]
ecore - go back to args 0 being the command and 1+ being actual args
so this is then inconsistent with efl.exe and efl.thread, so go back
to being normal with 0'th arg being the binary itself jsut to make
sure we have conistent usage.
Carsten Haitzler (Rasterman) [Tue, 6 Mar 2018 11:49:51 +0000 (20:49 +0900)]
ecore - efl threads - add thredio class
this adds a simple indata and outdata void ptr to begin that you can
set on efl.thread objects (set the indata) and get the outdata too to
get results. then on the efl.appthread side the indata is set on the
efl.appthread before it runs and on quit the thresad can set the
outdata on the appthread, and this appears back on the efl.thread
object in the parent thread.
so you can basically share pointers to anything in and out this way on
start/exit in addition to string args etc.
the reason i made it an extra class (mixin actually) is for future
expansion. sharing more complex data - eina values maybe or objects as
long as they are shared objects, and perhaps acting as an interface
for calling a function at the other end like ecore_thread_async_call
etc.
Carsten Haitzler (Rasterman) [Tue, 6 Mar 2018 09:31:48 +0000 (18:31 +0900)]
ecore efl exe/task/thread - move stdin/out flags to task class
also use them in efl thread to determine if io handlers are set up and
pipes created at all etc.
Amitesh Singh [Tue, 6 Mar 2018 06:52:35 +0000 (15:52 +0900)]
Efl.Ui.Slider: implement Efl.Ui.Range.range_step_set/get()
Also move elm_slider_step_set/get() as legacy APIs.
remove eo api step.set/get() as well since range intf
already implements it.
Carsten Haitzler (Rasterman) [Mon, 5 Mar 2018 14:29:37 +0000 (23:29 +0900)]
evas cache - fix return val to fix warning
fix return val if cache is null (something bad happening)
Carsten Haitzler (Rasterman) [Mon, 5 Mar 2018 10:04:42 +0000 (19:04 +0900)]
evas cache image - protect against null cache ptrs
ok. i can't find the root cause because all i have is a backtrace from
ApBBB and he says he can't reproduce it and i know im->cache is
null... if i could reproduce ... i'd be hunting the root cause. but
the best i can do is check for null im->cvache ptrs and be safe.
crashes are bad. especially for end users.
Vincent Torri [Sun, 4 Mar 2018 12:41:33 +0000 (21:41 +0900)]
Elm_code test: fix compilation
Reviewers: cedric, raster
Differential Revision: https://phab.enlightenment.org/D5831
Al Poole [Sat, 3 Mar 2018 13:13:05 +0000 (13:13 +0000)]
efreet_xml: make sure we unmap the right pointer.
Seems Linux would munmap a lump of coal without failing. Make
sure the pointers match. Again bogus unmap not detected by
valgrind and not failing.
@fix T5949
Carsten Haitzler (Rasterman) [Sat, 3 Mar 2018 09:59:40 +0000 (18:59 +0900)]
efl loop - remove commented out code left over from work on theads etc
Carsten Haitzler (Rasterman) [Sat, 3 Mar 2018 09:01:05 +0000 (18:01 +0900)]
efl.task - add an api to clear environment
Carsten Haitzler (Rasterman) [Sat, 3 Mar 2018 08:57:17 +0000 (17:57 +0900)]
efl exe - fix indent
Carsten Haitzler (Rasterman) [Sat, 3 Mar 2018 08:15:10 +0000 (17:15 +0900)]
efl loop promises - cleare out promise data to null
so there is something broken in the complect efl promise/loop promise
that the clear of promises on loop destroy is clearing
promises/futures that have already triggered (loop timer ones). i've
spent enough time figuring out that it is happening.
_efl_loop_timeout_del() simple doenst ensure the future in
pending_futures for that promise is removed from the list. getting the
future from the promise handle is an exercise in pain... so i'm not
continuing with that path and will just ignore it.
but for now filling the promise data with null at least means if the
menory is re-used after free it wont see garbage freed ptrs and get
nulls so its easier to track.
Carsten Haitzler (Rasterman) [Fri, 2 Mar 2018 11:25:11 +0000 (20:25 +0900)]
ecore thread queue tests - reduce size and craziness and fix 1
1 test was wrong. it didn't wait for the thread to exit before checking
msg count recieved. fixed. race condition here.
also reduce the sheer message counts sent - it makes the suite take a
lot longer than is sane and als consume massive amounts of log space
in /tmp as a result.
Carsten Haitzler (Rasterman) [Fri, 2 Mar 2018 11:23:35 +0000 (20:23 +0900)]
ecore file test - change url to a file we control.
rthe ecore file download test was downloading from sf.net ... and i
noticed sf.net refusing thus the ecore tests suite failing... i
changes it to grab a file (rss.php which is disabled for us but there)
so at least enlightenment.org has it.
better would be to spawn a webserver and test against that locally.
but thats a whole other level of work.
Carsten Haitzler (Rasterman) [Fri, 2 Mar 2018 10:13:44 +0000 (19:13 +0900)]
tests - eo - found eo_signals test is wrong... amazing it passed before
so it was listening for cb adds and dels... and or del of any cb
except the cb add/del catcher was done.. it would fail...
but ... the test actually added other cbs than this ... like:
efl_event_callback_array_priority_add(obj, _eo_signals_callbacks(),
-100, (void *) 1);
a while array of cb's:
{ EV_A_CHANGED, _eo_signals_a_changed_cb },
{ EV_A_CHANGED, _eo_signals_a_changed_cb2 },
{ EV_A_CHANGED, _eo_signals_a_changed_never },
{ EFL_EVENT_DEL, _eo_signals_efl_del_cb });
none of which were _eo_signals_cb_added_deled. i am amazed it passed
before...
now switch its checks to check for itself and then check for anything
BUT itself...
Carsten Haitzler (Rasterman) [Fri, 2 Mar 2018 09:16:05 +0000 (18:16 +0900)]
put efl app test back with mods to match app as superclass
Carsten Haitzler (Rasterman) [Tue, 27 Feb 2018 12:19:17 +0000 (21:19 +0900)]
ecore - a different take on efl.app class as a super class to efl.loop
so the MAIN loop is actually an efl.app object. which inherits from
efl.loop. the idea is that other loops in threads will not be efl.app
objects. thread on the creator side return an efl.thread object.
inside the thread, like the mainloop, there is now an efl.appthread
object that is for all non-main-loop threads.
every thread (main loop or child) when it spawns a thread is the
parent. there are i/o pipes from parnet to child and back. so parents
are generally expected to, if they want to talk to child thread, so
use the efl.io interfaces on efl.thread, and the main loop's elf.app
class allows you to talk to stdio back to the parent process like the
efl.appthread does the same using the efl.io interfaces to talk to its
parent app or appthread. it's symmetrical
no tests here - sure. i have been holding off on tests until things
settle. that's why i haven't done them yet. those will come back in a
subsequent commit
for really quick examples on using this see:
https://phab.enlightenment.org/
F2983118
https://phab.enlightenment.org/
F2983142
they are just my test code for this.
Please see this design document:
https://phab.enlightenment.org/w/efl-loops-threads/
Carsten Haitzler (Rasterman) [Tue, 27 Feb 2018 05:10:12 +0000 (14:10 +0900)]
Revert "cxx: Fix manual code after efl_app change."
This reverts commit
135154303bea691c6f7f9472a5dec32d9103c38d.
Revert "efl: move signal events from efl.loop to efl.app"
This reverts commit
3dbca39f98288580c62a43c179ac11621433ec88.
Revert "efl: add test suite for efl_app"
This reverts commit
3e94be5d73256a7f5c02d3a9474173226be7beff.
Revert "efl: create Efl.App class, the parent of Efl.Loop"
This reverts commit
28fe00b94e55575c15684959b89a614d5a579309.
Go back to before efl.app because I think this should be done with
superclassing here not a parent object. reasons?
1. multiple loops per single thread make no sense. so if multilpe loop
objects they wont be contained in a single app object and then deleted
like this.
2. the app object is not really sharable in this design so it cant be
accessed from other threads
3. it makes it harder to get the main loop or app object (well 2 func
calls one calling the other and more typing. it is longer to type and
more work where it is not necessary, and again it can't work from
other threads unless we go duplicating efl.app per thread and then
what is the point of splittyign out the signal events from efl.loop
then?)
etc.
Lauro Moura [Fri, 2 Mar 2018 22:58:20 +0000 (23:58 +0100)]
eolian cxx,csharp: Update after eolian changes
Closes D5829.
Daniel Kolesa [Fri, 2 Mar 2018 13:39:57 +0000 (14:39 +0100)]
elua: add missing APIs to eolian bindings
Daniel Kolesa [Fri, 2 Mar 2018 13:02:50 +0000 (14:02 +0100)]
elua: objectify unit and redo class retrieval
Daniel Kolesa [Fri, 2 Mar 2018 12:53:34 +0000 (13:53 +0100)]
eolian: remove old APIs for path retrieval
Daniel Kolesa [Fri, 2 Mar 2018 12:52:13 +0000 (13:52 +0100)]
elua: update path retrieval APIs