if setuod we dont want to trust HOME environ at all and get it from
passwd file... also we dont want to keep re-getting too... so store
statically as well as tmp.
this also kind of helps CID 1366469
if balue is NULL the data binding is removed and freed, but we don't
return at that point but instead fall back to using/replacing the
databinding.
this fixes CID 1369022
Summary:
_edje_part_***_set/get (for mouse_events, repeat_events, ignore_flags, mask_flags)
overwrite cached edje value. These behaviors affect all edje object added after
these changes, and result in not intended.
@fix
Reviewers: jpeg, cedric
Subscribers: akanad, woohyun
Differential Revision: https://phab.enlightenment.org/D4362
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Currentely, if eet_read_cipher()'s cipher_key param is exist but file
not ciphered, function always read and return successful result.
But, this behavior can not check data integrity.
e.g.
1. App create config file using eet with encryption key.
2. Attacker replace config to malicious config (not encryted).
3. App can not notice if eet_read_cipher() read that successfully.
@fix
Test Plan:
$eet -e test.cfg my_config test.src 1
$eet -d test.cfg my_config decode_res.txt my_encrytion_key
(Currentely decode success, but should be failed)
Reviewers: woohyun, raster
Subscribers: id213sin, akanad, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4563
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Once rtl mode is set, elm_layout reverses its x-axis.
however, scroller uses elm_layout to contain both original content and
proxy image of it when loop mode is set.
In this situation, elm_layout should not reverse its x-axis when It is
used for container of proxy to support loop mode of scroller.
This commit will not apply rtl mode to contents layout (mirrored set)
Test Plan:
* Check that there is a proxy image over right edge of original content.
1. Run elementary_test
2. Open scroller
3. Switch UI_mirrored mode on
4. Test (Control with keyboard / mouse wheel control looks bad on rtl mod)
a. go to the right edge with keyboard
b. get over the edge
Reviewers: woohyun, z-wony, jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D4568
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If show_item is NULL then does not need to check scroll.
But, sometimes show_item is NULL but check_scroll is true.
It was wrong and can makes a crash.
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Reviewers: cedric, Hermet, SanghyeonLee, raster
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4569
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
By only checking if the thread was cancelled *after* sending feedback
to the main thread we ended up claiming all the devices libinput
asked for in a way that never allowed them to be released
(how the hell can a cancelled thread send feedback?)
Summary:
Small devices (like smart watch) can disallow entry selection by default.
This patch enables to control this behavior with elementary configuration.
Reviewers: cedric, jpeg
Subscribers: id213sin, woohyun
Differential Revision: https://phab.enlightenment.org/D4615
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When openssl-1.1.0 is built with `--api=1.1 disable-deprecated`, use of
deprecated APIs leads to build failures.
X-Gentoo-Bug: 606628
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=606628
Subscribers: cedric, jpeg
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D4616
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Mirrored stated should be applied to new edje_object
which is created for GROUP, BOX, or TABLE part.
@fix
Reviewers: woohyun, raster, cedric, jpeg, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D4618
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
- When scrollable panel is closed by elm_panel_hidden_set(),
elm_panel_toggle() APIs, it shows animation with
scroller bringin effect.
- During this animation, panel is still focusable, and may
stop closing when content gets focused.
- scrollable panel is now set unfocusable when closed by
APIs above, and set focusable when opened after bringin
animation.
Test Plan:
1) Set panel scrollable and opened.
2) Set another object focused and deleted it
when panel is closing.
3) Observe panel is closed.
Reviewers: cedric, jpeg, woohyun
Subscribers: conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4641
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
- In mouse move callback, index tries to calculate
current level.
- This is not needed when level 1 is not active.
and blocks index item change.
Test Plan:
1) Run elementary test -> any vertical index.
2) Click on index item and drag to outside of index.
3) Observe index item is now changed as mouse movement.
Reviewers: cedric, Hermet, jpeg, eunue
Reviewed By: cedric
Subscribers: conr2d
Differential Revision: https://phab.enlightenment.org/D4643
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This actually should have been part of the previous patch which moved
setting output_name to evdev, but it got missed so add it now. This
ensures we cleanup the output_name stringshare on error.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As device calibration has already been handled via external facing
API, this FIXME note is no longer needed.
NB: No functional changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to set the output name of an Elput_Device when the device
gets created. Note, this was already being done inside elput_input,
but this patch moves it to when the device gets created.
NB: Really no functional changes here, just moving a function call.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch fixes an issue where the wrong wayland window would be
returned from elm_win_wl_window_get. When we lookup a window in
Enlightenment, this function would end up returning the parent window
(if existed) when what we want there is the actual window. This patch
puts the function more in line with the X11 equivalent.
Fixes T5142
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The item is already deleted at this point and its garbage here
which results into crash ultimately.
Also I don't see a point in setting access_obj to NULL here
@fix
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
Add Efl.Model.Composite.Boolean, a model for wrapping another Efl.Model and
adding boolean properties to its children.
Children of the given composite model will have the boolean properties
specified in Efl.Model.Composite.Boolean with the specified default value.
A call to Efl.Model.Property_set can change the property value for a child.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Efl.Model.Container and Efl.Model.Item to efl/interfaces are used
to create Efl.Model objects with predefined property values.
This is useful to any situation where we want an Efl.Model with
explicit defined property values.
Efl.Ui.View and Efl.Ui.Factory are used to connect Efl.Models with
Widgets, Elm.Layout and Efl.Ui.Image has changed to use news interfaces
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Waiting would sometimes return as if the thread finished correctly while it is still running.
This is because we’re waiting for the waiter data to be null… but this is always the case if the user-passed data is null!
@fix
several calls, specifically evas_object_change_reset,
evas_object_cur_prev, and evas_object_clip_changes_clean that are
called directly or indirectly as part of evas render on at least every
active object if not more, were doing full eo obj lookups when their
calling functions already all had the eo protected data looked up.
tha's silly and just adds overhead we don't need. my test dropped
_eo_obj_pointer_get overhead in perf profiles from 4.48% to 2.65%. see:
4.48% libeo.so.1.18.99 [.] _eo_obj_pointer_get
4.23% libevas.so.1.18.99 [.] evas_render_updates_internal
2.61% libevas.so.1.18.99 [.] evas_render_updates_internal_loop
1.68% libeo.so.1.18.99 [.] efl_data_scope_get
1.57% libc-2.24.so [.] _int_malloc
1.42% libevas.so.1.18.99 [.] evas_object_smart_changed_get
1.09% libevas.so.1.18.99 [.] evas_object_clip_recalc.part.37
1.08% libpthread-2.24.so [.] pthread_getspecific
1.05% libevas.so.1.18.99 [.] efl_canvas_object_class_get
1.01% libevas.so.1.18.99 [.] evas_object_cur_prev
0.99% libeo.so.1.18.99 [.] _efl_object_event_callback_legacy_call
0.87% libevas.so.1.18.99 [.] _evas_render_phase1_object_ctx_render_cache_append
0.82% libpthread-2.24.so [.] pthread_mutex_lock
0.81% libevas.so.1.18.99 [.] _evas_render_phase1_object_process
0.79% libc-2.24.so [.] _int_free
vs now the improved:
4.82% libevas.so.1.18.99 [.] evas_render_updates_internal
3.44% libevas.so.1.18.99 [.] evas_render_updates_internal_loop
2.65% libeo.so.1.18.99 [.] _eo_obj_pointer_get
2.22% libc-2.24.so [.] _int_malloc
1.46% libevas.so.1.18.99 [.] evas_object_smart_changed_get
1.04% libeo.so.1.18.99 [.] _efl_object_event_callback_legacy_call
1.03% libevas.so.1.18.99 [.] _evas_render_phase1_object_ctx_render_cache_append
0.97% libeina.so.1.18.99 [.] eina_chained_mempool_malloc
0.93% libevas.so.1.18.99 [.] evas_object_clip_recalc.part.37
0.92% libpthread-2.24.so [.] pthread_mutex_lock
0.91% libevas.so.1.18.99 [.] _evas_render_phase1_object_process
0.84% libc-2.24.so [.] _int_free
0.84% libevas.so.1.18.99 [.] evas_object_cur_prev
0.83% libeina.so.1.18.99 [.] eina_chained_mempool_free
0.80% libeo.so.1.18.99 [.] efl_data_scope_get
of course other things "increase their percentage" as oe overhead now
dropped, and things seem to move around a bit, but it does make sense
to do this with no downsides i can see as we already are accessing the
protected data ptr in the parent func.
in autotools we always define that symbol in config.h (thus now done
in common.cmake), while the Efl_Config.h that is generated never have
it, what's left is to enable/disable the legacy and beta APIs.
This fixes building eldbus_suite with cmake.
there is currently a bug in the testsuite which needs to change,
otherwise modules cannot be loaded. The code acutally runs when its
installed and EFL_RUN_IN_TREE is not set.
so ecore_con/efl_net were using the standard ecore_thread thread pool
for doing things like dns lookups (that can take multiple minutes
until timeouts) and actual http transactions. similarly they can block
thread workers for long periods or indefinitely thus basically
blocking the whole eocre_thread pool and stopping others from sharing
it. the best solution we have right now is to bypass the thread pool
queue and have dedicated threads for these actions. what we should
have is a dedicated thread pool with each thread taking on N
connections (via select etc.) and the ability to create and destroy
thread pools for specific tasks so you can separate the work out from
other work. but that is basically a redesign of our thread pool infra
so let's do the quick solution here until that day comes.
this partially addresses D4640
a dedicated thread per image load though is going to be a lot nastier...
ancient edje files dont put hash strings in the file dictionary but
instead inline and thus the strings cannot be direct added... silly
ancient files.
this is a horrible ugly workaround this but there isn't really
anything better than trying to detect such files (which dont seem to
have an older version in them i can find?) so detect by pointer
address and mapping the file.
this fixes T5138
@fix
This is particularly useful for ecore_timer_loop_add which are not
supposed to trigger any syscall. It does add a new requirement
on the EFL_LOOP_TIME_CLASS to always have an interval defined during
construction.
Now we must set EFL_WAYLAND_ENABLE_WWW to turn on www. (Note:
this does NOT re-enable any visual effect, it merely controls
the event infrastructure that can be used to let a client
know when its window is mapped or moving)
This wasn't really disabled properly earlier, so disable it now
for a slight performance win when dragging windows (and a major
reduction in log chatter when debugging wayland)
Use seat names as prefix, not as suffix, following
a top-down approach and avoiding issues
with applications that may be receiving
doubled signals (legacy + suffixed).
So instead of "mouse,in,seat1" signal will be
"seat,seat1,mouse,in".
After we call curl_multi_socket_action() we must call
_efl_net_dialer_http_curlm_check() in order to call
curl_multi_info_read() and be notified of handles that were
finished. Otherwise the handle is gone and we'll be waiting for an
action that will never happen.
Fixes T5079
This patch need to revert because it just a temporary solution for load
'inherit_only' groups. Problem with these groups is solved in patch
c3733a213b
This reverts commit 88f5ac22c1.
Summary: The patch for supporting copy,paste and cut undo
Test Plan:
1. elementary_test - Code Editor
2. Check that undo work correctly when copy,paste and cut
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4636
If the user icons are set but animation time is set to 0, the icons are
not deleted, resulting in ghosts images in the application.
Additionally, behavior was badly handled when animation time or timeout
before drag were set to 0.
@fix
this reduced pipes to 32 as default max pipes is 32 and we never
actually go up beyond 32 unless oyu use env vars to expand... and no
one will... and actual testing shows us top out at about 30 pipes
usage in anything i can find/test. this packs more bool flags together
as bits instead of itns or chars to save memory.
@optimize