platform/upstream/efl.git
6 years agoeolian: make more name APIs into inline helpers
Daniel Kolesa [Mon, 12 Mar 2018 15:10:32 +0000 (16:10 +0100)]
eolian: make more name APIs into inline helpers

6 years agoeolian: update class name APIs
Daniel Kolesa [Mon, 12 Mar 2018 15:03:37 +0000 (16:03 +0100)]
eolian: update class name APIs

6 years agopyolian: update name APIs
Daniel Kolesa [Mon, 12 Mar 2018 14:48:25 +0000 (15:48 +0100)]
pyolian: update name APIs

6 years agoelua: update eolian name APIs
Daniel Kolesa [Mon, 12 Mar 2018 13:27:20 +0000 (14:27 +0100)]
elua: update eolian name APIs

6 years agoeolian: expose short_name/namespaces via object
Daniel Kolesa [Mon, 12 Mar 2018 12:55:01 +0000 (13:55 +0100)]
eolian: expose short_name/namespaces via object

6 years agoeolian: use short name for function pointer name
Daniel Kolesa [Mon, 12 Mar 2018 11:26:17 +0000 (12:26 +0100)]
eolian: use short name for function pointer name

6 years agoeolian: only merge units on success when parsing all files
Daniel Kolesa [Mon, 12 Mar 2018 10:36:50 +0000 (11:36 +0100)]
eolian: only merge units on success when parsing all files

6 years agodoc: check - correct the ingroup name for legacy apis
Amitesh Singh [Mon, 12 Mar 2018 06:04:08 +0000 (15:04 +0900)]
doc: check - correct the ingroup name for legacy apis

6 years agoPyolian generator: adjust to follow eolian changes
Dave Andreoli [Sun, 11 Mar 2018 16:44:28 +0000 (17:44 +0100)]
Pyolian generator: adjust to follow eolian changes

6 years agoeolian: simplify namespace handling
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.

6 years agoPyolian: remove the useless Object.type binding
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

6 years agoPyolian: add tests for Eolian_Object
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.

6 years agoPyolian: build the correct type from generic Object
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...)

6 years agoelm test - adapt to argc/v being regular argv 0 being binary name
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

6 years agoecore - efl thread - remove unused local vars
Carsten Haitzler (Rasterman) [Sat, 10 Mar 2018 11:03:32 +0000 (20:03 +0900)]
ecore - efl thread - remove unused local vars

6 years agoecore - efl exe/thread - only allow run once ever
Carsten Haitzler (Rasterman) [Sat, 10 Mar 2018 11:02:09 +0000 (20:02 +0900)]
ecore - efl exe/thread - only allow run once ever

6 years agoeolian: resolve to Eolian_Objects instead of voids
Daniel Kolesa [Fri, 9 Mar 2018 14:25:11 +0000 (15:25 +0100)]
eolian: resolve to Eolian_Objects instead of voids

6 years agoeolian: return Eolian_Object_Type from ref resolver
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.

6 years agoecore: do not remove a timer that has already been removed.
Cedric BAIL [Fri, 9 Mar 2018 01:00:03 +0000 (17:00 -0800)]
ecore: do not remove a timer that has already been removed.

6 years agocsharp: update examples
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>
6 years agocsharp: generate helper constructors for structs.
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>
6 years agoeo: ERR some warning when illegally using invalidated object.
Cedric BAIL [Thu, 8 Mar 2018 22:05:25 +0000 (14:05 -0800)]
eo: ERR some warning when illegally using invalidated object.

6 years agoecore: avoid calls to provider_find on invalidated objects in timer class
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>
6 years agoeolian cxx: fix typo
Daniel Kolesa [Thu, 8 Mar 2018 23:40:53 +0000 (00:40 +0100)]
eolian cxx: fix typo

6 years agoeo: when an object is reused, reset the invalidate flag.
Cedric BAIL [Thu, 8 Mar 2018 22:59:12 +0000 (14:59 -0800)]
eo: when an object is reused, reset the invalidate flag.

6 years agoeolian: remove old declaration APIs
Daniel Kolesa [Thu, 8 Mar 2018 22:59:40 +0000 (23:59 +0100)]
eolian: remove old declaration APIs

6 years agoeolian cxx: replace declaration api with obj api
Daniel Kolesa [Thu, 8 Mar 2018 22:21:05 +0000 (23:21 +0100)]
eolian cxx: replace declaration api with obj api

6 years agoeolian: tests for new object apis
Daniel Kolesa [Thu, 8 Mar 2018 22:16:40 +0000 (23:16 +0100)]
eolian: tests for new object apis

6 years agopyolian: add support for object retrieval
Daniel Kolesa [Thu, 8 Mar 2018 22:07:01 +0000 (23:07 +0100)]
pyolian: add support for object retrieval

6 years agopyolian: wipe out declaration api
Daniel Kolesa [Thu, 8 Mar 2018 22:01:01 +0000 (23:01 +0100)]
pyolian: wipe out declaration api

6 years agoelua: remove declaration api from eolian bindings
Daniel Kolesa [Thu, 8 Mar 2018 21:58:22 +0000 (22:58 +0100)]
elua: remove declaration api from eolian bindings

6 years agoeolian: remove obsolete file_get APIs
Daniel Kolesa [Thu, 8 Mar 2018 21:54:12 +0000 (22:54 +0100)]
eolian: remove obsolete file_get APIs

6 years agoeolian cxx: remove usages of 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

6 years agopyolian: add Eolian_Object APIs and remove obsolete file_get ones
Daniel Kolesa [Thu, 8 Mar 2018 21:48:01 +0000 (22:48 +0100)]
pyolian: add Eolian_Object APIs and remove obsolete file_get ones

6 years agoelua: update eolian bindings for latest APIs
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

6 years agogl_drm: Use gl extension string helper instead of strstr
Derek Foreman [Thu, 8 Mar 2018 20:22:50 +0000 (14:22 -0600)]
gl_drm: Use gl extension string helper instead of strstr

6 years agoeolian gen: switch from decl api to object api
Daniel Kolesa [Thu, 8 Mar 2018 18:57:55 +0000 (19:57 +0100)]
eolian gen: switch from decl api to object api

6 years agoeolian: give objects names, and reduce duplication
Daniel Kolesa [Thu, 8 Mar 2018 18:30:40 +0000 (19:30 +0100)]
eolian: give objects names, and reduce duplication

6 years agoeolian: add APIs to retrieve declarations as objects
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.

6 years agogl_drm: Don't NULL init a variable we're about to set
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.

6 years agogl_drm: Check EGL client extensions before using platform_base
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.

6 years agogl_drm: Rename eng_gl_symbols to eng_egl_symbols
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.

6 years agogl_drm: Move some extension queries to after context creation
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.

6 years agoeolian: add API to query information about Objects
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

6 years agogl_drm: use EGL_IMG_context_priority if available
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

6 years agogl_drm: Move the gl symbol check to immediately after display init
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.

6 years agoeo: fix warning.
Cedric Bail [Wed, 7 Mar 2018 19:01:25 +0000 (11:01 -0800)]
eo: fix warning.

6 years agoeo: adjust test suite to take invalidate state into account.
Cedric Bail [Wed, 7 Mar 2018 19:00:06 +0000 (11:00 -0800)]
eo: adjust test suite to take invalidate state into account.

6 years agoecore: rely on Efl.Object.invalidate instead of a hack for Efl.Model.Container.Item.
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.

6 years agoeo: introduce invalidate and noref state.
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.

6 years agoecore_wl2: cleanup input code to string logic to reduce compiler warning and useless...
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.

6 years agoelementary: fix backward compatibility bug introduced by 9c8749b99a03d3601321da6d1607...
Cedric Bail [Wed, 7 Mar 2018 17:34:49 +0000 (09:34 -0800)]
elementary: fix backward compatibility bug introduced by 9c8749b99a03d3601321da6d16071dd7b631d1ae.

6 years agoecore-wl2: Check for valid string before passing to strlen()
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>
6 years agoecore-wl2: Reduce calls to strlen
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>
6 years agoeolian: get rid of old APIs for typedecl retrieval
Daniel Kolesa [Wed, 7 Mar 2018 12:53:08 +0000 (13:53 +0100)]
eolian: get rid of old APIs for typedecl retrieval

6 years agoeolian: remove old variable retrieval APIs
Daniel Kolesa [Wed, 7 Mar 2018 12:25:28 +0000 (13:25 +0100)]
eolian: remove old variable retrieval APIs

6 years agoeolian: remove old class retrieval APIs
Daniel Kolesa [Wed, 7 Mar 2018 12:08:49 +0000 (13:08 +0100)]
eolian: remove old class retrieval APIs

6 years agoefl_ui_focus_manager_calc: performe refocus after the node is deleted
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

6 years agoexamples: cxx: fix the compilation for slider example.
Amitesh Singh [Wed, 7 Mar 2018 10:25:19 +0000 (19:25 +0900)]
examples: cxx: fix the compilation for slider example.

6 years agoefl check - fix env var for CK_FORK=no
Carsten Haitzler (Rasterman) [Wed, 7 Mar 2018 06:35:18 +0000 (15:35 +0900)]
efl check - fix env var for CK_FORK=no

6 years agoelementary: entry - recover cursor position when theme is changed
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>
6 years agoelementary: bg - keep file path and key string for legacy bg widget
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>
6 years agoelementary: entry - fix to generate "activated" and "aborted" event in single line...
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>
6 years agoelementary: add missed type for legacy.
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>
6 years agoelemetary: spinner - free the longpress_timer when unfocused
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>
6 years agoelm: fix location of legacy include for elm_code.
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>
6 years agoefl_ui_multibuttonentry: maintainance legacy function type.
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>
6 years agoevas: increase offset by 4 to do work for next map points
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>
6 years agoeina: tighten grammar in eina_hash API docs.
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>
6 years agoeina: define the in/out params for eina_bezier
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>
6 years agoeina: use better parameter name in eina_rectangle
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>
6 years agoeina: specify error returns in @return for eina_list API docs
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>
6 years agoefl_wl: Don't create touch resources with pointer interfaces
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.

6 years agoecore - go back to args 0 being the command and 1+ being actual args
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.

6 years agoecore - efl threads - add thredio class
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.

6 years agoecore efl exe/task/thread - move stdin/out flags to task class
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.

6 years agoEfl.Ui.Slider: implement Efl.Ui.Range.range_step_set/get()
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.

6 years agoevas cache - fix return val to fix warning
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)

6 years agoevas cache image - protect against null cache ptrs
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.

6 years agoElm_code test: fix compilation
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

6 years agoefreet_xml: make sure we unmap the right pointer.
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

6 years agoefl loop - remove commented out code left over from work on theads etc
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

6 years agoefl.task - add an api to clear environment
Carsten Haitzler (Rasterman) [Sat, 3 Mar 2018 09:01:05 +0000 (18:01 +0900)]
efl.task - add an api to clear environment

6 years agoefl exe - fix indent
Carsten Haitzler (Rasterman) [Sat, 3 Mar 2018 08:57:17 +0000 (17:57 +0900)]
efl exe - fix indent

6 years agoefl loop promises - cleare out promise data to null
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.

6 years agoecore thread queue tests - reduce size and craziness and fix 1
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.

6 years agoecore file test - change url to a file we control.
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.

6 years agotests - eo - found eo_signals test is wrong... amazing it passed before
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...

6 years agoput efl app test back with mods to match app as superclass
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

6 years agoecore - a different take on efl.app class as a super class to efl.loop
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/

6 years agoRevert "cxx: Fix manual code after efl_app change."
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.

6 years agoeolian cxx,csharp: Update after eolian changes
Lauro Moura [Fri, 2 Mar 2018 22:58:20 +0000 (23:58 +0100)]
eolian cxx,csharp: Update after eolian changes

Closes D5829.

6 years agoelua: add missing APIs to eolian bindings
Daniel Kolesa [Fri, 2 Mar 2018 13:39:57 +0000 (14:39 +0100)]
elua: add missing APIs to eolian bindings

6 years agoelua: objectify unit and redo class retrieval
Daniel Kolesa [Fri, 2 Mar 2018 13:02:50 +0000 (14:02 +0100)]
elua: objectify unit and redo class retrieval

6 years agoeolian: remove old APIs for path retrieval
Daniel Kolesa [Fri, 2 Mar 2018 12:53:34 +0000 (13:53 +0100)]
eolian: remove old APIs for path retrieval

6 years agoelua: update path retrieval APIs
Daniel Kolesa [Fri, 2 Mar 2018 12:52:13 +0000 (13:52 +0100)]
elua: update path retrieval APIs

6 years agoeolian: remove old directory_scan/file_parse APIs
Daniel Kolesa [Fri, 2 Mar 2018 12:46:57 +0000 (13:46 +0100)]
eolian: remove old directory_scan/file_parse APIs

6 years agoelua: remove old dir scan/parse APIs
Daniel Kolesa [Fri, 2 Mar 2018 12:43:16 +0000 (13:43 +0100)]
elua: remove old dir scan/parse APIs

6 years agoelua: add new API prototypes in eolian bindings
Daniel Kolesa [Fri, 2 Mar 2018 12:37:00 +0000 (13:37 +0100)]
elua: add new API prototypes in eolian bindings

6 years agoeolian*: replace various directory_scan/file_parse
Daniel Kolesa [Fri, 2 Mar 2018 12:30:14 +0000 (13:30 +0100)]
eolian*: replace various directory_scan/file_parse