Commit Graph

16643 Commits

Author SHA1 Message Date
Cedric BAIL bb66aa37ca eo: preventing infinite loop by safely iterating over children during destructor.
Differential Revision: https://phab.enlightenment.org/D6078
2018-05-24 16:02:18 -07:00
Cedric BAIL 93893def9f ecore: properly handle shutdown of Efl.Loop children by using invalidate.
Differential Revision: https://phab.enlightenment.org/D6077
2018-05-24 16:02:18 -07:00
Cedric BAIL 23281bc54a ecore: disable signal during shutdown.
Differential Revision: https://phab.enlightenment.org/D6076
2018-05-24 16:02:18 -07:00
Cedric BAIL 2160fe0d4d eo: invalidate at the end of efl_invalidate only and prevent infinite recursion with an invalidating phase.
Differential Revision: https://phab.enlightenment.org/D6075
2018-05-24 16:02:18 -07:00
Cedric BAIL 266dabc096 ecore: force close during invalidate of Efl.Io.Buffered_Stream.
Differential Revision: https://phab.enlightenment.org/D6074
2018-05-24 16:02:18 -07:00
Cedric BAIL 0ac6e47697 elementary: use invalidate instead of overriding del for widget items.
Differential Revision: https://phab.enlightenment.org/D6073
2018-05-24 16:02:18 -07:00
Cedric BAIL 95f8bf2ebd elementary: rely on inheritance instead of faking efl_del behavior.
Differential Revision: https://phab.enlightenment.org/D6072
2018-05-24 16:02:18 -07:00
Cedric BAIL b265c5c887 elementary: make del_pre not return a bool and force rely on Eo ref counting.
Differential Revision: https://phab.enlightenment.org/D6071
2018-05-24 16:02:18 -07:00
Cedric BAIL a669fb820a elementary: prevent death of list item using Eo ref counting.
Differential Revision: https://phab.enlightenment.org/D6070
2018-05-24 16:02:18 -07:00
Cedric BAIL ad009667b5 elementary: remove now useless walking in item.
Differential Revision: https://phab.enlightenment.org/D6069
2018-05-24 16:02:18 -07:00
Cedric BAIL 4b30a7df8e elementary: use Eo ref counting to prevent death of genlist items.
Differential Revision: https://phab.enlightenment.org/D6068
2018-05-24 16:02:18 -07:00
Cedric BAIL 2a51465593 elementary: use Eo ref counting to prevent death of gengrid items.
Differential Revision: https://phab.enlightenment.org/D6067
2018-05-24 16:02:18 -07:00
Mike Blumenkrantz 6932f0fdd6 elm_list: prevent list item operations during item deletion
ref T6880

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>

Differential Revision: https://phab.enlightenment.org/D6066
2018-05-24 16:02:17 -07:00
Mike Blumenkrantz 499beb9162 elm_list: fix crash in item deletion
this is still broken

ref T6881

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>

Differential Revision: https://phab.enlightenment.org/D6065
2018-05-24 16:02:17 -07:00
Cedric BAIL ccb5642eb9 Revert "efl_add_ref - fis to use efl_add properly with a parent."
This reverts commit 2fb5cc3ad0.

Most of this change where wrong as they didn't affect the destruction
of the object. efl_add_ref allow for manual handling of the lifecycle
of the object and make sure it is still alive during destructor. efl_add
will not allow you to access an object after invalidate also efl.parent.get
will always return NULL once the object is invalidated.

Differential Revision: https://phab.enlightenment.org/D6062
2018-05-24 16:02:17 -07:00
Cedric Bail 36f8a70041 eo: to avoid mistake in timing, efl_invalidate should always be triggered before any destructor code.
Differential Revision: https://phab.enlightenment.org/D6061
2018-05-24 16:02:17 -07:00
Marcel Hollerbach 0090384ef5 elm_ctxpopup: prevent a giant load of errors
Summary:
i)  There have been 2 sorts of errors, first the items have been deleted
    after the list was deleted, thus the list items have already been
    destructed. which lead to the error as the popup items destroyed the list
    items on destruction as well.

ii) sd->box was attached to the ctxpopup when getting into group_del the
    box has already been destroyed by the cleanup logic.

Subscribers: cedric, zmike

Tags: #efl

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

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-24 16:02:17 -07:00
WooHyun Jung ea1760380e elm_main: call _elm_config_shutdown() after loop_iterate()
In _elm_config_shutdown(), _elm_config is freed.
So, if some ecore events call efl_ui_xxx API which refers _elm_config,
there can be crashes.

@fix
2018-05-24 15:30:29 +09:00
Cedric BAIL 9dce56687b eina: path get actually allocate memory and can't be pure. 2018-05-23 21:33:04 -07:00
Marcel Hollerbach d5fd76c190 efl_ui_focus_composition: track the deletion state of child objects
Reviewers: cedric, zmike

Reviewed By: cedric

Subscribers: #committers, cedric, zmike

Tags: #efl

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

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-23 21:16:01 -07:00
Mike Blumenkrantz b7530726c8 ecore-evas-buffer: defer resize callback until pre-render
Summary:
this mimics other engines, all of which have the same mechanics due
to display server interactions. it also avoids unnecessary recalcs before
pre-render if the canvas size was changing repeatedly

fix T6924
ref D6019

Reviewers: cedric, JackDanielZ

Reviewed By: JackDanielZ

Subscribers: #committers, JackDanielZ

Tags: #efl

Maniphest Tasks: T6924

Differential Revision: https://phab.enlightenment.org/D6145
2018-05-23 17:35:18 -04:00
Xavi Artigas e5ef9057b5 efl: rename Efl.Ui.Zoom.Mode -> Efl.Ui.Zoom_Mode 2018-05-23 17:33:47 +02:00
Xavi Artigas 61b409015e efl: rename Efl.Ui.Widget.Orientation_Mode -> Efl.Ui.Widget_Orientation_Mode 2018-05-23 17:33:47 +02:00
Xavi Artigas e31b3213ec efl: rename Efl.Ui.Text.Change_Info -> Efl.Ui.Text_Change_Info 2018-05-23 17:33:47 +02:00
Xavi Artigas 4ab7e3fda0 efl: rename Efl.Ui.Tab_Page.* -> Efl.Ui.Tab_Page_* 2018-05-23 17:33:47 +02:00
Xavi Artigas a7d29f7185 efl: rename Efl.Ui.Stack.Event_* -> Efl.Ui.Stack_Event_* 2018-05-23 17:33:47 +02:00
Xavi Artigas ee27519432 efl: rename Efl.Ui.Slider.Indicator_Visible_Mode -> Efl.Ui.Slider_Indicator_Visible_Mode 2018-05-23 17:33:47 +02:00
Xavi Artigas a0d4d3b140 efl: rename Efl.Ui.Pager.Loop -> Efl.Ui.Pager_Loop 2018-05-23 17:33:47 +02:00
Xavi Artigas 1e8b7cc405 efl: rename Efl.Ui.Focus.Composition.Adapter -> Efl.Ui.Focus.Composition_Adapter 2018-05-23 17:33:47 +02:00
Xavi Artigas cd349762c6 efl: rename Efl.Ui.Drag.Dir -> Efl.Ui.Drag_Dir 2018-05-23 17:33:47 +02:00
Xavi Artigas 761aaa269d efl: rename Efl.Ui.*_Legacy.Part -> Efl.Ui.*_Legacy_Part 2018-05-23 17:33:47 +02:00
Xavi Artigas d808147e6f efl: rename Efl.Text.Bidirectional_Type -> Efl.Text_Bidirectional_Type 2018-05-23 17:33:47 +02:00
Xavi Artigas 0f47f53f57 efl: rename Efl.Task.* -> Efl.Task_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 0e848ccf2d efl: rename Efl.Selection.* -> Efl.Selection_* 2018-05-23 17:33:47 +02:00
Xavi Artigas f78c5f3e6c efl: rename Efl.Observable.Tuple -> Efl.Observable_Tuple 2018-05-23 17:33:47 +02:00
Xavi Artigas f477d4ad36 efl: rename Efl.Net.*.* -> Efl.Net.*_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 92bf45bf7c efl: rename Efl.Input.Device.Type -> Efl.Input.Device_Type 2018-05-23 17:33:47 +02:00
Xavi Artigas 88e92a63ed efl: rename Efl.Gfx.*.* -> Efl.Gfx.*_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 8e0e1b702e efl: rename Efl.Gfx.Color_Class.Layer -> Efl.Gfx.Color_Class_Layer 2018-05-23 17:33:47 +02:00
Xavi Artigas 4396687b6c efl: rename Efl.Exe.* -> Efl.Exe_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 029f0769a5 efl: rename Efl.Event.Description -> Efl.Event_Description 2018-05-23 17:33:47 +02:00
Xavi Artigas 7a427b3bfc efl: rename Efl.Event.Animator_Tick -> Efl.Event_Animator_Tick 2018-05-23 17:33:47 +02:00
Xavi Artigas 18ae917be6 efl: rename Efl.Canvas.Gesture.* -> Efl.Canvas.Gesture_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 3e8b809999 efl: rename Efl.Canvas.Object.Animation.* -> Efl.Canvas.Object_Animation_* 2018-05-23 17:33:46 +02:00
Xavi Artigas 57b078f3df efl: rename Efl.Canvas.Animation.* -> Efl.Canvas.Animation_* 2018-05-23 17:33:46 +02:00
Hermet Park 9fcd03952e evas: fix a map rendering problem.
When map of a smart object is turned off, redraw-updation area could be incorrect.
This results in a mirror image problem.

for fixing this, let smart object request update-area in render_pre() properly only in case of map changed.

Thanks to akanad for reviewing together.

@fix
2018-05-23 22:58:57 +09:00
YeongJong Lee 495edbd995 elm: fix backward compatibility for "default" name part
Summary:
If you use legacy content/text set/get/unset with "default" part name,
_elm_layout_part_aliasing_eval change the part name to "elm.swallow.content".
Because internal _content_set/get/unset checked only "default" string,
legacy content/test set/get/unset with "default" part name was not working.
This patch fixes that bug.

Test Plan: elm_object_part_content/text_set(obj, "default", content)

Reviewers: Jaehyun_Cho, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6185
2018-05-23 19:35:18 +09:00
Mike Blumenkrantz efe5f92377 efl_ui_win: always force resize job on first pre-render
Summary:
ensure that a resize eval occurs after the frame edje has been thawed
so that sizing will be correct in engines which either still have
broken size handling (D6019) or have sub-optimal size handling (D6145)

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6165
2018-05-23 10:28:06 +02:00
Jihoon Kim 379ee0d0db elm_entry: add elm_entry_prediction_hint_hash_set/del API
elm_entry_prediction_hint_hash_set API sets the prediction hint data at the specified key, and
elm_entry_prediction_hint_hash_del API is for deleting the prediction hint data identified by a key.

@feature

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2018-05-23 11:27:34 +09:00
Derek Foreman 249ae8e5f0 ecore_wl2_window: Silence early commit ERR for mouse cursors
Summary:
Our wayland mouse cursor code can trigger commits with commit pending
when mousing into a window across CSD, which results in quickly setting
the default cursors then an animated resize cursor before the first commit
has finished.

Fixing this is non trivial, and the bug is just a harmless inefficiency
of little impact, so just disable the ERR for that specific case instead.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6184
2018-05-22 12:33:36 -04:00
Woochan Lee 428d74ebc1 efl_ui_tags: Fixed bug when setting format string.
Summary:
efl_ui_format_string_set was not working well.

Changed default format text. ("++++ %d" text for test only.)

@fix

Reviewers: Jaehyun_Cho, cedric, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: zmike, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6044
2018-05-20 03:58:41 +09:00
Woochan Lee 976b9d877e efl_ui_spin: Added special value feature.
Summary:
User may want to set as meanignful words for the value instead of numberic value.

@feature

Test Plan: elementary_test->test_ui_spin_button.

Reviewers: cedric, woohyun, Jaehyun_Cho, herb

Reviewed By: Jaehyun_Cho

Subscribers: zmike, felipealmeida, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5969
2018-05-20 03:11:55 +09:00
Daniel Kolesa 175b25ab2e eolian: integrate event type requirement into eo file grammar 2018-05-19 01:49:06 +02:00
Daniel Kolesa f747df69f9 eolian: force-enable event type checks
Now that event types have all been fixed, force-enable the
validation check.
2018-05-19 01:45:38 +02:00
Xavi Artigas 35bbedc96f efl: Add missing event types
Summary:
All events must have a type now, otherwise bindings don't know how to handle
the event_info field.
Most of the missing event types were actually "void" (no event_info present).
Some struct definitions had to be moved to eo instead of h files, so they
are available to bindings. Some have not, and are marked with FIXME.
Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb).

In general, there are hundreds of changed files, but mostly to add a type which
was not present before, so there's no harm done.
Also, A lot of FIXMEs have been added which should be, like, fixed.
For example, some events can send different types of event_info, which is
very inconvenient (and error prone).

Test Plan: make with c# bindings works, make check and make examples work too.

Reviewers: cedric, q66, lauromoura

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6169
2018-05-19 01:42:26 +02:00
YeongJong Lee 6fdc3794eb ecore_con: add check for invalid space("") name
Summary:
space("") name check had existed, but it was removed on f4306d654d
(in the _efl_network_connector_efl_object_finalize)
This patch restore the safety checks

Reviewers: barbieri, Hermet, Jaehyun_Cho, myoungwoon, zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6177
2018-05-18 13:47:04 -04:00
Derek Foreman 83e1a456a4 evas_main: Fix deleting pointer data
Summary:
This appears to be called from a delete callback that takes place well
after the eo parent relationship is deleted, however
efl_input_device_get_seat() finds the seat by finding the parent.  That
will always be NULL during this callback, so we'll leak the data.

Instead, search all seats for the pointer.
Depends on D6181

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6182
2018-05-18 13:46:36 -04:00
Derek Foreman 250b69c239 evas_device: Only remove pointer data on deletion of pointer devices
Summary:
This delete callback is shared for mouse, pointer, touch, and seat.  We
should only delete pointer data when we're called on a pointer.

Note that (at least under wayland) this particular bug is irreproducible
right now because, due to a ref leak, this deletion callback can never
fire.
Depends on D6180

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6181
2018-05-18 13:46:31 -04:00
Derek Foreman 7df3299070 efl_input_device: Fix seat_get
Summary: This was testing the same thing twice.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6180
2018-05-18 13:46:28 -04:00
SangHyeon Lee ebdb3b71a1 cursor: fix ABI break in widget item cursor APIs
Summary:
fix ABI break in widget item cursor APIs
by efl_ui_cursor interface implementing.

item's view were not elementary widget mostly,
reimplementing efl_ui_cursor on efl_ui_widget
cannot resolve item's cursor API call.

Test Plan:
check,
elm_object_item_cursor_XXX
API is working properly on elm_object_item.

Reviewers: cedric, jpeg, raster

Reviewed By: raster

Subscribers: stefan_schmidt, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6046
2018-05-19 01:21:12 +09:00
Xavi Artigas 5d1898dd9e eo: do not expose callback,add and del events in bindings
These events have been removed from efl_object.eo. Bindings can
still use the EFL_EVENT_CALLBACK_ADD and EFL_EVENT_CALLBACK_DEL
events from C, but they won't be available to the bound language.
The rationale is that bound languages probably will have their
own way to handle callbacks and C function pointers will mean
very little to them. For example, the binding code could route
the native callback through a dispatcher so the received
function ptr would always be that of the dispatcher method.

Closes D6179.
2018-05-18 16:45:11 +02:00
Lauro Moura f8a033fd70 efl_mono: Add support for Eina.Error/Empty in eina.Value
Summary:
eina.Value.Empty now means that we have an zeroed (empty) eina value.
For optional values that are empty use eina.Value.OptionalEmpty.

This was required to support the empty values passed with
EINA_VALUE_EMPTY in some Ecore futures.

Also, returning an eina_value by value is not supported in eolian
for safety reasons, so we removed some tests that tried to use this
behavior.
Depends on D6171

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6172
2018-05-17 16:56:11 -03:00
Hosang Kim ec670e9a22 efl_ui_scrollable: apply scroll_hold_push/pop and scroll_freeze_push/pop
Test Plan: elementary_test -> Efl.Ui.Scroller -> move slider

Reviewers: jpeg, woohyun, akanad, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: zmike, Jaehyun_Cho, eagle001, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5796
2018-05-17 18:17:44 +09:00
Youngbok Shin f17cae08e6 evas textblock: manage default style properly for new interfaces
Summary:
Calling efl_canvas_text_style_set() with empty key means
setting a default style to object. But, it counldn't store style
as default properly. It caused a crash issue from elementary_test.
@fix

Test Plan:
New test case is included. Run test suite. Or,
1. Run elementary_test
2. Find and launch "Image Zoomable animation" test.
3. Close the image test window.
4. See the crash issue.

Reviewers: raster, herdsman, jpeg, cedric, zmike

Subscribers: zmike

Tags: #efl

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

Committer's note: rebased and removed unrelated test.
2018-05-16 22:24:11 +03:00
Youngbok Shin f437a3075a evas textblock: update format nodes when a Evas Textblock Style is updated
Summary:
A style tag among a text has to be replcaed by its matched tag when
a format node is created. If the matched tag is changed, format nodes
should be updated.
But, if a style text for Evas Textblock Style is changed,
related format nodes are not updated without setting new text.
The patch changes to update format nodes when new style text is set.
@fix

Test Plan: Included in Evas Test Suite.

Reviewers: raster, tasn, herdsman, subodh6129, zmike

Subscribers: zmike, cedric, z-wony, Blackmole

Tags: #efl

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

Committer's note: rebased.
2018-05-16 22:24:11 +03:00
Marcel Hollerbach 5de88592bc efl_ui_win: hand-ref-count the provider object
Summary: Depends on D6108

Reviewers: cedric

Reviewed By: cedric

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6109
2018-05-16 13:30:33 -04:00
Marcel Hollerbach a218c883c7 Introduce efl_ui_widget_focus_manager
Summary:
The mixin encapsulates the correct
- creation
- composition attaching
- Lifecycle handling

of the focus managers that are assosiated with the object.

This fixes error messages on shutdown, and additionally lifetime issues
where the composite_attached object was deleted before the object was
deleted.

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: segfaultxavi, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6108
2018-05-16 13:30:28 -04:00
SubodhKumar b8c691ebd2 edje: Fix to support translation for textblock part
Summary:
Text translation in edc for textblock is missing.
Added to support it.

@fix

Reviewers: cedric, zmike

Reviewed By: cedric, zmike

Subscribers: shilpasingh, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6164
2018-05-15 12:44:29 -04:00
Daniel Kolesa ba31824a86 eolian: more useful namespace checks with no false negatives 2018-05-15 16:42:01 +02:00
Daniel Kolesa d26b6d0f22 eolian: initial simple namespace conflict check 2018-05-15 16:25:23 +02:00
Xavi Artigas 048adae83d Eo: introduce convenience macro efl_new()
Summary:
This is just a wrapper around efl_add_ref() with a NULL parent.
It only simplifies a bit object creation when no parent is desired, but it
simplifies a lot the explanation of the refcounting concepts (and tutorials).

Reviewers: cedric, bu5hm4n

Reviewed By: cedric, bu5hm4n

Subscribers: bu5hm4n, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6024
2018-05-15 09:53:24 -04:00
Andy Williams 767c211e70 Add missing continue keyword from Go definition 2018-05-15 14:49:04 +01:00
Marcel Hollerbach cfc66c08a1 evas: error out when there appeared a object while a new one is focused
Summary:
this is on the one side error prone and race, as reacting to a focus out
with a new focused object leads to weird cases. On the other side we are
then using eina hash wrong which leads to later weirdness as the element
that is assosiated with &key is broken.

Reviewers: raster, zmike, stefan_schmidt, cedric

Reviewed By: zmike

Subscribers: cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6158
2018-05-15 09:32:20 -04:00
Hosang Kim 19833657e8 elm_slider: fix test suite fail
Summary: change legacy widget name.

Reviewers: Jaehyun, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6162
2018-05-15 20:13:06 +09:00
Hosang Kim 5db61e4d64 efl_ui_slider: refactor slider widget.
Test Plan: elementary_test -> Efl.Ui.Slider, Efl.Ui.Slider_Interval, slider

Reviewers: woohyun, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: zmike, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5908
2018-05-15 14:16:00 +09:00
Mike Blumenkrantz 9c7f5ca33b elm: use build dir data when EFL_RUN_IN_TREE is set
Summary:
this prevents tests from loading user configs and providing inconsistent
results or accidentally modifying a user's config

fix T6863
Depends on D6013

Reviewers: cedric, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: stefan_schmidt

Tags: #efl

Maniphest Tasks: T6863

Differential Revision: https://phab.enlightenment.org/D6014
2018-05-14 18:26:21 +02:00
SubhransuSekhar Mohanty bdca8f0c71 edje: return proper value from the function.
@fix
2018-05-14 13:26:54 +09:00
Alastair Poole a92b80ff86 elm_code: add EOAPI to refresh theme after a user layout change.
Hopefully this retains the object hierarchy. Gives us a method
to update the widget theme after a layout change.
2018-05-13 17:16:13 +01:00
Daniel Kolesa 577c00789a eolian: second batch of unused import removals
This fixes all remaining occurences introduced by false negatives
in 6bcd70f01d. The rest was already
fixed in 6be3809c04.
2018-05-13 18:13:12 +02:00
Daniel Kolesa 6bcd70f01d eolian: fix false negatives in unused dependency static checker
It is not necessary to check entire classes/typedecls/variables
when referenced, as that also checks their contents and adds
false negatives. It is enough to simply add their own unit
as a 'used' dependency and let the system do the work, besides
for actual declarations in the checked file.
2018-05-13 18:10:37 +02:00
Daniel Kolesa 6be3809c04 eolian: first batch of unused import removals
Initial results of our static analysis showed a bunch of unused
imports or imports used only for documentation references. In the
first case, remove entirely, in the second case, change to 'parse'
in order to keep references working.

The static analysis is not perfect and yields false negatives for
certain cases, so there will be a second batch later.
2018-05-13 17:28:47 +02:00
Daniel Kolesa 1f4f7e8597 eolian: cycle checks for all toplevel decls in static analyzer
This is necessary because e.g. typedecls can introduce cycles into
the system by self-referencing in struct field expressions.
2018-05-13 17:06:12 +02:00
Daniel Kolesa a923a94f85 eolian: always validate entire staging area
This is necessary even when parsing a single file because there
may be parsed results directly in the staging area introduced by
doc references, those wouldn't get correctly validated and would
be left in an inconsistent and unusable state.
2018-05-13 17:06:12 +02:00
Daniel Kolesa e50aa5e1c9 eolian: check does no changes, so take a const state 2018-05-13 17:06:12 +02:00
Alastair Poole 4d61374872 elm_code_widget: on theme change update the background widget.
This ensures consistency between the colours of the widget and
its parent. When theme changes the whole visible region changes
and matches so that it isn't bogus and ugly.
2018-05-13 13:43:08 +01:00
Lauro Moura da6f5932f1 efl_mono: Support type aliases.
Summary:
Due to the absence of typedef from C#, we generate thin structs with
implicit operators to allow reference the data from their typedef'd name
from C#.

The other alternatives would be always converting to the lowest base on
the alias stack (losing the meaningfulness of the typedef name) or using
the 'using' directive. The latter has the restriction that it makes an
alias visible only in the file they are declared.

Reviewers: felipealmeida, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6157
2018-05-11 11:01:59 -03:00
Daniel Kolesa 95e3468aee eolian: introduce initial out-of-validation static checking
For now this checks for validity of explicitly imported
dependencies in eo/eot files. It will warn if the dependency
is unused.
2018-05-11 14:02:36 +02:00
Marcel Hollerbach 6c25b38a1c elm_toolbar: only use the more_item if mode is correct
the more item is only usefull for SHRINK_MENU and SHRINK_EXPAND,
otherwise the item should not be there.
2018-05-10 13:34:39 +02:00
Marcel Hollerbach dda350e3b4 evas: introduce a log domain to monitor which object gets focus 2018-05-10 13:34:32 +02:00
Marcel Hollerbach 8e104d5bfe efl_ui_focus_manager_root_focus: restructure state eval
registering and unregsitering caused a few issues.
- Relations are recalculated even if they should not be
- We unfocus a element just to refocus it again
- We loose any iinformation about custom chains that have been set meanwhile

This fixes it
2018-05-10 13:34:17 +02:00
Marcel Hollerbach 05d4f0b256 efl_ui_focus_manager_root_focus: support a custom canvas object 2018-05-10 13:34:03 +02:00
Carsten Haitzler 9cf5b97a8a ecore - dont rely on commons merge for func ptr
use a proper extern delcaration to do this not a extern func ptr.
fixes compile errors with lto on.
2018-05-09 23:58:48 +09:00
Daniel Kolesa 3685bcd61d eolian: add optional warnings about events missing a type
Set the EOLIAN_EVENT_NO_TYPE_WARN environment variable to enable
those warnings during Eolian usage. They will be considered a part
of the validation then.

Use the void type for events to suppress the warning.
2018-05-09 15:44:36 +02:00
Yeongjong Lee 6c252fc16c efl_ui_widget: use efl_data_scope_safe_get instead of macro
Summary: This macro isn't actually as safe as this safe data_get.

Reviewers: woohyun, Jaehyun_Cho

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6133
2018-05-09 10:19:38 +09:00
Derek Foreman 0ef79bb941 ecore_wl2: complain loudly when move or resize doesn't provide a seat
Summary:
We now have the ability to provide the seat information properly, so
fire off an ERR if a caller doesn't.
Depends on D6131

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6132
2018-05-08 13:27:00 -05:00
Derek Foreman 23d5ee88d5 ecore_wl2: warn on unused result from ecore_wl2_input_seat_id_get
Summary:
Make it harder to misuse this function in the future.
Depends on D6129

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6130
2018-05-08 13:26:54 -05:00
Derek Foreman 1ced5e65fd efl_selection: return wayland seat id if present
Summary:
We looked it up, we probably wanted to return it?
Depends on D6128

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6129
2018-05-08 13:26:50 -05:00
Derek Foreman ed60eddff5 ecore_wl2: Fix window drag mouse eventing
Summary:
When a CSD button interaction under wayland leads to a compositor action
like move or resize, we essentially "give back" that button press to the
compositor, and it never sends us a mouse up for it.

We need to internally fire a mouse up event to fix up state so the client
doesn't think the mouse is still down.  Until now we've been doing this
by setting a flag when we start a move/resize and checking it at next
pointer enter for the window.

This leads to unsolvable races and wacky bookkeeping, and runs afoul of
the fact that we're not actually guaranteed a pointer enter immediately
after a move completes.  There is absolutely no way at all on wayland to
know if a move or resize operation has completed.

So, let's just fire the mouse up immediately on start of interaction,
which is raceless.

This fixes a years old bug where dragging a window might leave a stuck
mouse up, and allow hilighting text without drag after the window drag
completes.  (elementary-test -to "text editor" with multiple windows open
exhibits this bug)
Depends on D6127

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6128
2018-05-08 13:26:46 -05:00
Derek Foreman f78ff5f445 ecore_wl2: Remove ecore_wl2_input_grab/ungrab
Summary:
These should never be called, so they shouldn't be API.

This kind of internal state fiddling should happen implicitly in the
API that need it.

@beta_break
Depends on D6126

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6127
2018-05-08 13:26:42 -05:00
Derek Foreman 83f2f086a5 efl_selection_manager: Stop calling ecore_wl2_input_ungrab
Summary:
This "ungrab" thing appears to just send a mouse up event in some
situations.

This already happens at *start* of drag, so at best calling it again will
do nothing, and at worst it'll break input.
Depends on D6125

Reviewers: zmike, cedric

Reviewed By: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6126
2018-05-08 13:26:39 -05:00