Summary:
When elm_panel isn't scrollable, It can't pass `if (!sid->edje_obj) return;` in
_elm_interface_scrollable_efl_ui_base_mirrored_set. so elm_panel's mirrored_set
didn't work. we neet to consider non-scrollable panel.
Test Plan:
1. elementary_test
2. Open 'Panel' and 'Panel Scrollable'
3. Turn on UI-Mirroring on Elementary Tests window.
4. Check that mirror mode works correctly.
Reviewers: Hermet, Jaehyun_Cho
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6944
Summary: I had fixed some typos and some wrong expressions in API reference doc
Test Plan: N/A
Reviewers: raster, zmike, Hermet, segfaultxavi
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6943
Summary:
As cserve2 support has not worked (if ever) in a very long time, and
it's authors are gone, this series of patches removes cserve2 (and
thus cache2) from our codebase to remove cruft and reduce
maintainability of unused code.
ref T7226
Depends on D6941
Reviewers: raster, cedric, zmike, Hermet
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7226
Differential Revision: https://phab.enlightenment.org/D6942
Summary:
Adding cache targets in other modules are inproper.
This can't be managed by cache module inside.
One representive scenario is,
when preload cancel is triggered, preload canceling sequence
can't be performed properly because cache targets implicitly were
increased by backend modules.
And then, Cache itself couldn't get notified it.
see this condition.
if ((!ie->targets) && (ie->preload) && (!ie->flags.pending))
in _evas_cache_image_entry_preload_remove()
Consequently, I move preloaded callbacks to sync with adding cache targets,
not to add by backed engines themselves.
This will bring Cache to manage cache targets properly.
Reviewers: #committers, raster
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6912
Summary:
That redundant code just made code complex.
This is one of intermediate patches for preload
Reviewers: raster, #committers
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6907
Summary:
this should reduce the work required to silence errors during object
construction by avoiding the most common cause of such errors
ref D6830
Reviewers: Hermet, devilhorns
Reviewed By: Hermet, devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6921
Summary:
edje_edit_object_add
edje_object_add
emotion_object_add
evas_object_xxx_add
These APIs had allowed to set parent to EFL_CANVAS_OBJECT(Evas_Object) before
8bb11a17. we should call evas_find before safety check for backward compatibility.
Test Plan:
win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
1. `rect = evas_object_rectangle_add(evas_object_evas_get(win));`
2. `rect = evas_object_rectangle_add(win);`
Check that 1. and 2. works.
Reviewers: Hermet, zmike
Reviewed By: Hermet
Subscribers: cedric, #reviewers, CHAN, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6909
Summary:
If an object's is_static_clip is TRUE
then _evas_render_phase1_object_process does not draw the object and its smart
member from the below commit (1).
On the other hand, the Elm.Mapbuf sets is_static_clip to its content from the
below commit (2). So you cannot see the content. If the commit tried to solve
over-render, it could be changed to:
if (wd->content) evas_object_static_clip_set(wd->content, !wd->enabled);
from:
if (wd->content) evas_object_static_clip_set(wd->content, wd->enabled);
or there could be another way.
(1) commit 1bba6d5759
Author: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Date: Wed Nov 23 13:57:27 2016 +0900
evas phase 1 process - shortcut objects that are pure static clips only
these objects don't actually produce - or should produce update
regions etc. etc. as the objects that are clipped should produce those.
they are not active objects. so skip them very early after just
ensuring they are in delete objects if needed.
(2) commit 7ca0a3dcac2ee7fc7d7ae62277dde05a3b77b276 (of core/elementary.git)
Author: Carsten Haitzler <raster@rasterman.com>
Date: Wed Jan 19 11:59:53 2011 +0000
fix over-render bug in map/mapbuf and with changed flags! that was
nasty to find!
SVN revision: 56220
Test Plan:
[Sample Code]
#include <Elementary.h>
EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
Evas_Object *win, *bx, *mb, *layout, *icon;
unsigned int i, j;
char buf[255];
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
win = elm_win_util_standard_add("mapbuf", "Mapbuf Example");
elm_win_autodel_set(win, EINA_TRUE);
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
mb = elm_mapbuf_add(win);
evas_object_size_hint_weight_set(mb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(mb, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_box_pack_end(bx, mb);
layout = elm_layout_add(win);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, layout);
snprintf(buf, sizeof(buf), "/home/kimcinoo/Upstream/efl/src/examples/elementary/layout_example.edj");
elm_layout_file_set(layout, buf, "example/mylayout");
evas_object_show(layout);
icon = elm_icon_add(win);
elm_icon_standard_set(icon, "home");
evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(icon);
elm_object_part_content_set(layout, "example/custom", icon);
elm_object_content_set(mb, layout);
evas_object_show(mb);
elm_mapbuf_enabled_set(mb, EINA_TRUE);
evas_object_resize(win, 240, 320);
evas_object_show(win);
elm_run();
return 0;
}
ELM_MAIN()
Reviewers: raster, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6915
Summary:
this patch refactories a momentum scroll animator logics.
1. animation duration
animating runs within a one second now.
and if it needs more time to animate, it decrease intepolation progress by dividing some value.
current logic makes sense however, it is not easy to read to know how it works.
this patch modify current logic to calculate distance to move, and time to animate.
2. distance to move
we can apply simple physics something like mass of pan and friction of scroller itself.
but this patch apply just geometric seqeunce to calculate distance to go.
it's more easy to customize behavior of scroller than current sine graph based one.
3. accelerate logic
scroller sets 'extra_time' to accelerate a scroller for now.
but this patch modify logic not to use it.
however it uses current momenutum velocity as a bais of next momentum animating.
@feature
Reviewers: zmike, #reviewers, Hermet
Reviewed By: #reviewers, Hermet
Subscribers: Hermet, cedric, zmike
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6643
Up to now, there is no restriction on using multiple class inheritance
in eo.
This makes some language bindings more complicated if the language does
not support multiple class inheritance. e.g. C#.
To support language bindings in a neat way, multiple class inheritance
in eo is replaced with implementing interfaces.
To remove multiple class inheritance, each part class in elementary
should implement interfaces instead of inheriting from other widget
class because part class in elementary basically inherit from the class
Efl.Ui.Widget_Part.
Differential Revision: https://phab.enlightenment.org/D6904
Summary:
it is not correct to throw an error when methods are called during
construction
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: Hermet, cedric, #reviewers, #committers
Tags: #efl_main_loop
Differential Revision: https://phab.enlightenment.org/D6787
Summary:
Ecore internally uses 10 events, from ECORE_EVENT_SIGNAL_USER=1 to
ECORE_EVENT_SYSTEM_TIMEDATE_CHANGED=10. The Ecore.Event.Message_Handler
singleton that holds the counter of events is initialized with -1.
This is followed in _ecore_event_init() by ten calls to
ecore_event_message_handler_type_new(), which increase the counter of
event by one each.
This results in an event counter to be 9 (-1 + 10) at the end of the
initialization of ecore_events. This means that the next event to be
created will have a value of 10, which will overlap with
ECORE_EVENT_SYSTEM_TIMEDATE_CHANGED. As such, these two distinct events
will be aliased and their associated handlers will be called at
unexpected times, with unexpected data.
By changing the constructor value from -1 to 0, we prevent this event
aliasing.
Fixes T6605
Reviewers: zmike, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Maniphest Tasks: T6605
Differential Revision: https://phab.enlightenment.org/D6894
when setting this config value an elm function is used to store the
setting internally, so it's necessary to use the elm getter function
in order to correctly (and accurately) return the same state
resolves test failures in elm_config
Differential Revision: https://phab.enlightenment.org/D6825
In general case, user library path is specifed as /usr/lib/, however,
if the user library path is specified as /lib/ which is a symbolic link to /usr/lib/,
current eina_prefix_new logic will print warning messages.
(actually the logic finds a /usr/lib/ path once a fallback logic runs)
This patch modifies the logic to find a proper path of lib path even if it is specified as symlink.
Differential Revision: https://phab.enlightenment.org/D6869
the elementary MARKUP stuff requires ecore_cocoa to be linked to evas to
find the function. However, ecore_XXXXX things should stay unrelated to
evas in most cases. Thus this was not a good idea and created a circular
dependency, this is fixed now.
Differential Revision: https://phab.enlightenment.org/D6865
Summary:
this is a simple implementation of ignore_events functionality which
sets pass_events if it's an image or prevents the emission of events
in other cases
the result should be that no user events are received. this deliberately
does not block the triggering of resize callbacks as in the original ticket
since this guarantees broken functionality and is just not a good idea
fix T4700
Reviewers: devilhorns, Hermet
Reviewed By: Hermet
Subscribers: Hermet, cedric, #reviewers, #committers
Tags: #efl_display_system
Maniphest Tasks: T4700
Differential Revision: https://phab.enlightenment.org/D6876
do one request and get multiple returns if you have multiple windows.
this affected terminology in one proces, multiple windows the sel get
cb is called multiple times from one selection if you cnp between
windows a few times.
@fix
Summary:
load_size will be applied when file is set,
orientation, flip would be applied when starting sizing calc.
These will gurantee applying options whether image is preset or not.
This is a regression bug by ae51c81a686ca47c93eedc99beaf3a84f8a9cb96
Reviewers: #committers, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6855
Summary:
this is more or less a dead project, having not been actively developed
in over 2 years and instead forcing people to expend more time and energy
to keep it compiling across refactors
fix T7227
Reviewers: stefan_schmidt, Hermet, ManMower, devilhorns
Reviewed By: Hermet, devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7227
Differential Revision: https://phab.enlightenment.org/D6878
Summary:
if the item is deleted during a focus callback then the remainder of this function
must be skipped in order to avoid crashing when attempting to access deallocated
memory
ref T7292
Reviewers: SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7292
Differential Revision: https://phab.enlightenment.org/D6831
Summary:
failing to unset this prevents callbacks from being re-added when the item
is next realized, resulting in items which cannot be interacted with
ref T7292
Reviewers: SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7292
Differential Revision: https://phab.enlightenment.org/D6832
Summary:
by key bindings..
now we can select TAB with the Return/Space key.
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: YOhoho, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6779
Summary:
The Spin_Button class supports two types(horizontal, vertical).
User can use 'efl_ui_direction()' for spin_button.
@feature
Test Plan: elementary_test-> spin_button sample.
Reviewers: Hermet, Jaehyun_Cho
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6680
Summary: adapters variable has not been used since ac4d75a1a.
Reviewers: bu5hm4n, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6872
Summary:
there is now invalidated & invalidating.
invalidated returns true when all children are invalidated, and the
object is / was requested to be invalidated.
invalidating return true when the object is called to be invalidated but
not all children are invalidated yet. However, the object is garanteed
to be invalidated in near future.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6722
Summary:
eina debug was using the xdg runtime dir in a wrong manner. Since the
directory should be only used by the user, and the directory should be
be subject of any other usage. Additionally, apps tend to create files
like: $XDG_RUNTIME_DIR/foo.bar which is probebly not what you want in
$HOME.
ref T7107
Depends on D6747
Reviewers: zmike, stefan_schmidt, #committers
Reviewed By: zmike, #committers
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7107
Differential Revision: https://phab.enlightenment.org/D6748
Summary:
the logic here was against the xdg standard, thus we migrate to
eina_vpath which uses the correct xdg standard
Depends on D6745
Reviewers: zmike, stefan_schmidt, #committers
Reviewed By: zmike, #committers
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6746
Summary:
The contents of the XDG_ env vars are also usefull for eina subsystems,
thus we should init those env vars here.
Depends on D6751
Reviewers: zmike, stefan_schmidt, #committers
Reviewed By: zmike, #committers
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6744
Summary:
the fetching of the homedirectorty did not work. pw_dir was never
prepended. Additionally you would get a silent NULL string back
if the system does not support HAVE_GETPWENT.
ref T7107
Depends on D6737
Reviewers: zmike
Reviewed By: zmike
Subscribers: #reviewers, raster, vtorri, cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7107
Differential Revision: https://phab.enlightenment.org/D6742
Summary:
This reverts commit 93228108ef.
The original commit resulted in a hang during the use of the shot engine
in our make doc target. During the doc run we generate screenshots for
the documentation using the shot engine.
It is not a clean revert as other things changed since this got in, but
I verified that the screenshots for the documentation is generated
correctly again. This might leave open the original issue T6929 which
the now reverted commit tried to address.
Fixes T7166
Reviewers: zmike, JackDanielZ, xavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7166
Differential Revision: https://phab.enlightenment.org/D6873
Summary:
Add a feature for moving cursor over a grapheme cluster.
It is applied to edje_entry.c and elm_entry.c for improving
cursor handling just like other modern text editors. ex) gedit
The patch on Evas needs to update libunibreak library.
So, the patch will update libunibreak, too.
@feature
Test Plan:
1. Put "ഹലോ" in your entry.
2. Your cursor can reach at the end of text from the beginning
only in 2 right key event with this feature.
Reviewers: raster, cedric, jpeg, herdsman, zmike, devilhorns
Reviewed By: herdsman, zmike
Subscribers: #reviewers, #committers, zmike, bowonryu, woohyun
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5490
When the element that iherits from composition is invalidated, all items
should be unregistered.
fix T7213
Differential Revision: https://phab.enlightenment.org/D6755
Summary:
elm_win_focus_get with non Efl.Ui.Win object could return incorrect value.
If an object implements Efl.Ui.Focus.Object.focus { get; } then the return
value of elm_win_focus_get with this object depends upon the object status.
Reviewers: Hermet, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6868
Summary:
there are unused ifdef blocks and also there is a variable that accessed from nowhere.
this patch removes both of theme.
related with D6567
Reviewers: Hermet, eagleeye, devilhorns
Reviewed By: Hermet
Subscribers: cedric, zmike
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D6585
this will crash due to invalid memory access if an event is triggered after
the sentry is destroyed
Differential Revision: https://phab.enlightenment.org/D6845
according to the docs, this mode means that no content size hints should
be taken into account when calculating size hints for the overall object
fix T7313
Differential Revision: https://phab.enlightenment.org/D6860
FIx backspace issue and also issue involving the cursor
position and deleting/cutting/backspace of selected text.
Now that we properly move the cursor around when making a
selection, it's important that we place the cursor in a
valid position in the widget following the removal of text.
Previously the cursor always remained in a "safe" position
however now it's crucial to update this position when
necessary.
@fix T7259
Differential Revision: https://phab.enlightenment.org/D6835
Summary:
Canvas allows objects become zombies.
Even though they were deleted they could be accessed by canvas
for second frames.
Reviewers: #committers, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6849
Summary:
it seems that the original patch in this case introduced a regression
where format strings ending with %% in progressbar would not be
displayed correctly. a followup patch attempted to resolve this, but
this second patch introduced another regression where some format strings
would always display 0%
fixing compiler warnings is always valued, but in the case where the
patch to fix the warning creates regressions then we will live with the
warnings instead
This reverts commit b4112b9735.
This reverts commit be770d37fb.
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D6863
Summary:
Prevent wayland clients from being able to destroy the compositor's
singleton keymap by making individual copies for each client.
Reviewers: zmike, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6862
Summary:
This reverts commit 4917910b49.
4917910b break backward compatibility.
Reproduction:
void pipe_handler(...);
pipe = ecore_pipe_add(pipe_handler, NULL);
ecore_pipe_write(pipe, NULL, 0);
Because of the null check condition, pipe_handler isn't called after 4917910b.
Some apps behavior which is written to expected to call pipe_handler was broken.
also, this patch fixed segfault during build on Windows
Test Plan: make on Windows
Reviewers: raster, zmike, vtorri
Reviewed By: zmike, vtorri
Subscribers: woohyun, cedric, #reviewers, #committers, zmike, vtorri
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6824
Summary:
From (1) "the following commit" message, the changed condition in this patch
should check if the virtualized file is copied or not.
In eina_file_virtualize
head_padded = 16 * ((sizeof(Eina_File) + slen + 15) / 16);
file->global_map = ((char *)file) + head_padded;
In eina_file_dup
file->global_map != (void*)(file->filename + strlen(file->filename) + 1)
Because of this discord condition makes eina_file_dup copies always.
(1) This is "the following commit":
commit 4766316935
Author: Cedric Bail <cedric@osg.samsung.com>
Date: Wed Mar 8 10:13:36 2017 -0800
eina: force copy of not copied virtualized file while doing an eina_file_dup.
The other way around is pretty much impossible as you don't know who does
an eina_file_dup and for how long they keep there reference.
T5234
Reviewers: zmike, Hermet
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6857
Summary:
the mnw and mnh variables were misleading in this context because they actually
refer to the max width and max height
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D6859
Summary:
Apparently there are cases where efl_ui_focus_object_focus_manager_get
can return NULL. In order to trap for this, we can simply modify the
do loop slightly and check for a valid manager before we actually
start looping
Test Case: elementary_test -to "Panel Scrollable" and click Toggle
button
ref T7030
Depends on D6703
Reviewers: bu5hm4n, YOhoho
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl_widgets_focus
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6704
Summary:
evas object types require an evas as the parent. this has always been
the case, though it has only begun to (again) be treated as an error
recently
fixes unit test failures
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets_code
Differential Revision: https://phab.enlightenment.org/D6852
Summary:
A object that is not evas class shouldn't use evas_find. it may occurs segfault.
ref c2e8b492b1
Test Plan:
Evas *evas = evas_new();
evas_free(evas);
evas_object_line_add(evas);
Check weather there is segfault.
Reviewers: Hermet, raster, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6816
Summary:
efl_ui_win.c only includes private ecore_evas headers when building
for wayland, but wayland canvas creation functions are called even
in non-wayland builds.
Move the "hidden" wayland APIs to the public header so they don't
mess up non-wayland builds.
Reviewers: devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: devilhorns, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6822
Summary:
there is no sound when multisense is disabled, so this is functionally
equivalent to the audio being muted
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl_layout_engine
Differential Revision: https://phab.enlightenment.org/D6837
Summary:
these operations cannot be completed if the support is not built in, so
return false in order to provide the correct state to the caller
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6839
Summary:
This can occur and thus malloc will return NULL when line->length is
0. Check for !line->length and return. Very difficult to reproduce, but
I had managed three times, and avoided a crash.
Reviewers: #committers, ajwillia.ms, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6842
Summary:
Image object isn't created on constructor anymore. so that it need to check
whether image object exist.
Reviewers: Hermet, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6834
Summary:
image object was created in group_add before 868e3308. if you call
elm_image_object_get before file_set, you can get NULL.
this patch avoid that.
Test Plan:
obj = elm_image_add(...);
img = elm_image_object_get(obj);
img should not be NULL.
Reviewers: Hermet, zmike
Reviewed By: zmike
Subscribers: JackDanielZ, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6828
Summary:
using EINA_LIST_FREE here double deletes 2 list items on every iteration
due to recursive list removals, which prevents some items from being
deleted as expected
fix T7266
Reviewers: netstar
Reviewed By: netstar
Subscribers: netstar, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7266
Differential Revision: https://phab.enlightenment.org/D6829
Summary:
this avoids extra recalcs and resizes when csd is not active, which has
the side benefit of not breaking the x11 engine's behavior--currently only
an issue because the ecore-evas x11 backend does not have an implementation
of ConfigureNotify event handling which is even remotely correct
these issues will be resolved in future patches
fix T7243
ref T7008
Reviewers: devilhorns, ManMower
Reviewed By: devilhorns, ManMower
Subscribers: ManMower, cedric, #reviewers, #committers
Tags: #efl_display_system
Maniphest Tasks: T7243, T7008
Differential Revision: https://phab.enlightenment.org/D6794
Summary:
in the case where the user has called loop_time_set with a value in the future,
avoid setting the loop time to something that would potentially cause a callback
to occur with a loop_time value before a previous occurrence of that callback
@fix
Reviewers: ManMower
Reviewed By: ManMower
Subscribers: ManMower, #reviewers, cedric, #committers
Tags: #efl_main_loop
Differential Revision: https://phab.enlightenment.org/D6764
Summary: For now its beta, and the since tag is added.
Reviewers: zmike
Reviewed By: zmike
Subscribers: #reviewers, kimcinoo, Hermet, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6751
Summary:
As with other checks in ELM return if object is not yet
finalized. This stops lots of console noise.
@fix T7265
Test Plan:
elementary_test: use panel test from console and view the noise
from EINA. Apply then do the same.
Reviewers: #committers, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #reviewers, zmike
Tags: #efl
Maniphest Tasks: T7265
Differential Revision: https://phab.enlightenment.org/D6826
Summary:
As the cursor_rect for elm_code_widget is not created until the code
widget gets focus, we cannot just assume it is already there when
trying to emit a focus signal. The cursor_rect does not get created
until widget_cursor_update is called.
This fixes an issue where NULL is passed to efl_layout_signal_emit.
To test this, just launch elementary_test and click the Code Editor
test. As soon as you try to click into the Code Editor, this gets
triggered.
ref T7030
Reviewers: netstar, ajwillia.ms
Reviewed By: netstar
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6701
Summary:
failing to unset this causes the ecore_imf flag to go negative if edje
is ever completely shut down twice
@fix
Reviewers: ManMower
Reviewed By: ManMower
Subscribers: ManMower, #reviewers, cedric, #committers
Tags: #efl_layout_engine, #easy
Differential Revision: https://phab.enlightenment.org/D6763
There is often a tree of elements registered in a manager that are
having all the same redirect element. Unserting the redirect property
just because the node has this redirect element is not helpfull as this
would break basically elm_tests button search. However, if it is the
container itself, then the redirect can be unset, as nothing else can
ever reach again the redirect manager.
ref D6800
Differential Revision: https://phab.enlightenment.org/D6802
Summary:
before it would have only worked if there would have been the
architecture in the path, which was definitly not the case.
This fixes the problems.
Depends on D6795
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6819
Summary:
It turns out elm/uiclock (which was removed in 89675c3219) is actually used,
at least by the datetime legacy widget. Removing this widget broke the
datetime_example test.
This commit reverts 89675c3219 and fixes the elm/uiclock part names:
- Part names are prefixed with 'elm.'
- efl_ui_clock.c (which is used for both the new efl and the legacy elm widgets)
now looks for part names with 'efl.' and 'elm.' prefixes, and without any
prefix, for compatibility with older themes.
Fixes T6928
Test Plan: the Datetime elementary_test (and all other clock-related tests) now work.
Reviewers: zmike, jsuya, CHAN, devilhorns, Jaehyun_Cho
Reviewed By: zmike, jsuya, CHAN
Subscribers: #reviewers, Jaehyun, Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T6928
Differential Revision: https://phab.enlightenment.org/D6577
Summary:
move most of the _item_free() calls to the invalidate method and unset some
delete callbacks on content items to avoid invalid calls during deletion
calling any of this during the object destructor is invalid because the parent
object can no longer be accessed at this time
fix T7236
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, stefan_schmidt, cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7236
Differential Revision: https://phab.enlightenment.org/D6759
it seems that this should have been a pop call, not the function
pointer. This key eina_array_pop is never used. Nor would the array get
smaller, so i assume this should be a pop call.
Differential Revision: https://phab.enlightenment.org/D6814
Summary:
this should not take any action if the existing value of manual_render is
set to the passed value
Reviewers: devilhorns, kimcinoo, ManMower
Reviewed By: devilhorns, kimcinoo, ManMower
Subscribers: ManMower, cedric, #reviewers, #committers
Tags: #efl_display_system
Differential Revision: https://phab.enlightenment.org/D6786
Summary: This fixes progressbar format strings that contain the pattern %%, thus making it a string and not a format.
Test Plan: elementary_test progressbar shows %% on the first vertical progressbar before this patch. afterwords it shows % correctly.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6790
Summary:
ensure that all the children are gone once we unregister the widget
itself. This helps widgets that are not cleaning up theire children /
items on invalidation.
ref T7213.
Reviewers: CHAN, YOhoho, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7213
Differential Revision: https://phab.enlightenment.org/D6754
Summary:
calling this on a object that is legacy is not going to work. And will
print a error. This will make new widgets less verbose.
ref T7213
Depends on D6755
Reviewers: YOhoho, zmike, CHAN
Reviewed By: YOhoho
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7213
Differential Revision: https://phab.enlightenment.org/D6756
Summary:
We need to pass the entire pointer, not just 32-bits of it.
Fixes a crash with enlightenment sandbox gadgets where
ecore_wl2_window_alpha_get() is called with an invalid pointer while
trying to display a pop-up.
Reviewers: zmike, devilhorns
Reviewed By: zmike, devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6775
Summary:
Efl_Ui_Widget which is super of Elm_Map is not implement Efl_Ui_Zoom. to call
efl_super of Elm_Map for Efl_Ui_Zoom method occurs unresolved function error.
Test Plan:
map_example_01
Check that there is no error message.
Reviewers: zmike, Hermet
Reviewed By: Hermet
Subscribers: #reviewers, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6772
Test Plan:
map_example_01
Check that +,- button is working and no error message.
Reviewers: zmike, Hermet
Reviewed By: Hermet
Subscribers: #reviewers, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6771
Summary:
Prerequisite: Partial rendering ON + Image Prealoding + Triple surface buffer of GL.
Previously, evas trys to draw of an image which didn't prepare of image data yet (in case of preloading)
This time, it will draw a solid color onto the dest sufrace 1,
But luckily, preloading is finished just after, it draws proper image data onto next surface 2 and 3.
Now, triple buffer is filled with the image data but only first frame is still empty. That's a problem.
This patch skips to draw image if it doesn't prepare data yet, but once the preloading is finished,
it starts to draw images.
@fix
Reviewers: #committers
Subscribers: kimcinoo, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6739
Summary:
this pointer is owned by elm_theme, not the image, so the image refcount
must be increased in order to avoid accidentally closing the file which is
still in use by elm_theme and triggering a crash
this resolves the crash in the `efl_ui_image_zoomable_icon` test
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: #reviewers, cedric, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D6774
Summary:
TAB of efl_ui_tab_bar is no longer widget_item.
TAB is now layout,
so, do not need below signals.
"efl,text,visible"
"efl,text,hidden"
"efl,icon,visible"
"efl,icon,hidden"
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6770
Summary:
Unexpected image shows if image data is not ready.
Even though there is a change to check the 'preloading' in pre_render phase,
evas_object_image_render is called. So we need to check here as well.
Reference: https://phab.enlightenment.org/D6739
It seems that the 'preloading' is not enough. The 'preloading' could be reset
to FALSE by _evas_image_load_async_cancel > _image_preload_internal.
If the following step happens, then this patch set is neccessary.
(1) evas_object_image_pre_render
(2) _evas_iamge_load_async_start
(3) evas_object_image_render
I could not find out what the correct step, but it actullay happens.
The evas_object_image_render could be called with the 'preloading' TURE.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6778
Summary:
there was a case when a block could be realized while a item that is
realized was brought from one block to the this new one. The block now
is simply realized using api instead of just setting the flag, this sets
the correct focus registrations. While fixing this the error of double
regiration of items came up, this is also fixed by unregistration and
reregistration in the correct block.
fix T7247
Reviewers: zmike, SanghyeonLee, YOhoho
Reviewed By: zmike
Subscribers: Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T7247
Differential Revision: https://phab.enlightenment.org/D6737
Summary:
this got replaced by the none composition implementation and is not
required anymore.
Depends on D6737
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6752
Summary:
the cache simply moved the objects to -9999 -9999 while leaving them
visible and focusable. Hiding them does not work since edje makes it
visible all the time again. Making them unfocusable fixes this.
Depends on D6752
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6753
itb-items is Eina_List, not Eina_Inlist. this crashes due to wrong type
use
ref D6720
fix T7246
Differential Revision: https://phab.enlightenment.org/D6736
Summary:
the focus model before was more meant for simplicity and not for
performance, this now is more made for performance.
The performance boost is achived by not using composition anymore,
but rather register realized items by hand. This keeps the amount
of items bound to the size of the viewport.
Additionally item realization that is followed by unrealization
immediately is not resulting in focus calls.
This solves the performance issue from T6580 in regards of focus.
perf results after this:
http://www.enlightenment.org/ss/e-5b61b50657f3c3.82619729.png
Reviewers: ManMower, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6720
Summary:
Timers are not called in the order they were registered.
Because when current timer is deleted, getting next timer is called twice.
Test Plan:
<error>
Timer1 expired after 0.001 seconds.
Timer3 expired after 0.001 seconds.
Timer5 expired after 0.001 seconds.
Timer7 expired after 0.001 seconds.
Timer2 expired after 0.001 seconds.
Timer6 expired after 0.001 seconds.
Timer4 expired after 0.001 seconds.
Timer8 expired after 0.001 seconds.
<correct>
Timer1 expired after 0.001 seconds.
Timer2 expired after 0.001 seconds.
Timer3 expired after 0.001 seconds.
Timer4 expired after 0.001 seconds.
Timer5 expired after 0.001 seconds.
Timer6 expired after 0.001 seconds.
Timer7 expired after 0.001 seconds.
Timer8 expired after 0.001 seconds.|
{F3268233}
Reviewers: Hermet, Jaehyun_Cho, zmike, SanghyeonLee
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl_tests
Differential Revision: https://phab.enlightenment.org/D6700
Summary:
If a smart class overrides Evas_Smart_Class.move as below,
then original behavior must not be used for the smart class.
Evas_Smart_Class sc = EVAS_SMART_CLASS_INIT_NAME_VERSION("MyClass");
evas_object_smart_clipped_smart_set(&sc);
sc.move = &myMove;
But current implementation makes original behavior work.
So before using the original method, this patch is checking if the original
method is changed or not.
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: woohyun, jypark, cedric, raster, jpeg, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6468
I think at some point in the past this was necessary to avoid weird show
mechanics, but now things have changed and it's best to always attempt to
scroll and let the scroller internals figure things out
this resolves the case where attempting to scroll to an item during a genlist's
calc (ie. the item was not present in a full layout calc) would fail to scroll
to the item if the scroll method was TOP and the item was too close to the
bottom of the list
fix T6368
@fix
Differential Revision: https://phab.enlightenment.org/D6466
Summary:
mouse coordinate is set by seat.
Therefore, mouse_in state should be set based on seat.
As a result, mouse_in state of all pointers in the seat should be
updated at the same time.
Reviewers: eagleeye, devilhorns, zmike
Reviewed By: eagleeye, devilhorns, zmike
Subscribers: devilhorns, Hermet, kimcinoo, cedric, iscaro, zmike, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6699
Summary:
connect factory to edje part name
when create a new layout connect a factory to it
change example to use the factory_model_connect
Reviewers: felipealmeida
Differential Revision: https://phab.enlightenment.org/D6667
Summary:
this ensures that the color_set call is propagated correctly, resulting
eventually in a call to the smart clipped class method for color_set which
will change the opacity of the edje object in addition to the bg widget's
internal rect object
this seems to have been a regression created during the move to the interfaces
version of the bg widget
fix T7232
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7232
Differential Revision: https://phab.enlightenment.org/D6716
Summary:
Small patch fixes an issue where evas_object_smart_calculate was being
called with a NULL box.
ref T7030
Depends on D6704
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6710
Summary:
If we call ecore_evas_manual_render() during an async render, it does
nothing.
This is harmful if we've added render post callbacks during that async
render and expect them to fire.
Force a sync and another render if we're in an async render.
ref T7156
Depends on D6714
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7156
Differential Revision: https://phab.enlightenment.org/D6715
Summary:
To take screenshots, Enlightenment makes a new snapshot object, performs
a manual render, and uses the snapshot results.
Turns out if this happens while an async render is in progress, the
async render's completion triggers a render post callback on the snapshot
object even though it's never been involved in a render.
We need to defer new render post callbacks until any currently running
render completes, then add them during that render's post.
Fix T7156
Reviewers: devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: devilhorns, cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7156
Differential Revision: https://phab.enlightenment.org/D6711
Summary:
The struct definition here is not needed as it will be redefined anyways
later in the efl_model.eo.h header.
Depends on D6705
Reviewers: zmike, #committers, lauromoura, felipealmeida
Reviewed By: zmike, #committers
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6706
Summary: There is no reason to typedef Elm_Multibuttonentry multiple times, the header file can be included, there is no cyclic dependency.
Reviewers: CHAN, zmike, #committers
Reviewed By: zmike, #committers
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6705
Summary:
When testing partial rendering on TV, found this bug.
Probably this was caused because of wrong copy/paste.
When region1 completely subsumes region2, region2 should be ignored.
But currently region2 is copied to region1 which makes region1 rect completly wrong.
This was causing lot of visual defects because of wrong rects.
This patch will fix those visual defects when partial rendering is enabled.
Test Plan: Tested with the patch on TV after enabling partial rendering.
Reviewers: raster, cedric, Hermet, ManMower
Reviewed By: ManMower
Subscribers: bu5hm4n, ajwillia.ms, ManMower, devilhorns, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6696
Summary:
During the 1.21 development cycle the symbol ELM_CNP_EVENT_SELECTION_CHANGED was lost.
The commit which introduced this: e88bbaa1e3
This patch re-introduced the symbol and expected behaviour.
Reviewers: #committers, zmike, bu5hm4n, herb
Reviewed By: #committers, zmike
Subscribers: herb, ManMower, segfaultxavi, stefan_schmidt, cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6689
Summary:
the hoversel is added to a entry while entrys are not build for handling
children focus. Disabling this prevents wrong focus operations.
fix T7163
Reviewers: zmike, #committers, netstar
Reviewed By: netstar
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7163
Differential Revision: https://phab.enlightenment.org/D6695
Summary:
This adds some attributes to the selectiont type in elm_code.
Including the type (whether it is mouse or keyboard) and also whether
a selection is in progress. Thus we can reliably select around the
file and also move/scroll when there is an active selection.
Test Plan:
Drag and select text with mouse. Also the same with keyboard (hold shift and select).
Leave selection active and scroll around the file. The selection should remain and
full movement is possible while retaining the active selection. This could really
be refactored for a next major release.
Reviewers: #committers, ajwillia.ms, cedric
Reviewed By: ajwillia.ms
Subscribers: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6676
Summary:
Fix an issue where elm_slider was passing NULL to eo functions due to
wd->resize_obj being NULL. Discovered via Enlightenment mixer popup
dialog
ref T7030
Depends on D6639
Reviewers: zmike
Reviewed By: zmike
Subscribers: Hermet, bu5hm4n, cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6640
Summary:
efl_layout_signal_emit
This patch fixes an issue where NULL was passed to
efl_layout_signal_emit due to wd->resize_obj being NULL. This was
discovered in Enlightenment by clicking on the mixer module and trying
to close the popup window
ref T7030
Depends on D6638
Reviewers: zmike
Reviewed By: zmike
Subscribers: Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6639
Summary:
Make sure we have a valid frame object before calling edje & evas
functions on it. This patch fixes an issue where NULL is being passed
to eo functions
ref T7030
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6637
Summary:
Here comparision is logically wrong because it compares
the coordinates(cur, prev) of the different spaces.
As you can see just above the conditions,
Cur coordinates could be transformed into the map space (if objs have)
on the otherhands, prev is not. These wrong condition could occur
embarassing event trigger.
@fix
Reviewers: #committers, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6674
Summary:
this was added in a giant block commit in 2009 without direct explanation;
it doesn't seem to make functional sense in the original patch and it
definitely doesn't make sense now
this greatly improves list performance by causing fewer edje recalcs on
list items resulting from list fighting with item content objects over
max size hint
fix T7176
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7176
Differential Revision: https://phab.enlightenment.org/D6669
Summary:
this indicates that the window's internal object sizes will have changed,
requiring a full window recalc. if the window is not visible, defer all
recalcs until pre-render to avoid unnecessary calcs and use the same
codepath as the initial window show
ref T7172
Depends on D6646
Reviewers: kimcinoo, eagleeye, ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7172
Differential Revision: https://phab.enlightenment.org/D6647
Summary:
in this case, a window is being shown again after being hidden, so it's safe
to immediately show these objects as the size will not have changed since
they were last visible
fix T7172
ref fa02f16a3f
Reviewers: kimcinoo, eagleeye
Reviewed By: kimcinoo
Subscribers: cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7172
Differential Revision: https://phab.enlightenment.org/D6646
Summary:
This ensures the cursor changes to meet the font size change
when a font change is made in an Elm_Code_Widget.
@fix T6470
Test Plan:
Run ecrire or Edi. Open a text file and change the font settings.
Cursor should resize with the font when it is changed.
Reviewers: #committers, ajwillia.ms
Reviewed By: #committers, ajwillia.ms
Subscribers: cedric, zmike
Tags: #efl
Maniphest Tasks: T6470
Differential Revision: https://phab.enlightenment.org/D6596
Summary:
Currently when selecting with the mouse and scrollling,
the selection will only continue in one direction. With
this patch, the selection can move freely between "pages".
Test Plan: select text and drag up and down in elm_code widget (Edi).
Reviewers: #committers, ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6632
Summary:
attempt to prevent any access of the signal pipe once signal handlers are
removed in order to avoid triggering a SIGPIPE which would kill the app
Depends on D6670
Reviewers: ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl_main_loop
Differential Revision: https://phab.enlightenment.org/D6672
Summary:
if a signal is already in the signal pipe when close() is called,
this will trigger a SIGPIPE. if the signal handler exists, this will
cause the signal handler to infinitely recurse when trying to print
the error messages from write()ing the signal data to the close()d
pipe
fix T7158
Reviewers: ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl_main_loop
Maniphest Tasks: T7158
Differential Revision: https://phab.enlightenment.org/D6670
Summary: This gives us basic clipboard handling for MacOS after the refactor was done.
Test Plan:
Open an entry test. select text with mouse or keyboard.
Text can be cut. Text can be copied. Text can be pasted.
Reviewers: ajwillia.ms, zmike, jayji
Reviewed By: zmike
Subscribers: jayji, herdsman, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6599
Summary:
1. Why there is a edje signal callback in elm_calendar? and do we need to maintain?
We used edje part like a button before (3 years ago?), So there is a callbacks to get edje signal.
Im pretty sure it is not use anymore. but we need to maintain backward compatibility.
2. elm_calendar using using repeat feature in efl_ui_button for it. why did i change it to manual timer?
We opend elm_calendar_interval_set() APIs. Support this API the manual timer is proper then using button's feature.
3. why scroll freeze? and why only elm_calendar does it?
When the user long press calendar button area and then move the scroll will be activated. it can prevent that weird action.
efl_ui_calendar using button's feature. i not sure scroll freeze is deserve to attached in button side as a feature or not.
So i will consider more for this case.
4. Why efl_ui_calendar doesn't have year buttons (double spinner case)
After interface work, we don't accept style change in the runtime. so that featrue will be supported as API.
The year_button_set/get() property should be added. but i dont know is it really needed...
If the app developer want use year inc/dec button for efl_ui_calendar. they can inherit the class and make it easily.
Test Plan:
View, Action, API test in the elementary-test sample App.
Ps. The issue of the calendar2 crash when it closed. It's not relative with this commit. its focus. i will look around.
Reviewers: Hermet, zmike, ManMower, segfaultxavi, devilhorns
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6626
Summary:
windows does not include ecore_signal.c, so this is not a defined symbol
lib/ecore/.libs/lib_ecore_libecore_la-ecore_anim.o: In function `timer_tick_notify':D:\Documents\MSYS2\home\vtorri\gitroot\efl3\src/lib/ecore/ecore_anim.c:372: undefined reference to `exit_signal_received'lib/ecore/.libs/lib_ecore_libecore_la-ecore_anim.o: In function `ecore_animator_custom_tick':D:\Documents\MSYS2\home\vtorri\gitroot\efl3\src/lib/
ecore/ecore_anim.c:940: undefined reference to `exit_signal_received'
ref 6405a5a68c
Reviewers: vtorri, devilhorns
Reviewed By: vtorri
Subscribers: cedric, #committers
Tags: #efl_build
Differential Revision: https://phab.enlightenment.org/D6648
Summary:
there is no point to feeding mouse events
if clipped object is invisible because
previsou/current situation won't be different.
fyi, move events won't be triggered if prev/cur coordinates
are same.
Reviewers: #committers, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6645
Summary:
this size hints callback is triggered by both list objects and list
item objects, meaning that setting size hints on the item objects during
recalc will trigger a recursive recalc, potentially infinitely
this blocks recursive recalcs unless triggered by size hint changes
from a main list object, since those will eventually resolve themselves
fix T7121
Reviewers: devilhorns, Hermet
Reviewed By: Hermet
Subscribers: netstar, DaveMDS, cedric, #committers
Tags: #efl_widgets
Maniphest Tasks: T7121
Differential Revision: https://phab.enlightenment.org/D6572
Summary:
Silence compilation warning.
There is an ifdef'd block of code which accesses obj but
I don't think it's in use in production?
Test Plan: Build EFL and watch for warning.
Reviewers: #committers, zmike, Hermet
Reviewed By: #committers, Hermet
Subscribers: cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6628
Summary:
"background" and "shadow" part interface was designed to be used in efl
ui interface only.
Therefore, "background" and "shadow" part interface is not used in
legacy.
Test Plan:
Calls elm_object_part_content_set(layout, "background", content); for
legacy layout.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6595
f220f08 introduced this event, however this event never gets raised or
used. I believe this was an accidental inclusion.
'#betabreak'
Reviewed-By: Derek Foreman <derek.foreman.samsung@gmail.com>
A null font set can potentially be stored and passed on. There is no
specific fallback in our codebase to roll-back if something like that
occurs.
This fixes a case where an entry of a null font was not removed from the
fonts_cache and was leaked to subsequent tests (the null font entry was
not removed from the fonts_cache).
Note that this was only apparent when EFL was built with
`--disable-fontconfig`, likely due to fontconfig succeeding to always
retrieve some non-null font.
@fix
Summary:
Using `--disable-magic-debug` defines EINA_MAGIC_CHECK to always
evaluate to `1`. Eina_Binbuf's null-check relied solely on the
EINA_MAGIC_CHECK, and failed to pick up on the cases where `buf` was
passed as NULL. This has led to a segfault when a NULL `buf` was passed
in the test suite (see referenced ticket).
This fix adds an explicit NULL check.
Fixes https://phab.enlightenment.org/T7147
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6592
Summary:
text button don't need to be focused if spinner is non-editable mode.
ref T6798
Test Plan:
1. elementary_test -to spinner
2. Focus second spinner
3. move focus using key.
4. turn on access mode and test 1-3 again.
Reviewers: CHAN
Reviewed By: CHAN
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6798
Differential Revision: https://phab.enlightenment.org/D6581
the efl ui dnd code didn't reset the drop list key to null (deleting
it) once it had freed the list of frop items. this also fixes another
issue in T7113 which causes crashes on exit.
so there are 2 problems behind T7113. first is a problem in the efl
selection manager being "sloppy" with selection data. it's doing a
strlen on the data but it's not a normal c string. it's a blob of
binary data + length value. this fixes that "sloppiness" by using the
len field.
there is also another bug in the dnd test code that again has to do
with "sloppy" handling of data buffers and assuming nul byte
termination and not using the len field properly.
this fixes T7113.
Summary:
when an exit (SIGINT, SIGQUIT, SIGTERM) signal is received, the ui should
immediately stop updating in order to present the user with an instant
response
this uses a simple volatile int to block any ticks which begin after the
signal is received; if a signal is received during a tick then it will complete
normally
fix T7000
Depends on D6589
Reviewers: ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl_main_loop
Maniphest Tasks: T7000
Differential Revision: https://phab.enlightenment.org/D6590
Summary:
The last lines in _efl_selection_manager_drop_target_del were skipped
when `!pd->drop_list` was met. These lines clear the selection event
handlers. Thus, events kept firing and causing erratic behavior.
Fixes T7130
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7130
Differential Revision: https://phab.enlightenment.org/D6579
Summary:
elm_fileselector was using efl_ui_widget_state_apply to call for internal chain update.
This internal chain update was relying on efl_ui_focus_object_manager_get, which
results in a wrong value at this time, since the value is still the old one and not the
current one. (This behaviour will be updated after the release). Focus composition
solves this issue by not relying on the properties of efl.ui.focus_object, but rather
take the values from the configuration in the state_apply call.
fix T6147
fix T7105
Reviewers: zmike, stefan_schmidt, segfaultxavi, devilhorns, herdsman
Reviewed By: zmike
Subscribers: herdsman, cedric, #committers
Tags: #efl
Maniphest Tasks: T7105, T6147
Differential Revision: https://phab.enlightenment.org/D6552
Summary:
efl_new(CLASS), i.e., without initializers, never worked before.
The problem is the dangling comma: efl_add_ref(klass, NULL, );
Fortunately the C preprocessor concatenation operator # # has a special
case just for this occasion: When you do A ## B, and A is a comma and B
is empty, it removes also A.
https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
This trick is already in use in several other EFL headers using variadic macros.
Reviewers: zmike, bu5hm4n, devilhorns, herdsman
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6553
Summary:
Summary
When focus rect move from inc/dec button using keyboard arrow keys, entry show callback is called and focus is set on entry and then text button is hidden. Hiding focus button triggers focus cycle to revert focus on entry, due to which entry gets unfocused callback which subsequently hides entry. So, entry and text button both goes to hidden state. To fix this setting focus on entry after text button is hidden.
Signed-Off By: Prasoon Singh<prasoonsingh16@gmail.com>
Test Plan
Move focus rect from inc/dec button to text button, and observe both text button and entry gets
invisible. Expected behavior is entry should become active.
Test Plan:
Move focus rect from inc/dec button to text button, and obesrve both text button and entry gets
invivible. Expected behaviour is entry should become active.
Reviewers: cedric, CHAN, shilpasingh, zmike
Reviewed By: shilpasingh, zmike
Subscribers: zmike, #committers, govi, rajeshps, jpeg
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D5153
Summary:
When closing the fd handler, it checks if the fd is already closed and prints
an annoying warning: "fd %d closed, can't remove from epoll - reinit!"
We need to close the handler first and then the actual fd.
I am not familiar with this part of the code, but this fix removes the warnings
and does not seems to have adverse effects.
Test Plan: It had warnings before and now it doesn't, haven't observed any other adverse effect.
Reviewers: raster, zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6561
Summary:
Basically, render_pre/post should be called only if rendering happens.
Unfortunately, this behavior had been broken by some mistakes.
As far as I understand after reading history carefully,
this issue introduced for fixing unpair of pre/post cbs.
In case of async render, the post callback would be triggered in
evas_render_pipe_wakeup(), it means POST callbake shouldn't be tiggered in
evas_render_updates_internal(). If that post callback were removed in
evas_render_updates_internal(), then in case of sync_render,
POST callback won't be triggered. So previously, the PRE/POST couldn't get
paired.
I guess cedric put a mistake that nothing2rendering which brought
the pre/post pair issue, even he said that patch fix the unpair of them.
(But actually that patch brought the issue!)
See this: dc841ed9b2
Whatever it was intented or not, that patch totally insane, even
non-descripting.
If we just trigger post cb only if sync render or no_rendered case,
We could make satisfication for both cases.
@fix
Reviewers: #committers, devilhorns, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6573
Summary:
Before this was erroring. However, this error was not reporting a bad
situation, thus there is no need to error. This patch fixes errors on
the Popup test when scrollable is set to 1.
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6560
Summary:
alpha prevents an opaque bg, so ensure that this is being correctly
detected
worth noting here is that the eo api for win calls through _elm_win_standard_init()
during finalize which ensures that need_bg_solid is set; the legacy api
does not call this during "normal" construction
fix T7129
Depends on D6568
Reviewers: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7129
Differential Revision: https://phab.enlightenment.org/D6569
Summary:
when applying alpha in a non-composited environment, shaped should be
set. when removing alpha in a non-composited environment, shaped should
be unset if it has not previously been explicitly set
@fix
Reviewers: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6568
Summary: the key structure has two fields key and keyname, those should be identical to the keystructures from x. the method xkb_keysym_to_utf8 however returns different values for keys like "minus" thus only relying on xkb_keysym_name files this issue.
Reviewers: eagleeye, devilhorns
Reviewed By: eagleeye
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6520
Summary:
Trying to delete a file from a creation notification callback can
fail. Sometimes the eio model test would sit forever in select()
waiting for events that will never occur because of this.
This happens since d84a268a71 broke
deleting of files that haven't yet been assigned a type. Before
this commit a delete_me flag would be set before attempting to
build a stat buf asynchronously, and then on completion the file
would be deleted.
I think this was changed because that could potentially race with
other async calls and delete the file sooner than expected. So
instead of reverting I've made a special delete path that shouldn't
race with non-delete paths.
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6543