this is now handled when eo is erroring.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11464
this is usefull, as we now know which type of part we have, if a API
call does not succeed.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11463
that is usefull esp. on parts.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11462
when this property is set, the mixin implementation of efl_file_load() is
never called, which means the internal loaded flag (and related data) is
not set, and so the values for these properties must instead be returned
directly from the image data
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11423
this is a bit ugly, but in the case where skip_head is used it's important
to propagate the resulting Eina_File back up to the image object's data
for use in other api functions
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11422
As per mailing list discussion, This macro is apparently a forward
facing API so we should be using efl_data_scope_safe_get in the event
that the API receives an object of the wrong type (which would have
caused a crash previously).
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11450
Small patch to reduce the number of calls to efl_data_scope_get as per
mailing list discussion. Since the
EVAS_OBJECT_INTERCEPT_CALLBACK_DEFINE macro already retrieves the
protected data via efl_data_scope_get, we can just pass that
protected data directly to evas_object_intercept_init/deinit functions
without the need to refetch it.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11449
we implement the API from it, so we should have that as a type here.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11447
If elm_object_item_del is called in pop_cb and pop_cb returns
EINA_FALSE, then the given item is destructed by _item_noref when
efl_unref is called after pop_cb.
After the above destruction, efl_del is called after the above efl_unref
and it deletes the item again.
Not to delete item after the item is destructed, efl_del after pop_cb is
removed.
Summary:
Legacy event info have canvas and output coordinates.
Output coordinates have information of original position.
Canvas coordinates have information of transformed position.
So keep backward compatibility, fix filling legacy information.
This reverts commit 7f724f6c5d
Reviewers: Hermet, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11445
For now, only create textgrids when needed. Also improve other
regions of the widget. This will improve large file support and
also some rendering of the widget.
This improves performance 1-2 times. However, there must be a
reasonable redesign regarding the current use of textgrids.
Summary: this is useful for tracking surfaces of specific clients
Reviewers: bu5hm4n, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11438
need to always make sure we set this when a gesture is being tracked so
we know which touch point we're watching
Differential Revision: https://phab.enlightenment.org/D11387
it's not enough to just check the value for this in the recognizer; we need to
always modify the recognizer property here to correctly manage object lifetimes
and generate the correct events (e.g., not emitting momentum gestures while
multiple fingers are moving simultaneously)
also update a couple existing unit test checks which were wrong
Differential Revision: https://phab.enlightenment.org/D11386
if the recognizer is processing using a touch point other than the first finger,
e.g., in the case where multiple fingers are pressed simultaneously, then
the recognizer needs to also detect distance based on that finger
more fixes for triggering tap events while fingers are moving
Differential Revision: https://phab.enlightenment.org/D11385
when a gesture ends and is not set to continue, the gesture object must
be preserved until the entire touch sequence ends in order to ensure that
all the touch point states are accurately detected and updated and so
additional instances of that gesture are not accidentally triggered
this fixes weird corner cases where you could tap with two fingers and
then get a long press event while dragging the second finger around as
long as you did it quickly enough
Differential Revision: https://phab.enlightenment.org/D11384
this is a 1:1 port with minimal changes other than what's necessary to
integrate into the new framework
Differential Revision: https://phab.enlightenment.org/D11383
this is consistent with the rest of efl naming
ref T8503
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11376
when the mouse motion was used, we need to mark this event as processed.
Otherwise a click event will be emitted which is wrong.
Additionally, we should only scroll when we are definitly not clicking.
Right now, the scrolling animation would dance arround on a real TS.
Additionally², this commit introduces a little macro which calculates
the distance of a position.
This reverts commit 3d57fc0c92.
The change broke elementary tests on my local machine as well as on CI.
Please redo the change and bring it back after testing with the test
suites we have.
Summary:
EFL should guarantee size of label in various situations that the label is resized.
elm_layout_sizing_eval called on on_label_resize.
Test Plan: N/A
Reviewers: YOhoho, zmike, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, Hermet, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11435
In commit 8cb0b193ea the logic was changed and we could return here
without free'ing the plain_text resource we allocated. Make sure we
handle this even on the error case and early return.
CID: 1408481
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11433
Summary: use existing utf-16 to utf-8 conversion function in Ecore_Win32. Add API to convert utf-8 to utf-16 in Evil for copy'n paste on Windows
Test Plan: compilation
Reviewers: raster, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11406
Summary:
this should operate on the internal image object to reflect the file
state there instead of the outer object
Reviewers: kimcinoo, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11396
Summary:
If _icon_standard_set() fails, _icon_freedesktop_set() is tried.
This was causing missing icons in the homescreen example, which uses
application icons which are obviously not present in the default theme.
Thanks to @bu5hm4n!
Test Plan: The homescreen sample application from the examples repository now correctly shows all missing icons.
Reviewers: bu5hm4n, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers, bu5hm4n
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11381
Summary:
item edje and contents are cached for performance improvement in genlist & gengrid.
but to provide elm_genlist(gengrid)_all_contents_unset method before the contents
are being cached, unrealize callback must be come before the unrealize process.
currently,
item_unrealize
1.unrealize process
2.contents cached
3.unrealize callback
4.all_contents_unset : nothing to unset in the item.
by this patch,
item_unrealize
1.unrealize callback
2.all_contents_unset : contents are unset.
3.unrealize process
4.contents(null) cached
Reviewers: bu5hm4n, cedric, eagleeye, zmike
Reviewed By: zmike
Subscribers: zmike, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11402
Summary:
If memfile_set does not remove prev file information, it is not possilbe to
load image using the same file information after memefile_set.
It means that below line 3 does not work because the same file information
remains for Efl.Ui.Image_Legacy.
1 | elm_image_file_set(obj, "1.jpg", NULL)
2 | elm_image_memfile_set(obj, img, size, "jpg", NULL)
3 | elm_image_file_set(obj, "1.jpg", NULL)
This patch removes line calling _efl_ui_image_file_set_do becasue it is called
in efl_file_unload > _efl_ui_image_efl_file_unload.
Test Plan:
[Sample Code]
{F3848315}
[Reproduce Step]
1. File2
2. Memfile
3. File2
Reviewers: Hermet, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11392
The issue is proxy source clipping is not applied properly,
Obviously that is a regression bug by the code refactoring.
Found out this condition is insane, looks like a wrongly introduced.
@fix
if old edj doesn't include "zoom_center" properly,
the initial value will be set with zero,
We can overwrite it in that case since zoom_center initial value is -1.
Summary:
this patch is related with @D11365.
rather than undoing optimization edje calc,
this patch introduces a user_set property which enables edje_calc
to respect user set property.
Reviewers: bu5hm4n, eagleeye, YOhoho, Hermet, zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers, woohyun, eagleeye, bu5hm4n
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11366
they are not used yet in efl.ui. namespace, and they are needed for
different events.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11196
The calendar object in elementary needs to know which days are weekdays and which
are weekend days in order to properly change the state of the header's labels.
This code add a signal emission from e_calendar.c when setting the header.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11375
this safes in the runtime of elm_test round about 9kb (*).
Additionally, using a array here is jumping way fewer times arround in
memory, as we do not need to jump from node to node in a list.
Additionally, this commit replaces a few abort disabler macros with a
error checking macro. (which cleans the log).
*: explanation: we have round about 600 widgets in elm_test, every
widget is normally refered once, every list node has 4 pointer, makes
round about 9600 bytes or rougly 9 KB. So the messured savings are more
or less explaining the reality.
Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Differential Revision: https://phab.enlightenment.org/D11374
this makes the usage way more convinient.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11373
this path fixes to check a return value of functions.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11371
this patch modifies conditions
to extract range conditions out of switch statement
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11370
BIO *b has freed improperly.
this patch removes the logic.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11367
Summary:
The part object does not apply the logic in efl_ui_format, so it does not work correctly when you format it with %d.
This is the commit that gets the necessary part of the logic of efl_ui_format.
Test Plan: elementary_test
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11378
When a get and/or set from property is defined to return, explicitly,
a Eina.Success_Flag, the mono generator will check the return value
and generate an exception if the call fails.
Resolves T8383.
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11281
Make Get and Set methods internal for properties that get the
property syntax generated.
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11252
Summary:
If user uses image object with following step, then unnecessary preloading
related line is invocated in elm_image_file_set.
elm_image_file_set(obj, file, NULL)
elm_icon_preload_disabled_set(obj, EINA_TRUE)
The following is the preloading related line triggered by elm_image_file_set.
(#0) _image_preload_internal
(#1) _evas_image_load_async_start
(#2) evas_object_image_preload
(#3) _efl_ui_image_smart_internal_file_set
(#4) _efl_ui_image_efl_file_load
(#5) efl_file_load
(#6) efl_file_simple_load
(#7) elm_image_file_set
Moreover there is a flickering issue caused by the unnecessary preloading.
A test code is attached.
Test Plan:
Use following test code. The flickering issue occurs with `ELM_SCALE=10 ELM_ACCEL=gl ./test_transit`
{F3847288}
Reviewers: Hermet, jsuya
Reviewed By: Hermet, jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11364
Summary:
Json vector animation requires the json loader to be loaded.
Therefore, if the loader does not load,
it prints an appropriate error message and disables the feature.
Depends on D11228
Test Plan: N/A
Reviewers: Hermet, Jaehyun_Cho, id213sin
Reviewed By: Hermet
Subscribers: raster, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11230
Summary:
`_curosors` is not used when Elementary is compiled for Wayland.
It Fixes a compiler warning.
```
../src/lib/elementary/els_cursor.c:46:26: warning: ‘_cursors’ defined but not used [-Wunused-variable]
static struct _Cursor_Id _cursors[] =
```
Test Plan: meson build -Dx11=false -Dwl=true
Reviewers: zmike, Hermet, Jaehyun_Cho
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11360
Summary: `_out_fail` is not used when edje is compiled without pulseaudio.
Test Plan: meson build -Dpulseaudio=false
Reviewers: zmike, Hermet, Jaehyun_Cho
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11361
limit wheell accel multiplier to 100,000 ... this way sane values of
wheel_event->z will not overflow. also up intermediate coors to long
longs and clamp to be sure.
this won't affect the target system which doesn't do abstract sockets
anyway, and it's just unlink "" ... but check if first byte is nul for
an asbtract socket and dont do lock files or unlinking in this case
trying to address other parts of the bsd socket hanging on bind() etc.
... unlink socket if we get the file lock as we should now have an
exclusive lock on the socket anyway - clear out the old one by force
once we have the lock.
that is just technical dept carrying arround.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11356
the typedef used here is not really existing anymore.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11355
Summary:
this was never handled during refactoring because it had already been
removed from the tree by that point
fix T8378
Depends on D11339
Reviewers: raster
Reviewed By: raster
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8378
Differential Revision: https://phab.enlightenment.org/D11340
we probebly want to use import here, as we want to rebuild this file
when efl_canvas_gesture_events is changed.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11273
this serves no purpose and isn't used anywhere
Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11323
this needs to return the actual gesture class type so that custom gesture
events can implement their own properties if necessary
Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11322
this should all be managed by efl.config
Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11320
recognizers need to be able to get and set this appropriately
Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11319
this is the timer pointer, and we need to be able to delete the timer when
the gesture ends
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11299
correctly set 'pressed' member of touch data only on press events and
don't change it on move events in order to avoid having mismatched states
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11291
we use c_enum_naming_style in our enums, not cSharpEnumNamingStyle
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11275
this is redundant now that touch_count exists
ref T8554
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11274
this simplifies (and optimizes) a bunch of code by letting gesture recognizers
return directly the type of gesture they recognize for use internally
ref T8503
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11267
the old one used here is marked deprecated
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11263
this was broken a while ago by failing to correctly update all the configs
ref 6409cfa41b
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11294
these are stored in the config here so they should be manageable here as well
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11250
this is all just duplicated code, so we can deduplicate it with minimal
effort to clean up the api
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11251
these values are deprecated, so stop setting them in efl_config
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11249
we can just use efl.config here instead of duplicating it
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11248
this is beta API and belongs in its proper header
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11247
this is needed by recognizers which use timers in order to do timeouts
on gestures
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11245
Summary:
The property parameter used in this function are passed from _str_to_property.
_str_to_property does not pass anything other than the enum value.
Therefore this log is an unreached line.
Test Plan: N/A
Reviewers: Hermet, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11347
Summary:
If obj->introspection_data is null, the function returns
without freeing the memory.
Test Plan: N/A
Reviewers: Hermet, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11345
Summary:
Assigning a result of integral division to a double type variable
is not useful for division calculation.
Test Plan: N/A
Reviewers: Hermet, YOhoho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11344
Summary:
fw, fh can be referenced in _box_object_aspect_calc
without initialized when ax, ay is greater or equal than 0.
Reviewers: eagleeye
Reviewed By: eagleeye
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11348
Summary:
pos in cursor handle is defined size_t type,
(see efl_canvas_textblock_internal.h)
which is unsigned int, and always bigger or equal to 0.
Reviewers: bowonryu, ali.alzyod
Reviewed By: ali.alzyod
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11333
the alignbment logic was wrong. we have to use the worst case. that
means 8 or 16 byte alignment. eina mempool alignment logic is wrong
for this as it assumes an array of typoes of all the same size...
this fixes crashes seen on armv7 with sigbus in new gesture code which
got unlucky.
@fix
pressed/unpressed event will be emitted by efl_input_clickable_press/unpress.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11116
something is causing a scheduled entry to be called with no scheduled
entry: https://phab.enlightenment.org/T8490 - valgrind trace
aattached. i can't see it so i don't know what. the only protection i
can put in is this.