Summary:
When text_set is called for entry, it sets to empty text
before calling _entry_text_append().
but, _entry_text_append() has 'set' parameter.
Therefore text is set in that function, and clearing is not needed.
It can fix "changed" smart callback is invoked multipe times
when a short text is set to entry.
In addition, if text length is larger than ELM_ENTRY_CHUNK_SIZE,
set text directly as amount of chunk size and idler will append
about remain text.
@fix
Test Plan:
1. elementary_test -to "entry5"
2. click "set 10000" button
2-1. changed message should be printed 1 time
3. click "set 10001" button
3-1. changed message should be printed 2 times
Reviewers: tasn, Hermet, id213sin, cedric
Reviewed By: cedric
Subscribers: woohyun, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4134
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
recalculation of item count is getting only on a first load of combobox.
whenever user add more items, size of container with items doesn't getting more
place (provoking scroller to appear).
but its event more annoying when user delete items, then there are lots of
free spaces left that looks ridiculus
@fix
Summary:
notify's theme_apply function return value with eo_do_super(... elm_object_widget_theme_apply)
but notify's super class is widget, widget_theme_apply return always ELM_THEME_APPLY_SUCCESS.
so, notify's theme_apply function always return ELM_THEME_APPLY_SUCCESS, if it couldn't apply style correctly.
notify apply style via _notify_theme_apply function, so that function must decide theme_apply function's return value.
Reviewers: herb, singh.amitesh, Hermet, cedric, raster, jpeg
Reviewed By: jpeg
Differential Revision: https://phab.enlightenment.org/D4130
I was getting a crash in eo_shutdown, inside
_efl_event_pointer_class_destructor as I was calling eo_del
from there. But the parent class was already destroyed.
Assuming class IDs can only go up, and child classes are only
instanciated after all their parents, it is safer to call the
class destructors in reverse order.
Obviously, still pretty sure eo_del() in a class_destructor
is not a good idea...
This test is stalling. Locally as well as on Jenkins. I tried to bisect it
without any luck. Even running it from the 1.17 release it does no longer work
so i guess it is some change coming from a pulse update on my system. I have
version 7.1 here. As we have no-one working actively on ecore_audio I disable
the test here and we can track the problem on T4018.
so. on linux signals are delivered to the main process thread/loop.
thats' where signal handlers are set up and always run. this is sane.
it's predicatble. but of course this is not the same in bsd land.
there "just send the signal to any old thread and call the signal
handler there" seems to tbe the order of the day. this explains why
wer are losing sigchld signals in edje_cc - it's heavily threaded and
bsd is just randombly picking a thread to call it on.
this fixes that. in theory. i hope. i can't test, but putting it in to
share
@fix
i've fixed almost all the eina init/shutdown pairs to do the right
thing now... except one (ecore_shutdown) with comment inline where
eo_shutdown is not called. if this is called we are in crash land.
this needs further inspection.
Summary: No idea what else can be done with this widget.
Reviewers: jpeg, cedric, woohyun
Subscribers: raster, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3930
Summary:
When user edit spinner value on entry.
The user want to back on entry to edit spinner value even swiching view(focus out and focus in).
I considered a couple of exception case ( case that entry should not reactivate.)
1. User click spinner button to give focus.
2. User give focus to spinner's object using key action.
Test Plan:
Add sample in elementary_test.
Edit spinner value.
Gives focus to other window.
Back to spinner view.
See the action.
Reviewers: Hermet, woohyun, cedric, jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4120
elementary_test -to "Entry on Page Scroll"
Click on "Click this and close popup"
A weird rectangle would be temporarily visible while the
popup is fading in. The rectangle was the block_events
rectangle. By default, elm_popup blocks events, and its
parent must be the whole blocked input area. This fixes the
parent in the example.
I think the block_events region should be fading in and out
as well, because it looks terrible right now.
Note: this changes the position of the popup, but makes
the whole "block_events" thing actually work (avoiding
other render artifacts).
Scenario:
smart {
text
proxy -> text, src_invisible
}
proxy -> smart
What we should see:
smart {
(blank)
proxy -> text
}
proxy -> {
(blank)
proxy -> text
}
What we saw:
smart {
(blank)
proxy -> text
}
proxy -> {
text
proxy -> text
}
Solution:
Check in evas render, when we're inside a proxy render, and the
proxy src_invisible flag is on (evas_object_source_visible_set(0),
that we're rendering the object itself to its proxy surface. If not,
it means we're rendering another proxy surface, ie. a parent smart
object's proxy surface.
Still loving evas render.
Fixes T4006.
@fix
ecore_timer_del() checks a flag "inside_call" that can be
set before calling the timer cb... but it was never reset
to 0. So, all legacy timers would keep on ticking forever
and ever, until they return CANCEL.
Anyway, I find the distinction between eo_del and
ecore_timer_del very troubling. eo_del() should work
on a legacy timer. Ping @cedric. Maybe override eo_del()?
Fixes T3898
this should cut some memory used by edje by using smaller types like
shorts instead of ints where we just dont need a full int range and
short will do, and re-ordering in memory data soit packs better when
accoutning for alignment
If we end up failing to get the fd from ecore_main_fd_handler_fd_get,
then we should just bail out of this function and try again later.
Fixes Coverity CID1357213
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
The edje code used to register the cursor objects as "edje sub-objects" of the
edje entry object. This is not edje API, so will send these signals explicitly
to the objects.
elm layout signal handling was all over the place. using 3 different
ways of adding or deleteing signals from the object. it uses either
obj directly, eo_super(obj) or wd->resize_obj. come on. be consistent.
so using wd->resize_obj worked before and now works properly with
sgnal cbs PROPELY deleted unlike before.
@fix
let's assume you registered a callback twice with the same ptr data
and same func and same sig/src... if you delete it once you're ok.
delete twice... and you re-delete the first one (just makging it for
delete_me). this fixes this corner case
@fix
Coverity reports that len is used un-init here, so let's give it a
value at declaration time
Fixes Coverity CID1357214
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Summary:
After setting focus to disabled item, focus does not work properly.
It is necessary to consider disabled state of each item
when selecting next focused item.
Signed-off-by: Jehun Lim <jehun.lim@samsung.com>
Test Plan:
1. elementary_test -to 'gengrid disabled item focus'
2. check 'item select on focus disable'
3. move focus to disabled item
4. observe focus and compare before this patch
Reviewers: cedric
Subscribers: minkyu, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4115
Summary:
if trying to apply incorrect theme, widget apply default theme and return TRUE.
so there is no way to check it really apply correct theme.
To resolve this problem, _elm_theme_set return three type enum
* related history : 4ca3ef4514
* elm_object_style_set is public api, so I didn't change it.
* typedef name [ Theme_Apply ] is temporarily, please suggest better one.
@fix
Reviewers: singh.amitesh, herb, Hermet, cedric, jpeg, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4073
when hoversel has no item at all and use clicks on it, then it goes into
state called "expanded".
and so then, no matter how many items user would try to add, hoversel won't work
anymore.
@fix
Adds two new type types, STATIC_ARRAY and TERMINATED_ARRAY. Static arrays are
only allowed as struct members right now - they translate to regular C static
arrays (allowing them elsewhere wouldn't be good, as C isn't very good at
working with the size information). Terminated arrays are basically sequences
of data terminated at the end. The base type of static arrays can be any type
that is not marked ref (explicit ref may get allowed later). The base type of
terminated arrays has the same restriction plus that it has to be either
implicitly reference type (i.e. translating to pointer in C), integer type
or a character. In case of ref types, the terminator is NULL. In case of
integer types, the terminator is a zero. In case of character types, the
terminator is also a zero (null terminator like C strings).
@feature
Coverity reports that we could not reach the eina_hash_free here on
erorr condition. This was due to an erroneous return NULL above the if
(hash_create) check.
Fixes Coverity CID1357171
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Coverity reports that we end up leaking the return from
_output_name_get as the storage is never freed.
Fixes Coverity CID1357161
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
We should be checking the return value of ecore_main_fd_handler_fd_get
calls as they can return a negative number...which cannot be passed to
the close() or read() functions.
Fixes Coverity CID1357152 and CID1357153
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch fixes an issue where ecore_main_fd_handler_fd_get could be
returning a negative number and passing that to close() which cannot
accept negative numbers.
Fixes Coverity CID1357152
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Coverity detected that the same code was being passed to resize
regardless of canvas orientation. This patch fixes the issue by
passing the proper values to window_resize.
Fixes Coverity CID1357150
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
'window' here could potentially be null so we should be checking that
it is valid before trying to assign event window
Fixes Coverity CID1357148
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch fixes an issue reported by coverity where 'type' variable
could be null and passing null to strcmp is not good ;)
Fixes Coverity CID1357147
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Coverity reports that this bpp check is actuall dead code due to the
fact that bpp can never be < 0.
Fixes Coverity CID1357144
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
If we fail to read any bytes from the fd, then we should be returning
a failure here.
Fixes Coverity CID1357143
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch fixes 2 Coverity issues where engine_info_set was being
called, but the return was never being checked.
Fixes Coverity CID1357141 and CID1357142
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch fixes 2 coverity Error handling issues.
ecore_main_fd_handler_fd_get can return a negative fd on error so we
should be checking that return before trying to make use of the fd.
Fixes Coverity CID1356632 and CID1356624
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Summary:
So currently having an issue related to clip_to function from
EdjeEdit API. I am not sure about how and why combobox use pointer grabbing
(just started to use it) but when setting NULL into clip_to of edje edit it
suddenly block entire screen away from mouse. Only when point is moved out of
window and back, only then it will be able to access widgets again.
Take a look at video and maybe try example to reproduce problem
I am not sure if deleting those functions from edje_edit is actually right
decision. But it will fix the problem of course.
Test Plan: See attached video and examples in attached files
Reviewers: NikaWhite, reutskiy.v.v, Hermet, cedric, raster
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4081
This message really is just informational at best, since it's
not an error, and we even implemented an optimization.
It should be done at compile (edje_cc) time though.
See comments on D3801
Those actually belong to elm_config, or rather Efl.Config:
efl_config_int_set("cache_image_cache_size", 42);
efl_config_int_set("cache_font_cache_size", 1337);
When the parameter 'text' is NULL in elm_layout_text_set function,
the sub object data with the same part name is removed
from the layout's sub object list and the function returns immediately.
However, if the text part doesn't exist in the list,
a new sub object data is appended to the list even though the text is NULL.
This patch adds NULL check so the function can return in such cases.
'data' parameter is actually used in this function, so remove mis-use
of EINA_UNUSED in function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This is a fix for some over-zealous optimization attempt. Basically,
we cannot optimize out multiple calls to ecore_wl2_window_input_get as
the window can change in the for loop.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
accepted
This fixes an issue where in wl dnd, if one mimetype was accepted by a
drop, then all subsequent types would have been accepted also..
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
When the parameter 'text' is NULL in elm_layout_text_set function,
the sub object data with the same part name is removed
from the layout's sub object list and the function returns immediately.
However, if the text part doesn't exist in the list,
a new sub object data is appended to the list even though the text is NULL.
This patch adds NULL check so the function can return in such cases.
The original idea behind knowing the app's version of EFL is not
a great story. It comes from the fact that some bugs exist in
earlier versions of EFL, and some things need to be fixed. But
those fixes may break behaviour for older apps. This patch is
opening the way to the slippery slope of bug compatibility.
Unfortunately this is a requirement if we want to be able to move
forward and not break apps when we fix bugs (behaviour or ABI).
I hope we will not need to implement too many (if any) workaround
such issues. For now, this will only be used as debugging info.
EFL_MAIN() and ELM_MAIN() will both set the app's EFL version
automatically at startup time. Some internal helpers can be added
later to check how the app build-time and run-time version of
EFL differ.
@feature
Note: this is both @class and @property. Hope that's ok for
all bindings.
This returns same as ecore_main_loop_get() (which now uses the eo
api instead).
Ping @cedric (so he can check this patch).
Those are marked as EINA_DEPRECATED since they are for legacy only,
and EDC is the preferred method.
Note: these are new in EFL 1.18.
I would rather have not added them as legacy APIs. This patch is
here to align to Tizen which added them by mistake. Also, remove
the "name" argument from filter_program_set as it's not required,
and also not there in Tizen's code base.
Sorry for the mess.
It relies a bit on evas legacy APIs and will only work on
evas objects (Efl.Canvas.Object) for now.
The main difference with Evas_Map is that there is no
separate map object, as the functions apply directly to
any canvas object.
For convenience, most functions will automatically populate
the map if there was no previous map info. While this may
be convenient, the object's size changes still need to
be tracked to update the map info.
If you touch downs and ups about all of fingers,
that is sufficient condition to call ecore_wl_input_ungrab().
And then one mouse up event is generated from that function.
So if you set a callback about ECORE_EVENT_MOUSE_BUTTON_UP,
you can watch two mouse up events are occurred.
This is a port of the patch for Ecore_Wayland library (deprecated) to
the newer Ecore_Wl2 library.
ref D4112
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Summary:
Prevent duplicated mouse up events generated from input_ungrab.
If you touch downs and ups about all of fingers,
that is sufficient condition to call ecore_wl_input_ungrab().
And then one mouse up event is generated from that function.
So if you set a callback about ECORE_EVENT_MOUSE_BUTTON_UP,
you can watch two mouse up events are occurred.
Test Plan: Touch and release. And watch mouse up events.
Reviewers: raster, zmike, devilhorns
Reviewed By: devilhorns
Subscribers: ohduna, input.hacker, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4112
Not really somethign we would hit here but still better to change this.
tests/elementary/elm_test_config.c: In function ‘elm_config_profiles’:
tests/elementary/elm_test_config.c:206:12: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
fail_if(cnt != eina_list_count(list));
We are assigning somethign new to this list so no chance for const here.
tests/elementary/elm_test_config.c: In function ‘_eina_list_string_has’:
tests/elementary/elm_test_config.c:174:11: warning: assignment discards ‘const’ qualifier from
pointer target type [-Wdiscarded-qualifiers]
EINA_LIST_FOREACH(list, l, s)
Summary:
max_sc_w decide popup's "content" area size when popup scrollable is TRUE.
but in popup's edc, "elm/popup/content/XXXX" has min size when scrollable is TRUE. (and it is content area layout)
max_sc_w has fixed value, so I think deciding by edc is better than fixed code.
Test Plan:
1. elementary_test -to popup
2. check "Enable popup scroll"
3. click any list item.
4. observe popup and compare before this patch.
Reviewers: singh.amitesh, herb, Hermet, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4113
Summary:
Some fonts can have weird style and weight value.
If a font has a style name as "medium" and a weight value as "semi-bold",
Evas can't load the font using "font=Somefont:style=Medium".
It only can be load with "font=Somefont:style=SemiBold" or
"font=Somefont:weight=SemiBold".
On the other hand, it could be loaded when I tested the following commands.
fc-match -s ":family=Somefont:style=Medium" or
fc-match -s ":family=Somefont:weight=SemiBold"
Evas also should load font based on font's style name.
@fix
Test Plan: N/A
Reviewers: tasn, herdsman, cedric, woohyun, raster
Reviewed By: raster
Subscribers: Blackmole, z-wony, jpeg
Differential Revision: https://phab.enlightenment.org/D4108
if EFL_EO_API_SUPPORT is not defined in user side, this will break the build.
because Elm_Layout type is defined in eo header file.
Just keep using Evas_Object * in legacy yet.
So far this was protected behind ifdef EO_API_SUPPORT. It also
was not used internally. Dropping this before the release, since
we will soon have a (hopefully) better solution to handle various
color representations.
Summary:
refactor setter and getter of edje color class and
move edje_color_class_set/get() into Edje.Object as class functions
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: kimcinoo
Differential Revision: https://phab.enlightenment.org/D4109
Note by jpeg:
The EO APIs introduced here will be revisited in upcoming patches,
in particular:
1. avoid non-premultiplied colors
2. move to a common color class interface
Summary:
Add bounds-changed signal, this signal can be sent on geometry change
of any evas object when atspi mode is enabled.
Test Plan:
connect to "object:bounds-changed" signal on screen-reader.
when signal BoundsChanged is emitted from elm using elm_interface_atspi_accessible_bounds_changed_signal_emit, the signal should be received
and we should be able to access geometry.
Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
Reviewers: cedric, lukasz.stanislawski, kimcinoo
Subscribers: govi, rajeshps, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4100
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
When call slide_go before label is resized, setting the sliding is a meaningless.
This patch is for reducing redundant operations.
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Deepjyoti Dutta <deepjyoti.d@samsung.com>
Test Plan: elementary_test -to "label slide"
Reviewers: cedric, Hermet
Subscribers: seoz, jpeg
Differential Revision: https://phab.enlightenment.org/D4089
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
If dnd in the same window is activated, the focus goes away from the
ecore_wl2 window to the dnd window, after that focus.pointer is NULL.
After focus.pointer is NULL ev->win of all the events will be 0 which
breaks dnd-motions, drop and end.
With prev_pointer beeing the last focused window, we can simply set this
window as event window. After that dnd with jesus works perfectly.
@fix
Reviewers: devilhorns
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4093
The cursor object is meant to be instantiated in the following manner:
eo_add(EFL_CANVAS_TEXT_CURSOR_CLASS, text_obj,
efl_canvas_text_cursor_text_object_set(eo_self, text_obj));
This can't be done directly on the Ui Text object, so it has to be with an
method call, sadly.
@feature
evas-images2 example was broken due to excessive clipping.
This is one more issue with the cached clip geometry.
By default proxy_src_clip is true. The doc (that I wrote)
mentions that it means both objects (image proxy & source)
share the same clipper. So, this does not mean that the proxy
is clipped to the geometry of the source (this can be useful
in some cases, when replacing an object with a proxy to apply
some kind of effect on it... but this could be rare).
Thanks Amitesh for the report.
@fix
Summary:
bin/edje/edje_cc_out.c: In function ‘data_write_images’:
bin/edje/edje_cc_out.c:1164:7: warning: ‘f’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (!f) return EINA_FALSE;
^
bin/edje/edje_cc_out.c:1154:15: note: ‘f’ was declared here
Eina_File *f;
^
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: seoz, jpeg
Differential Revision: https://phab.enlightenment.org/D4101
While the shaders automatic regeneration is very useful when
working on shaders, it has been the source of too many
build breaks.
So I'm making this regeneration an opt-in.
You work on shaders?
Set the env var EFL_SHD_REGEN=1
This reverts commit 3c13ef14e3.
This introduced new build breaks, especially with in-tree builds.
In particular, DIR was not defined. See T3975.
I'll make the shaders regen an opt-in rather than on by default.
Summary:
Focus region must be located in entry object.
Therefore if it get out of entry,
it just returns last cursor position that can be shown.
@fix
Test Plan:
1. elementary_test "Entry on Page Scroll"
2. click 2nd btn and close popup
3. page should not be scrolled
Reviewers: raster, herdsman, id213sin, woohyun, tasn, cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4072
External icons were handled with a global variable, which reason
to exist seem quite weird. It seems to me it was used to retain
some states of the actual parameters to get them later without having
access to the real parameters.
I don't really get how this would have worked with more than one
icon. When I tried to animate an external icon, with two states,
there were leaks and memory corruption... Now both are gone.
@fix
This is a followup on ca55a920d9.
This fixes cnp/dnd for applications started outside of the weston
session. (There are still more problems with dnd and cnp)
This reverts commit 0959e87d99.
This broke the entry behavior that introduced enventor critical issue also.
It looks like a timing issue, but i didn't deep into further.
Please check a simple test case.
https://phab.enlightenment.org/F38614
Before/after applying your patch, the result is totally different.
before key and keyname could have been filled invalid, for example the
character "ö" from the german layout produced "Odiaeresis" instead of ö.
This commit also documents and refactors _ecore_wl2_input_key_translate.
I added the documentation for later use, it was hard to find out why
this was done.
The function also drops the input now if invalid control codes would
have been generated, this is equivalent to the behaviour in x. So
applications cannot get confused by codes which dont exist.
It also doesnt check if there is actual output by checking the highest
bytes anymore, it just tries to create a utf8 character. This fixes
arabic greek and korean keyboard input on wl.
If this breaks the input for some user, feel free to contact me.
This fixes T3073.
This fix is wrt the non-updation of the proxy object.
If a source of a proxy object has mapped objects among its children,
Rendering frame won't be correct while they were keeping changing.
The reason is, evas_object_smart_changed_get() couldn't figure those changes
out correctly because of cached-clip visibility.
Cached-clip of smart member can't be used for map surface updation,
because cached-clip includes the visiblity status out of the smart object.
So, loose the criteria to make it rendering smart members in map.
Most of these functions actually shouldn't be used by
standard applications. Some are hidden behind @protected.
flush_all() and reload() have not been implemented, on
purpose (save() should flush, and reload is automatic).
Instead of being a key "audio_mute" + another key "channel"
I've simply implemented a number of different keys:
audio_mute (= all)
audio_mute_all
audio_mute_effect
...
Elm_Focus_Autoscroll_Mode
Elm_Softcursor_Mode
Elm_Slider_Indicator_Visible_Mode (rename only)
Elm_Focus_Move_Policy (rename only)
This is for Efl.Config API.
This is to port elm_config to EO APIs.
The current implementation relies on the legacy API, by
simply forwarding calls.
The new API is simply efl_config_set("config_name", value)
where value is an Eina_Value (aka. generic_value).
The C interface proposes a few helpers like config_int_set,
config_double_set, etc...
Unfortunately at the moment, not all config options are
supported, as some rely on more complex types:
- lists
- color class and multiple arguments
- unset functions
- enums
Profiles are also not handled at this point.
@feature
So... adding the .x files to BUILT_SOURCES means they would
get deleted during clean. This was bad, but turned to be awful
when this made the check for writability fail.
See:
8a273158782b8912462e
This commit reverts:
0b69356f1b
Notes:
Please revert if this breaks the build for anyone.
I'm pretty sure the use of top_srcdir is not recommended the
way I've done it.
I hate autofoo.
Summary: Which will apply translate property twice once to shape and once to origin.
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4086
Summary:
4000x4000 min size limitation was added to prevent infinite
calculation loop. But, it can ruin calculation of some proper Edjes.
Normally, properly generated Edje runs the calculation loop below 10 times.
So, "255" could be proper limitation for calculation loop.
It also make better performance for broken Edje.
Test Plan: N/A
Reviewers: raster, Hermet, woohyun, cedric
Reviewed By: cedric
Subscribers: jpeg, z-wony, Blackmole
Differential Revision: https://phab.enlightenment.org/D4075
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
- when index is set to horizontal by elm_index_horizontal_set()
there is no logic about omit calculation. However, when
omit is enabled/disabled by elm_index_omit_enabled_set(),
horizontal index is ignored by
if (sd->orientation == EFL_ORIENT_HORIZONTAL) return;
- This can cause inconsistency when order of calling those APIs
is changed. And also, that "horizontal index cannot be omitted" is not documented
and does not make sense.
- This commit enables omit for horizontal index, but further
change is needed because current logic of getting min_w for
dummy edje object is not accurate when text is set.
Reviewers: cedric, jpeg, Hermet, conr2d
Reviewed By: conr2d
Subscribers: eunue, conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4052
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If elm_genlist_item_bring_in() is called immediately after appending
item, genlist will not scroll to the last one but stop in the middle.
This patch blocks genlist from scrolling to not calculated item.
Test Plan:
1. Download F31560 and uncompress the file
2. make
3. ./test
Reviewers: SanghyeonLee
Subscribers: cedric, DaveMDS, jpeg
Differential Revision: https://phab.enlightenment.org/D4023
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
There is a issue about passing the focus to unfocusable scroller.
To prevent the issue, check the status of focusable object and child object
before passing the focus.
Test Plan:
{F38439}
I changed the test file.
The problem occured as below.
1. click button
2. show popup
3. click cancel button in popup
4. lost the focus
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: minkyu, sju27, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4056
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Including camera and light to calculation aabb can lead to confusing in detemination
bounding of the whole scene (root node).
@fix
Reviewers: cedric, Hermet, raster
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4060
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
In commit 3340745c65 the callback array got
removed letting all callback functions around as unused. Somehow the setup
of all these callbacks have gone missing over various refactors.
It supports the same syntax as the config value, but
overrides it. This provides a more convenient way to select
the acceleration for a single window.
Its get() value should be what was effective when the window was
created. So it can depend on the config or a previous call
to set().
@feature
Summary:
When user set text to entry, "changed" smart callback is invoked 2 times.
Because entry set to ""(empty string) and append text internally.
But, in a recent, set flag is added for _entry_text_append().
So, empty string set is does not needed before appending.
@fix
Test Plan:
- elm_entry_entry_set(entry, "text") : 2 times invoked (bug)
- elm_object_part_text_set(entry, NULL, "text") : 2 times invoked (bug)
- elm_object_part_text_set(entry, "elm.text", "text") : 1 times invoked
Reviewers: herdsman, tasn, id213sin, woohyun
Reviewed By: woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4074
The issue is that in some cases we were calling user code (callbacks)
when some of the nodes were referencing already deleted text nodes. This
caused invalid memory access. This commit delays the callback calling
until after all of the cursors got into a consistent legal state.
My nvidia EGL driver coultn't compile some shaders because of
the error:
error C1059: non constant expression in initialization
The proposed patch at D4068 is not acceptable since it just
brings the original problem back. Instead, make sure all vec3
variables are initialized in main() or another function, not in
the global scope.
I tested all examples in evas
This goes back to a stupid comment I made in 93fad2a19f2507a:
No idea why evas_box was overwriting smart_data.get
(esp. since it was returning a private struct).
Well, it turns out the struct is NOT private and the smart
data pointer can be used by any user of evas box (including
Efl.Ui.Box).
Fixes T3926
When an fbo pageflip finishes, we should be marking the current fbo
(one just sent) as no longer busy since it's already been pixel
blasted to the screen. Also, if we fail to flip to a given fbo during
buffer swap, then don't leave that fbo marked as busy since it is
technically not in use
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
When we vt-switch away from a running session, we need to disable
rendering to an output and re-enable when we switch back. This patch
set essentially makes vt-switching work again in Enlightenment Wayland.
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch fixes an issue where input would stop working when you
vt-switch away and back again in a running Enlightenment Wayland
session. Basically, when we vt-switch away, we need to tell libinput
to suspend input event processing, and when we return to re-enable it.
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Missing parenthesis have been leading to an out of bound access here.
Summary: @fix
Reviewers: stefan_schmidt
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4069
evas-images5.c:19:0: warning: "EFL_BETA_API_SUPPORT" redefined
#define EFL_BETA_API_SUPPORT
^
In file included from evas-images5.c:14:0:
../../../config.h:360:0: note: this is the location of the previous definition
#define EFL_BETA_API_SUPPORT 1
We should only define it when we are not using config.h
My recent removal of the EFL_EO_API_SUPPORT define brought some trouble to the
evas 3d examples. The problem was that there was no uniform usage of including
config.h and thus it worked fine in some constellations abut not in others. This
patch should fix the known problems and brings back EFL_EO_API_SUPPORT until we
are removing it from the whole code base.
We hit another argument too long error with CLEANFILES. Moving the generated
files for js and lua into separated variables and cleaning them manually fixes
the issue.
This implements a new builtin, stringshare, which is replaced with the right
pointer to Eina_Strinshare as necessary. This allows simplifying binding code
(it can call the proper eina APIs, deal with lifetime etc).
It also removes the extern Eina.Stringshare typedef from eina_types.eot, which
was actually incorrect and would generate invalid code in binding generators.
@feature @fix
This was discussed and still wasn't decided whether this is required to be
supported internally.
The reason for this revert is that the behavior still needs tweaking to work
just right along with the legacy behavior.
The cursor update hasn't considered when the pararaph is broken. The reason the
code path is different from legacy is because that it was originally intended to
support append and prepend operations in the new API. Since we don't anymore
(only supporting append operations in the new cursor with 'text_insert'), we can
simplify the insertion implementation and fix this.
Evas.Common_Interface not only had a bad name, it also
wasn't in line with how we can get a loop object, for
instance.
Use eo_provider_find in each implementing class.
evas 3d examples would always exit on a double free, since
EINA_INLIST_FREE was misused. Not surprising considering
it's different from EINA_LIST_FREE but has a similar name.
Summary:
When edje_password_show_last option is enabled, the edje_entry uses <password=off>
for showing last character. But, when password mode is disabled by the elm_entry,
<password=off> is remained in the text. It can cause some problems.
Because, there is no way to control password mode by API for the edje_entry.
The elm_entry can't remove <password=off> tag before getting text from the edje_entry.
So, the patch adds edje_object_part_text_hide_visible_password() function and
the elm_entry will use this when elm_layout_theme_apply() is called.
@fix
Test Plan:
1. Run "elementary_test".
2. Show "Entry Password" demo. (Newly added by this patch)
3. Password mode is enabled. Put some text.
4. Click "Show Password" check box to disable password mode.
5. Put more text.
6. Click "Hide Password" check box to enable password mode again.
7. See a character among the text is visible. (without this patch)
Reviewers: tasn, herdsman, cedric, jpeg, thiepha, raster
Reviewed By: raster
Subscribers: Blackmole, z-wony, woohyun
Differential Revision: https://phab.enlightenment.org/D3988
This was needed when the eo composite object was still in beta. Since commit
d7c45e41d4 this is no longer the case. No beta
part left in eo base so we can safely remove this define.
See also de5f293426 and T3789
I wrongly assumed that multi.{x,y} would be properly set.
I'm assuming here that multi.{x,y} == (0,0) means they are
not set, and that double comparison to 0 works fine.
efl.gfx.fill will reset the filled flag, so the internal function
needs to be called instead of the gfx api.
This test error was added in a very recent commit: ccaf12e1b6.
This will trigger a re-run of the shaders shell scripts even
in case of out-of-tree builds. BUILT_SOURCES is used here
because for whatever reason make does not rebuild the .x targets
in case of out-of-tree builds (even if the timestamps of
the dependencies have changed).
This is a better fix than the previous patch, as it keeps
the legacy API check. The point of that check is: if the object
has been created with legacy API (evas_object_image_[filled_]add,
then legacy APIs are allowed, otherwise they are disallowed. This
means only EO APIs should be used on an eo_add() image object.
/usr/local-efl/include/evas-1/Evas_Legacy.h:3762:30: warning: redefinition of typedef 'Evas_Load_Error'
is a C11 feature [-Wtypedef-redefinition]
typedef Efl_Image_Load_Error Evas_Load_Error;
^
/usr/local-efl/include/evas-1/Evas_Loader.h:126:30: note: previous definition is here
typedef Efl_Image_Load_Error Evas_Load_Error;
^
thank you jpeg :P
This is legacy stuff. I wish we could hide it from our inheritance
entirely. Instead, just make it abstract, remove all functions from
eo (doable here) and rename with the keyword "internal" in the new
ugly java style name.
smart_get and attach referred to an opaque struct, from EO
point of view.
Also, attach was an EO-only function, used nowhere besides
evas object smart itself, and evas grid (which is not EO
public API).