Commit Graph

15837 Commits

Author SHA1 Message Date
Mike Blumenkrantz 5263f311f4 efl_widget_item: remove 'del'
this now uses regular efl_del
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 804fc1667a efl_access_component: resolve property name conflicts
this class is a giant FIXME for anyone looking to do refactoring work.
the only reason it seems to exist is to provide wrappers around
efl.gfx functions and provide screen position adjustments--something
which isn't even viable under wayland

note that a test was removed here due to the corresponding method being
removed
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz f8e93775c0 efl.access: remove parent property
most of this is just a reimplementation of efl_provider_find
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 8b7bbb2398 efl.access: name -> i18n_name 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 76eb02303a efl: rename player.position property -> player.pos
position conflicts with gfx.position; this could maybe be named better?
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 5025569f77 eio: sentry.del -> sentry.remove 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 30e52e9413 ecore_audio: remove "name" property 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz ac909ac04c efl-net: rename conflicting "name" properties 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz eda0c85910 eldbus: rename conflicting "name" properties for some classes 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz fcfd832ce5 eldbus: rename custom constructor methods
"constructor" conflicts with the base efl object constructor

some of the params for these should maybe be refactored into properties
and use finalize?
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 005f3ef955 evas_textgrid: size -> grid_size
this conflicted with efl_ui_base.size
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz e87567c683 evas_table: remove mirrored property
use efl_ui_base.mirrored instead
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz f19da9b4a8 evas_grid: size -> grid_size
this conflicted with efl_ui_base.size
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 2caaf09ea2 evas_grid: remove mirrored property
use efl_ui_base property
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz f903665957 evas: move smart_objects_calculating to Efl_Canvas 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz ee689bb000 evas: remove Evas_Canvas.smart_objects_calculate
also implement Efl_Canvas method
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 1813c2084c evas: move more canvas method implementations into evas_main.c 2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 099f9ba8a9 evas: remove Evas_Canvas.object_top_in_rectangle_get
also implement Efl_Canvas method
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 17687f4066 evas: remove Evas_Canvas.objects_in_rectangle_get
also implement Efl_Canvas method
2018-02-15 13:11:00 -05:00
Mike Blumenkrantz 7bfaf6b63d evas: remove Evas_Canvas.object_top_at_xy_get
also implement Efl_Canvas method
2018-02-15 13:10:59 -05:00
Mike Blumenkrantz 420ba4691d evas: remove Evas_Canvas.objects_at_xy_get
also implement Efl_Canvas.objects_at_xy_get

note that any function which returns an iterator cannot be @const since
it's necessary to wref the object to ensure the iterator's lifetime
2018-02-15 13:10:59 -05:00
Mike Blumenkrantz 3789e3e1dc efl: merge list->iterator creation function into evas_main.c and reuse
this deduplicates a large amount of code
2018-02-15 13:10:59 -05:00
Mike Blumenkrantz 0a9bb2543f evas: move more canvas functions into evas_main.c
typechecking is an important part of compilation
2018-02-15 13:10:59 -05:00
Mike Blumenkrantz 4b91654e5f evas: move evas_stack.c -> evas_stack.x
this file contains canvas methods which should be subject to compiler
type checking, requiring that they be included in the file which contains
the eolian generated code
2018-02-15 13:10:59 -05:00
Mike Blumenkrantz 59583a6f89 evas: properly implement evas_image_max_size_get() as a wrapper
ref 457dc16cffdd5f9c6ce42e72beddad06fa36f0c0
2018-02-15 13:10:59 -05:00
Mike Blumenkrantz 29f035cef8 evas: move canvas eolian functions from image.c -> main.c
this reveals existing breakage which went unnoticed due to the compiler
being unable to do type checks since the generated eolian code was not included
2018-02-15 13:10:59 -05:00
Larry Jr 4362047313 Elementary: remove needless structs in Efl_Ui_List 2018-02-15 15:08:54 -02:00
Larry Jr ee0cbdad17 elementary: efl_ui_list change SegArray tree to Efl.Object 2018-02-15 15:08:54 -02:00
Larry Jr 10d10dfa5d elementary: efl_ui_list model_set update values fixed 2018-02-15 15:08:54 -02:00
Larry Jr 73a8ddf18f elementary: efl_ui_list_segarray fixed remove last block item 2018-02-15 15:08:54 -02:00
Larry Jr 7e0f98a794 elementary: efl_ui_list focus manager fix
fixed focus changed with keyboard
fixed scroll in focus
fixed focus in example
2018-02-15 15:08:54 -02:00
Derek Foreman f80061e184 ecore_wl2: Take a library reference on surface create
Since surface handling is now done via modules, we need to ensure
the library can't be shutdown while a surface exists.  Otherwise,
we get a segfault trying to call a function we've unmapped.

Fixes a bug on shutdown for some wayland clients using software
rendering.
2018-02-15 11:07:12 -06:00
YeongJong Lee 6f0d962f67 efl_ui_focus_manager_sub: remove needless call
Summary: focus manager is not assigned in constructor

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5772
2018-02-15 14:53:46 +01:00
YeongJong Lee 837a806b21 elm_hover: remove focus_layer related code
Summary:
because elm_hover implements Efl.Ui.Focus.Layer, focus_layer related code
dosen't needed.

Test Plan: elementary_test - hover

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5758
2018-02-15 14:53:28 +01:00
Youngbok Shin 855c1886b6 elementary: fix legacy widget type name for backward compat
Summary:
For example, the widget type of elm_button was "Elm_Button".
But, the object which is created by elm_button_add() will
return its widget type "Efl.Ui.Button_Legacy".
It is not legacy name. It should be fixed to return "Elm_Button".

I don't know when but eolian start to make class name with ".".
So, it should be converted to "_" for all widgets.

@fix

Test Plan:
All test cases are included in this patch.
Run "make check"

Reviewers: raster, cedric, jpeg, taxi2se

Reviewed By: cedric

Subscribers: taxi2se, woohyun

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Bryce Harrington 274730fc5f eina: improve documentation for eina_bezier.
Summary:
Adds missing @param docs and fixes an incorrectly documented one.
Clarifies difference between 'length' and 'position', specifying the
latter is a number between 0.0 and 1.0.  Improves verbage here and there
for grammatical correctness and internal consistency.

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Bryce Harrington ba64b372d3 eina: make doxygen @notes consistent in eina_hash
Summary:
These routines all have slight permutations of the same basic note, but
are each formatted a bit differently.  Fix that and a few punctuation
irregularities.

Similarly for a couple @warnings, and escalate one @note to a @warning
since what it describes might be a security issue so deserves
highlighting.

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Bryce Harrington d58ae6b12f eina: fix minor spelling mistake in eina-private.h doxygen
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Bryce Harrington 572ffe7271 eina: use matrix compose in place of equivalent code in matrix multiply
Summary:
The eina_matrix3_compose and eina_matrix3_multiply API's are
mathematically identical (even though the implementations are
reversed... weird), except that the latter also includes a fastpath for
identity matrices.

Having two functionally equivalent APIs is redundant, so ideally one or
the other would be dropped.  But in order avoid API breakage, just have
one routine wrapper the other and eliminate the internal redundancy.

(Note that the parameter signatures of the two routines are different -
eina_matrix3_compose() takes the two input matrices first, and the
output matrix last, while eina_matrix3_multiply() takes the parameters
in the reverse order.  This inconsistency in the API style could result
in accidentally erroneous usage and would be an argument for deprecation
of one of the two APIs.)

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Reviewers: cedric

Reviewed By: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Yeshwanth Reddivari 9c191d3890 ecore_file: modify check for wd in file monitor del
Summary:
Make checks consistent in ecore_file_monitor_backend_del.
inotify_add_watch can return 0 as well on success.
So, even if wd is 0, inotify_rm_watch need to be invoked.

Reviewers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Bryce Harrington cf2ce1c675 eina: cleanup doxygen for eina_rectangle.
Summary:
Some spelling/punctuation/grammar/formatting fixes to make the
rectangles doxygen more consistent.  Simplify wording in several places,
including removing redundant documentation of return values.  Reword the
rectangle cutting API's to be more clearly worded.  Make clearer mention
of parameters that get changed by the function call, and ones that
allocate memory.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
subhransu mohanty 44c23ddec3 evas/vg: reset the path data in destructor.
Summary: As the gfx_path mixin class destructor is not called hence explicit call of reset.

Reviewers: jpeg, SanghyeonLee

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Sungtaek Hong 73f8b3b78f efl.ui.layout: change signal name for icon/text
Summary:
when set/unset icon and text,
signal "elm,state,[part],visible/hidden" is emitted.
This is wrong because visible/hidden should be handled by
Efl.Gfx.visible, not Efl.Text nor Efl.Content.
This should be changed into elm,state,[part],set/unset"
All relating edc should be fixed.

Test Plan: run elementary_test->button, Efl.Ui.Button

Reviewers: jpeg, cedric, woohyun, Jaehyun_Cho

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-02-14 12:47:40 -08:00
Derek Foreman ce3467f0b1 efl_wl: Update native surface for dmabuf test too
Should've added this to the last commit - though this change is purely
cosmetic as the test can never trigger direct scanout.
2018-02-14 14:40:31 -06:00
Derek Foreman a2b5dbf1d8 efl_wl: Update native surface usage
We should be zeroing out the dmabuf scanout stuff.
2018-02-14 14:35:19 -06:00
Mike Blumenkrantz 285c0bbfdc efl-wl: check for existing keyboard enter before sending leave
ref 4a32e2456e
2018-02-14 15:06:27 -05:00
Wonki Kim b84206c4b6 elementary: modify return value of scroller_movement_block_get
Summary:
A return value of scroller_movement_block_get has been changed by applying the commit(ffa041fe)
The API returned a value which is being exclusively before, but now it returns a composition of states.

This patch modify the api to return "A state" of block mode.

Test Plan:
	1. set movement block mode as ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL for a scroller
	2. get movement block mode for the scroller
	3. compare the value and ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL by using == operation, not & operation

Reviewers: jpeg, cedric, woohyun, raster

Subscribers: raster

Differential Revision: https://phab.enlightenment.org/D5793
2018-02-14 10:42:17 +09:00
Derek Foreman 3da806bf3b ecore_wl2_surface_dmabuf: fix memory leak on surface destroy
We need to free the surface private data on destroy.
2018-02-13 17:31:41 -06:00
Derek Foreman 8708bfb0bf ecore_wl2: Fix memory leak on shutdown
The output list wasn't properly cleaned up on shutdown/disconnect.
2018-02-13 17:10:04 -06:00
Mike Blumenkrantz 708c4ab576 efl_selection_manager: shut up shut up shut up ecore-x when running in wayland
fix T6643
2018-02-13 17:31:12 -05:00
Mike Blumenkrantz f9ef210005 efl_gesture_manager: free hash in destructor
every canvas object has had this leak for some time:

==25217== 64 bytes in 1 blocks are definitely lost in loss record 1,669 of 3,515
==25217==    at 0x4C2FB6B: malloc (vg_replace_malloc.c:299)
==25217==    by 0x688D839: eina_hash_new (eina_hash.c:755)
==25217==    by 0x688D940: eina_hash_string_superfast_new (eina_hash.c:791)
==25217==    by 0x6265F8C: _efl_gesture_manager_efl_object_constructor (efl_gesture_manager.c:66)
2018-02-13 17:23:44 -05:00
Daniel Kolesa 0745ec922b eolian: properly initialize warned (to avoid random parse failures) 2018-02-13 21:48:46 +01:00
Chris Michael a78dc2d816 ecore-drm2: Add API functions to get/set output relative mode
These API functions will be used inside Enlightenment in order to
determine the proper extended screen size based on outputs relative
position.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-02-13 11:44:11 -05:00
Chris Michael 45bffff535 ecore-evas-drm: Include Evas_Internal header
We need to include this header so that we can use the new
efl_canvas_output functions

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-02-13 11:44:01 -05:00
WooHyun Jung b5a574f6e2 efl_ui_nstate: missed to add private.h 2018-02-13 23:26:14 +09:00
WooHyun Jung d679425c48 efl_ui_nstate: make "changed" callback is called properly
- "changed" callback is not called when theme_apply is called
- elm_check_state_set does not call "changed" callback to keep
  backward compatibility
2018-02-13 22:50:14 +09:00
WooHyun Jung 5d5538de5c Revert "elm: do not call "changed" callback when setting style"
This reverts commit b1ee35e35c.
2018-02-13 19:20:19 +09:00
WooHyun Jung 23877f2c44 Revert "Efl.Ui.Nstate: do not call "changed" callback"
This reverts commit fd8e9f9c4e.
2018-02-13 18:39:20 +09:00
Daniel Kolesa c82b30cc3c eolian: print all duplicate warnings before aborting build
Instead of aborting at the first warning, accumulate the warnings
and stop at the end of validation.
2018-02-13 10:17:41 +01:00
Carsten Haitzler 4195242c9b elm focus ... set focus in focus in if focus is not already on something
let's actually set focus in focus_in on window (ecore evas) IF focus
is not set. this seems to make terminology still work...
2018-02-13 18:12:11 +09:00
Carsten Haitzler 4eb5b2d3e8 efl ui win - if job runs after destruction of evas so dont flush pending 2018-02-13 15:28:47 +09:00
Carsten Haitzler 5db6b05187 elm - dont get top widget for non-ui objects 2018-02-13 15:21:49 +09:00
Carsten Haitzler 93e833d8cd efl ui win - fix focus break for terminology (at least)
at least terminology was broken by this. perhaps other efl apps. if an
efl app has decided to manually play with focus itself, like set focus
to some obj then leav ie, this line breaks that and interferes with
the object focused whenever the window gets focus set. if there is a
focus manager at least this is a new thing and so let the focus
manager set focus, but dont set old evas focus.

this fixes the break added in 56beb861e8
2018-02-13 13:46:38 +09:00
Wonki Kim 8988a02744 evas_polygon: Fix segfault while creating the object
Summary:
Calling evas_object_polygon_add(NULL) cause segmentation fault,
because there has been removed null check logic in evas_object_polygon_add(0ff7429)

This patch fix the problem.

Test Plan:
	1. Call evas_object_polygon_add(NULL)
	2. Check segmentation fault happen

Reviewers: cedric, jpeg, woohyun, jypark

Differential Revision: https://phab.enlightenment.org/D5801
2018-02-13 13:15:19 +09:00
Mike Blumenkrantz 536bfb7613 evas_vg: implement interpolate from Efl.Gfx.Path 2018-02-12 17:14:34 -05:00
Mike Blumenkrantz 09f2fab144 interfaces: merge all bounds_get methods into efl.gfx.path
ref 884fc35160
2018-02-12 16:59:48 -05:00
Mike Blumenkrantz 27ae060633 evas3d: use a type setter function with finalize instead of a custom constructor
resolves a conflict with the 'constructor' method name
2018-02-12 16:47:41 -05:00
Mike Blumenkrantz 87d741052b evas3d: add "unknown" node type for use with errors 2018-02-12 16:47:40 -05:00
Mike Blumenkrantz f85325d924 interfaces: remove Efl.Text.Properties
this is provided in Efl.Text.Font
2018-02-12 16:38:51 -05:00
Mike Blumenkrantz 05200163ed efl_text_font: copy docs from efl_text_properties 2018-02-12 15:58:00 -05:00
Mike Blumenkrantz a03bcd34af efl_vg: use efl.object's name property instead of implementing a new one 2018-02-12 15:56:46 -05:00
Mike Blumenkrantz 884fc35160 ector: rename ector_renderer "bounds_get" method to "boundary_get"
this conflicted with a method from Efl.Gfx.Path
2018-02-12 13:47:15 -05:00
Mike Blumenkrantz 11d5bac1d3 ector: fix property/method name conflict for "fill"
Shape implements a property, sw/gl/cairo implements a method

rename method to op_fill
2018-02-12 13:47:15 -05:00
Mike Blumenkrantz adc2be188c eolian: convert all of cedric's tabs to spaces in .eo files 2018-02-12 12:59:05 -05:00
Daniel Kolesa 09bcf9e5fd eolian: stop build with EOLIAN_WARN_FUNC_DUPLICATES > 1 2018-02-12 18:56:38 +01:00
Derek Foreman 563dba9d60 ecore_wl2: Send window hide in response to xdg popup done
Clients should be sent this event when the compositor sends popup done.
2018-02-12 11:27:50 -06:00
Marcel Hollerbach 56beb861e8 efl_ui_win: move inital focus set to focus_in handler
it seems that focus changes to FOCUS=FALSE are causing autodel windows
to kill themself, so we only set the focus on the window if the window
manager calls focus in AND we dont have anything to focus and nothing is
focused yet.
2018-02-11 18:04:06 +00:00
Carsten Haitzler dc70d5cb55 edje - entry - fix empty item handling
tjhis should fix empty items which might have a null item string...
deal with it

fixes T6668

@fix
2018-02-11 19:20:46 +09:00
Carsten Haitzler 43ac3c0b4c eina - tiler -= return true if rect alreadt there as its not a failure
docs say return true on succesas, false on failure. adding a rect we
already added is not a failur. it's an optimization to a NOP. so fix.
this was brought up by and fixes T6669 ... but in the opposite way.
2018-02-11 15:55:13 +09:00
Carsten Haitzler f609d6dc99 elm - fix new em_config func prototypes in header to have real param decl 2018-02-11 14:53:28 +09:00
Carsten Haitzler e96532f65c efl ui format - fix format checking to be correct
the format string checking was just ... wrong. it didnt' handle %%. it
didn't handle constant strings with no format in them... now it does.

fixes T6697

@fix
2018-02-10 16:44:38 +09:00
Carsten Haitzler d26f2237f1 elm progressbar - fix val set
set initial min and max to 0 and 1 respectively so val set works at
the start...

fixes T6697

@fix
2018-02-10 16:44:35 +09:00
Carsten Haitzler 1d5de2e58e efl ui progressbar - no space between value and percent in default fmt
do you write 20 % or 20% ? :) no space by default. fix.
2018-02-10 16:44:03 +09:00
Derek Foreman 712daf38db elm: Fix double shutdowns of ecore_x and ecore_wl2
This is now done elsewhere.  wayland clients were ERRing on shutdown.

ref 9cf61c2f6d
2018-02-09 11:25:41 -06:00
Derek Foreman a221bec6d0 ecore_wl2: Destroy offscreen event handler in surface destroy
Or we can get the event after destroying the surface and crash.
2018-02-09 09:49:52 -06:00
Sungtaek Hong b380e63b07 efl_part: call Efl.Text of each class' part
Summary:
Macro ELM_PART_TEXT_DEFAULT_IMPLEMENT calls
super class' Efl.Text interface, rather than this class.

Reviewers: jpeg, woohyun, Jaehyun_Cho, herdsman

Subscribers: cedric, id213sin

Differential Revision: https://phab.enlightenment.org/D5799
2018-02-08 11:37:51 +02:00
Sungtaek Hong 08d86d3941 efl_part: use efl_ui_widget's default_part_get
Summary:
efl_part macros are using each widget's internally defined
default_part_get() functions to get default part name.
This might potentially cause errors when future widgets
inherits the widget but not overriding Efl.Text.text and
Efl.Content.content.

Reviewers: jpeg, cedric, woohyun, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5797
2018-02-08 14:53:59 +09:00
subhransu mohanty 48433efc43 ector: Updated the ector_buffer_pixels_set() api with stride info
Reviewers: jypark, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5795
2018-02-08 14:44:29 +09:00
Mike Blumenkrantz 80cc3f230d elm: remove ecore-x init from quicklaunch post-fork
this is invalid for basically every possible case. allow components
to naturally call this function as needed

@fix
2018-02-07 13:32:08 -05:00
Mike Blumenkrantz b7bec2ba9a elm: call ecore_app_args_set() after quicklaunch fork
ensure that apps get expected behavior when calling args_get()

@fix
2018-02-07 13:30:37 -05:00
Mike Blumenkrantz 9cf61c2f6d elm: move ecore-x and ecore-wl2 connection init to selection manager
this seems to be the only place where the related components are
explicitly used

neither of these components have fork-safe connections, so there is no
benefit to calling them during quicklaunch init
2018-02-07 12:12:22 -05:00
Mike Blumenkrantz c4e5bbe441 elm: print error if setsid() fails during quicklaunch fork 2018-02-07 12:12:22 -05:00
Mike Blumenkrantz d55fc77cfa eio: remove broken pid-based monitor reset copied from ecore-file
this has no technical basis for existing and should be handled by
individual monitor backends

@fix
2018-02-07 12:12:22 -05:00
Mike Blumenkrantz 6a500331bd ecore: fix event flushing to not erase+leak events
stealing the message data here prevents events which aren't being flushed from
ever being usable again and is unnecessary since the free callback will be
automatically called during the destructor

ref 5dd52fd09b
2018-02-07 12:12:22 -05:00
Jaehyun Cho 000d43b29e elm_part_helper: Fix to use registered default text part 2018-02-07 20:52:12 +09:00
Shinwoo Kim fd8e9f9c4e Efl.Ui.Nstate: do not call "changed" callback
Before solving following problem in Efl.Ui.Check

https://phab.enlightenment.org/T6673

The changed callback is called with opposite value,
if application is using Efl.Ui.Check with state pointer.

The reason is that the changed callback is called in
efl_ui_nstate_activate, and the value refered by state pointer
is changed only after the efl_ui_nstate_activate is called.

static void
_activate(Evas_Object *obj)
{
   EFL_UI_CHECK_DATA_GET(obj, sd);

   efl_ui_nstate_activate(obj);
   if (sd->statep) *sd->statep = efl_ui_nstate_value_get(obj);
2018-02-07 16:25:36 +09:00
WooHyun Jung d8aa950a38 evas_object_textblock: add null checks for EAPIs 2018-02-07 14:19:46 +09:00
Myoungwoon Roy, Kim b203ff1878 ecore_event: Fix a break of consistency of return data
Summary:
This patch fixes a break of consistency of return data from ecore_event_del.
Before EFL 1.20, when calling ecore_event_add(ECORE_EVENT_SIGNAL_USER, event_data, NULL, &data);
The user data(data) is saved at event->data. and when user calls ecore_event_del(event_handler),
ecore_event_del returns event->data. However, current ecore_event_del returns pd->ev.
I think it is ABI break.

Test Plan: Execute test suite

Reviewers: cedric, raster, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5786
2018-02-07 13:50:24 +09:00
Chris Michael e93f7bce30 ecore-drm2: Ensure output changed event is sent for removed outputs
If an output gets disconnected, we would still like to be notified of
that. In the _outputs_update function, we mark an output as
disconnected by setting output->connected and output->enabled to
FALSE. With this line in place (in the output_event_send function) we
would never get notified if an output was disconnected.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-02-06 13:01:25 -05:00
Shinwoo Kim b1ee35e35c elm: do not call "changed" callback when setting style 2018-02-06 22:40:11 +09:00
Amitesh Singh 0aca43be23 efl.ui.progressbar: add checks for min & max value
this improves the validity check for min & max values
provided from user side.
2018-02-06 22:35:33 +09:00
Jean-Philippe Andre 27c0d53f9b efl_ui: Disable includes that don't compile
Efl.Ui.Text:
The EO file contains a lot of references to legacy Elm types, which are
defined in elm_general. They should be checked and moved over to
efl_ui.eot if necessary.

Efl.Ui.Multibuttonentry:
This class was originally supposed to be based on a Model Item but as of
now the API is still uncertain, so MBE itself hasn't been worked on
more. Disable this from EO-only apps until its API is fixed.

Ref T6666
2018-02-06 21:27:37 +09:00
Hosang Kim 24b0ae0df5 ecore/evas: add NULL checks to handle argument is NULL.
Summary:
ecore_pipe_read_fd/ecore_pipe_write_fd
evas_engine_info_set/get

Reviewers: woohyun, Jaehyun, Jaehyun_Cho, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5790
2018-02-06 17:58:44 +09:00
WooHyun Jung 1accec4ce1 evas: add null checks to handle when e->engine.func is not set yet 2018-02-05 22:19:44 +09:00
Shinwoo Kim bb5f4aa857 eina_tiler: fix typo of rect comparing 2018-02-05 20:02:06 +09:00
Mike Blumenkrantz 26d73cbae1 eio: make inotify monitors fork-safe
@fix
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 5760b3f335 eeze: simplify watch code and make it fork-safe
avoid reads from parent process's udev fds
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 7927cfefe3 ecore-file: make monitoring truly fork-safe
add a fork reset callback and attempt to preserve existing monitors
during reset

@fix
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 4e14ba3f48 elm: call ecore_event_init() during init
events from this component are used internally in elm, don't rely on
other components to do it

@fix
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 95a339733a eldbus: make connections fork-safe
after a fork, any existing connection objects can no longer be used,
but it's up to the user to destroy them. internally, this prevents
existing connections from ever being returned as valid connections
and creates new ones after a fork

also destroy fd handlers for connections to ensure that no data is
accidentally clobbered before the connections are cleaned up
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 10ce0cbd8a efreet: reset ipc connection after fork
ensure that existing connection is not reused
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz aaf3659faf eldbus: do not require error return when adding/removing signal matches
this forces the functions to be synchronous and blocks (potentially forever)
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 7f0a4154f5 efl-wl: add function for passing ecore-exe flags to launched exes
@feature
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 32c293bea4 efl-wl: no need to check exe tag on app del, just remove pid always 2018-02-02 16:59:44 -05:00
Mike Blumenkrantz e8d24596a6 efl-wl: add functions for managing allowed client pids
@feature
2018-02-02 16:59:44 -05:00
Shinwoo Kim 3c38071745 elm: fix typo - remove line to debug 2018-02-02 19:07:04 +09:00
Shinwoo Kim 610eee1e52 elm: use Dbus securely
The Efl.Access.Attribute is using key and value.
The value could be NULL. If the value is NULL, then following error occurs.

*error:
arguments to dbus_message_iter_append_basic() were incorrect,
assertion "_dbus_check_is_valid_utf8 (*string_p)" failed
in file ../../dbus/dbus-message.c line 2712.
This is normally a bug in some application using the D-Bus library.
Array or variant type requires that type string be written, but end_dict_entry
was written.
The overall signature expected here was 'a{ss}' and we are on byte 3 of that
signature.
2018-02-02 18:56:58 +09:00
Radoslaw Cybulski cc2e43cc4b elm: fix for invalid attribute matching
Summary:
Fixes invalid attribute matching in at-spi's collection interface's GetMatches***
functions.

Reviewers: stanluk

Reviewed By: stanluk

Subscribers: lukasz.stanislawski, cedric

Differential Revision: https://phab.enlightenment.org/D5774
2018-02-02 09:05:13 +01:00
Daniel Hirt a89c9e037a Ui layout: fix another text retrieval line of code
This is a follow-up to a44ae48df811ff2bd085da86db1688c0f387efc4.Need to
undo the markup_get call, so that the correct code path
(_efl_ui_layout_text_set) is used. Legacy checks are in that code path.

ref T6642
2018-02-01 19:24:44 +02:00
Daniel Hirt a44ae48df8 Ui layout: fix latest attempt to fix markup retreival
Commits c07a40c745 and
429e19563d tried to fix markup retrieval by
creating a different code path for the setter and getter. However, legacy code
paths needs to be taken into consideration.
This commit fixes legacy widgets (like guide text that did not show any text
        in the entry at the top of 'elementary_test').

ref T6642
2018-02-01 13:48:03 +02:00
Carsten Haitzler 26833b8d28 efl ui did - dont segv if createicon func is not provided 2018-02-01 20:09:05 +09:00
Shinwoo Kim 8aaa350262 Use ERR instead of CRI if *DATA_GET* returns NULL
This patch set is for remains.
2018-02-01 14:20:57 +09:00
Shinwoo Kim 9f2e1d050f elm: Use ERR instead of CRI if *DATA_GET* returns NULL 2018-02-01 12:16:28 +09:00
Daniel Kolesa a6d0e787e4 eolian: no need to store 'parsed' table anymore either 2018-01-31 19:14:15 +01:00
Daniel Kolesa 8b1f2f34b4 eolian: simplify parsed checking 2018-01-31 19:06:37 +01:00
Daniel Kolesa f0877c9329 eolian: no need to track currently parsing file anymore 2018-01-31 18:13:29 +01:00
Daniel Kolesa b5794afa58 eolian: all dependency parsing is now deferred 2018-01-31 18:13:29 +01:00
YeongJong Lee d2df4b382f efl_ui_focus_parent_provider_gen: code refactoring
Summary: remove needless function call and else statement

Reviewers: bu5hm4n

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5732
2018-01-31 15:04:26 +01:00
YeongJong Lee f00000df5a efl_ui_focus_manager_sub: avoid a call to NULL
Summary:
we need to consider the manager change to NULL

@ref T6616

Reviewers: bu5hm4n

Subscribers: cedric

Maniphest Tasks: T6616

Differential Revision: https://phab.enlightenment.org/D5771
2018-01-31 14:29:18 +01:00
YeongJong Lee a20cacf53f elm_menu: avoid a call to NULL
Summary: the provider_find can be called before parent_set in constructor.

Test Plan:
1. EINA_LOG_LEVELS=eo:2 elementary_test -to menu
2. check that there is no warning message about efl_provider_find

Reviewers: jpeg, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5773
2018-01-31 14:29:12 +01:00
Marcel Hollerbach 2fc1d7e3c7 efl_ui_focus_composition: remove elements_flush
this can also be done when calling prepare_logical
2018-01-31 14:21:37 +01:00
Myoungwoon Roy, Kim 211093b7c5 ecore_event: Check for the valid type
Summary:
This patch checks for the valid types.
As mentioned API reference documentation, user must know its type before hand.
The type should be chedked like previous efl version and ecore_event_type_flush_internal()

Test Plan: Execute a ecore test suite.

Reviewers: cedric, raster, jpeg, stefan_schmidt, Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5776
2018-01-31 18:55:40 +09:00
Myoungwoon Roy, Kim e9d1a1e988 ecore_main: Check for the valid flag
Summary:
This patch checks for the valid Ecore_Fd_Handler_Flags.
The flags should be checked like previous verion because
There are no default handlings in case of out of Ecore_Fd_Handler enum values in other funcs.

Test Plan: Execute a test case

Reviewers: cedric, raster, jpeg, stefan, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5775
2018-01-31 18:55:40 +09:00
Amitesh Singh 98f38ac0f7 Efl.ui.progressbar: remove duplicate call
eina_value_set() was already getting called
2018-01-31 18:04:39 +09:00
Amitesh Singh c99b37ad47 Efl.Ui.Progressbar: implement range min max 2018-01-31 17:44:20 +09:00
Derek Foreman 90fecc7485 wl2_surface_dmabuf: Trim the buffer queue after a while
If we have more buffers than we need for 100 frames then drop the oldest.

This can happen if we're on a hardware plane and then removed from it, or
really whenever the compositor feels like holding onto a few frames.

Trimming the queue too soon could result in having to do a costly full
frame redraw, so we wait a while to make sure we don't need one again.

Having more frames than we need costs us a little every draw since we
always use the oldest available.  It also wastes memory.
2018-01-30 17:09:52 -06:00
Derek Foreman 879f248f08 ecore_wl2_surface: Flush surfaces for offscreen windows
When a surface leaves all outputs we can discard its buffers to save
memory.

Currently most compositors don't send leave events for iconify, so this
pretty much just saves us a cursor buffer under weston for now, but in
the future it could be used for freeing resources of offscreen (fully
occluded or iconified) windows.
2018-01-30 17:09:52 -06:00
Derek Foreman 9632c7b56c wl2_surface_dmabuf: improve surface flush
We used to abandon all buffers even if they were locked. This can't
actually free them until they're all released by the compositor.

Instead just free any buffer the compositor doesn't have locked, so we can
still re-use them when they're released without needing a full redraw.

There's probably room for additional cleverness here.  If we get a new
frame event before the buffer release we may want to keep it, and if we
get the release first we may want to abandon it.
2018-01-30 17:09:51 -06:00
Derek Foreman 1bd41aa3b6 ecore_wl2: Add new event for windows not displayed on any output
When a window leaves all outputs we can free its render buffers to save
memory.  This new event is generated when a window leaves all outputs.
2018-01-30 17:09:51 -06:00
Derek Foreman 8abac6da65 ecore_wl2: Track outputs a surface is present on
Keep a list of Ecore_Wl2_Output * a surface is present on.
2018-01-30 17:09:51 -06:00
Derek Foreman cc0cfb7822 ecore_wl2: Add internal _ecore_wl2_output_find
This finds the Ecore_Wl2_Output * for a given struct wl_output *
2018-01-30 17:09:51 -06:00
Mike Blumenkrantz da9eef6027 ecore: add function for prepending an event handler
@feature
2018-01-30 13:02:07 -05:00
Daniel Kolesa 5651b2e586 eolian: deferred parsing of inherits + better static checks
This change finally introduces deferred parsing of inherits to
Eolian, after a long time and many iterations. That means instead
of parsing inherits directly as part of the main file's parse pass,
they're pushed into a queue and parsed later. The validation engine
was modified to properly fill in the remaining info afterwards.

This may introduce breakages but I haven't noticed any. It also
properly unlocks cyclic dependency support in Eolian.

Additionally, this also introduces checks for duplicates in class
inherits (class Foo(Bar, Bar) is no longer possible) and it adds
stricter name checks, so you can no longer have a class Foo.Bar
and refer to it as Foo_Bar in implements. This was actually never
meant to be supported, but the check was previously broken.

@feature
2018-01-30 17:08:44 +01:00
Daniel Kolesa 7b643f6919 eolian: move impl/ctor fill to validation stage 2018-01-30 17:08:44 +01:00
Jaeun Choi c950b17a57 efl_ui_image: add missing NULL check 2018-01-30 21:21:35 +09:00
Jaehyun Cho c53cbc572e efl_ui_panes: Handle NULL object case 2018-01-30 19:50:08 +09:00
Jaehyun Cho 10342af920 elm_panes_legacy: Fix description of functions 2018-01-30 18:53:33 +09:00
Vincent Torri 1770059b8a Evil: remove "symlink" code (it was for .lnk files anyway...) 2018-01-30 16:52:24 +09:00
Vincent Torri 8f5029fbbc Eio: disable the symlink code on Windows 2018-01-30 16:52:24 +09:00
Vincent Torri 0c96d9e8cf Efreet_Mime: update comment about symlinks on Windows 2018-01-30 16:52:24 +09:00