Commit Graph

58004 Commits

Author SHA1 Message Date
Daniel Kolesa 3ae67b24b3 eolian: validate staging unit when parsing all 2018-03-22 16:27:35 +01:00
Daniel Kolesa 93a64c5eab eolian: clean rollback support
Previously, when an error happened in Eolian, the state was left
in a presumably unusable and inconsistent condition. This work
aims to change that, as all changes are committed into a staging
area before being validated and merged back into main state.

This is not yet complete, as units and by-file lookups are not
currently involved in the rollback. This will change in the
subsequent commits.

@feature
2018-03-22 15:37:25 +01:00
Daniel Kolesa d9a8fe0fca eolian: add state staging area
This will be used for clean rollbacks on errors.
2018-03-22 15:37:25 +01:00
Daniel Kolesa bc182e69d7 eolian: flush defer table before parsing 2018-03-22 15:37:25 +01:00
Cedric BAIL bc18b7e7ad efl: replace efl_del with efl_unref for cases where no parent exists
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL 168849e8a0 eo: use unref instead of del when constructor fails without parent
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL db92072338 edje: implement invalidate method and unset device callbacks here
prevent crashing in dangling callbacks

ref d26124a6d818f62d892e178d92098f5159a8c9e0

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL cd8952cc6c efl_ui_win: match return value to function type in elm_win_window_id_get
ref 08c9f99134

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL 21f96c2a71 edje: remove device callbacks on canvas del
avoid some race conditions when devices change during destructor

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL de667f889e tests: fix misuse of eina_file in evas mesh tests
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL 6b2923c8de edje: avoid triggering errors when deleting edje file if canvas is deleted
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:57 -07:00
Cedric BAIL 4c4177ac20 efl: use efl_add_ref to create objects which have no parent
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-20 17:20:56 -07:00
Cedric Bail a1bf513920 eo: start reporting abuse of efl_del 2018-03-20 17:20:56 -07:00
Lauro Moura f9586a831b csharp: Add support for efl parts as Properties
Instead of
   var bg = efl.ui.Background.static_cast(myobj.Part("background"));

Now do
   var bg = myobj.Background;

Also a couple helper functions were added.
2018-03-20 16:50:30 -03:00
Lauro Moura 9a6dd32cb1 eolian_cxx: Fill documentation of part_def. 2018-03-20 16:50:30 -03:00
Lauro Moura 38bf8cc923 eolian-cxx: Add helper method to get all parts
Line get_all_methods, gets everything from the inherits too.
2018-03-20 16:50:30 -03:00
Lauro Moura 7fc20c08ee csharp: Use the library mapping on linux too.
Now the generated DllImport call will have the actual library name
instead of placeholders on Linux. Before we relied on dlsym being able
to search for the symbols on all loaded so's while Windows needed you to
specify the correct library to call GetProcAddress.

This fixes the case when someone call an function from an efl interface
defined in efl.so (e.g. efl_part) and the library is not loaded yet.
2018-03-20 16:50:30 -03:00
Derek Foreman 94ddefc6fb ecore_wl2: Send a mouse-up event on reentry after client initiated resize
Apparently when we initiate a client side move in ecore_wl2 we flag that
and send a mouse-up immediately on the next pointer enter.

Do the same for resize.

At some point this might need to be revisited, we should probably be
sending a "cancel" at the start of client initiated move/resize instead
of an up at the end?

Fix T6422
2018-03-20 14:30:39 -05:00
Daniel Kolesa 2db8e8e914 eolian: make use of panics for certain alloc errors 2018-03-20 17:34:51 +01:00
Daniel Kolesa 7c6d8010a8 eolian: no need for printf-style for internal log funcs 2018-03-20 17:34:51 +01:00
Daniel Kolesa a1ae5cd918 eolian: use new error logging for all recoverable errors 2018-03-20 17:34:51 +01:00
Woochan Lee 008d990181 efl_ui_clock: Fix wrong target to compare with.
Summary:
It breaks API action.

It missed when implement efl_ui_clock i think.

@fix

Test Plan: elementary_test -> efl_ui_clock sample.

Reviewers: cedric, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5826
2018-03-20 21:09:30 +09:00
Carsten Haitzler 6391a13558 efl.task - move to returning future insead of bool + exit event
title says it all...
2018-03-20 20:56:46 +09:00
Cedric Bail 2a14a283e8 eo: slight improvement of invalidate code as parent_set(NULL) will be valid on an invalidated object. 2018-03-19 16:47:28 -07:00
Cedric Bail 21164b5a56 eo: automatically cancel a future that is attached to an invalidated object. 2018-03-19 16:38:07 -07:00
Cedric Bail 08c9f99134 elementary: make sure windows are not born orfan and properly have at least a main loop as parent. 2018-03-19 15:39:14 -07:00
Cedric Bail 1fcb33f422 elementary: make global object lifecycle depends on the main loop. 2018-03-19 15:38:26 -07:00
Cedric Bail 2c336d3063 evas: use efl_add_ref for the container, might consider using a parent later on. 2018-03-19 15:36:58 -07:00
Cedric Bail 90bae9b271 evas: technically the evas canvas is using the main loop, so let's make canvas depend on it for their lifecycle. 2018-03-19 15:36:18 -07:00
Cedric Bail 2d973475ee edje: global class should actually be bound to the main loop. 2018-03-19 15:33:44 -07:00
Cedric Bail c3c5620c1c ecore: the main loop has no parent and only one ref, let's properly create it. 2018-03-19 15:33:11 -07:00
Cedric Bail fccaeb182e eo: update tests to also use efl_add_ref correctly. 2018-03-19 14:27:01 -07:00
Cedric BAIL a5bb8bf3df eo: check return in efl_add before performing more operations
this fixes a crash on objects which fail to be created using efl_add_ref

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-19 13:04:45 -07:00
Cedric BAIL e1a53fe125 eo: start printing warning when instanciating object with efl_add and no parent. 2018-03-19 13:04:45 -07:00
Cedric BAIL 3f5ac71ad6 eldbus: ensure the lifetime of the eldbus object path is monitored for proxies
the object is instantly destroyed when connection is lost

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-19 13:00:25 -07:00
Cedric BAIL 67b135ab87 eldbus: use efl_del when clearing the model connection child list
it is an error to delete an object with an existing parent

Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-19 13:00:25 -07:00
Cedric BAIL 46992cbed5 tests: do not call unref on eldbus message objects after sending them
Signed-off-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2018-03-19 13:00:25 -07:00
Davide Andreoli 97289953ec Pyolian: fix __repr__ for Documentation 2018-03-17 12:06:34 +01:00
Davide Andreoli 2cb896dfab Pyolian doc generator: update wrt name API changes
Argh, this has been difficult... hopefully I have done
this right
2018-03-17 11:37:13 +01:00
Davide Andreoli 35316db2f0 Pyolian: let ctypes automatically convert types
Not a big improvement and not so much automatically...
but for sure a bit less to type :)
2018-03-17 10:49:42 +01:00
Davide Andreoli ef3e487b0c Pyolian: use tuple instead of list in declarations
This is a bit more correct and (maybe) a bit more faster
2018-03-17 10:31:33 +01:00
Davide Andreoli 6ef5f30a85 Pyolian: new API eolian_unit_state_get 2018-03-17 10:19:28 +01:00
Davide Andreoli 0a00e4cca1 Pyolian: new API eolian_object_unit_get
Also implemented __repr__ for Unit and State
2018-03-17 10:01:24 +01:00
Davide Andreoli 1ab22e4f00 Pyolian: fix tests wrt name/short_name/full_name API changes 2018-03-17 09:46:17 +01:00
Davide Andreoli 81d15b7cd8 Pyolian: add support EOLIAN_SO_DIR env var
Thanks goes to @lauromoura for proposing this in D5840
2018-03-16 20:00:49 +01:00
Derek Foreman 7784405ad9 ecore_wl2: Silence a commit ERR on window hide
Cosmetic fix, should be functionally identical.  Hide can be called
asynchronously, so it's ok, and the ERR can be silenced.
2018-03-16 12:48:41 -05:00
Daniel Kolesa 9610459502 eolian: add APIs to get unit from object and state from unit 2018-03-16 16:16:16 +01:00
Daniel Kolesa 60c733670d eolian: intial API for a new error mechanism
Unlike panic, this will be used to handle regular errors
such as parse errors. There will be no jumps and you
will be able to pass in a pointer to get the error
data into some local memory. That way you will be
able to override printing error messages.
2018-03-16 16:07:12 +01:00
Daniel Kolesa 927bcfd60a eolian: initial API for a new panic mechanism
This will be used to handle unrecoverable errors.
For robustness, you will be able to set a custom
panic callback, jump and try to recover manually.
2018-03-16 15:41:57 +01:00
Lauro Moura 2705ea8531 csharp: Fix support for ptr(structs)
In general, ptr(struct) parameters behavior depends whether the
parameter has the @owned modifier or not.

If there is no @owned parameter (meaning no transfer of ownership
happens) and it is a "complex" struct, with reference type fields
(like strings), the struct is converted to the respective
<Struct>Internal struct and passed with "ref" to the DllImport'd
function. For @in parameters, after the function it returns, this
intermediate struct is converted to the public struct type and
assigned to the original parameter, updating it to the external
world.

When we have ownership transfers, the structure is copied to unmanaged
memory and given to the callee. We can't send managed memory directly as
the callee may try to free it. On the managed side, the original struct
is left to be garbage collected normally.
2018-03-16 11:12:49 -03:00