The shutdown handling for efl libraries was a bit sloppy in the
exactness binaries. Make sure we shutdown what we init.
Differential Revision: https://phab.enlightenment.org/D11289
This has been in place during development and not updated for recent
changes and merge into efl master.
Differential Revision: https://phab.enlightenment.org/D11287
Given a better overview after the wall of text we are seeing from
starting and stopping jobs in parallel.
Differential Revision: https://phab.enlightenment.org/D11286
Exactness has been developed in a separate git repo for many years. This
finally moves it over into efl. Having it in tree allows us for easier
testing with our current main target elementary_test and integration
into our CI system (patches for this are work in progress already).
We are only importing the lib and binary for test execution, not the
full set of test data. This is would be over 500MB and thus it will stay
in a different repo and only made available during the actual testing.
[The original patch was made by Daniel Zaoui. Over the course of review
and testing it got extended with build fixes for API changes and mingw
compilation support from Stefan Schmidt and Michael Blumenkrantz]
Differential Revision: https://phab.enlightenment.org/D11285
For our exactness testing we are dlopen() the elementary_test
executable. Until glibc 2.30 this was posible with -pie, but it changed
in the glibc version. They no longer allow these executables to be
dlopen()'ed.
As a workaround for now we are building elementary_test also as a shared
object file which we load and use in the exactness testing process.
The code came from Marcel Hollerbach and I only tested it and fixed up a
small detail.
Differential Revision: https://phab.enlightenment.org/D11284
This fixes a bunch of warnings like that
```
../src/lib/eo/eo.c:644 _efl_object_call_resolve() NULL passed to function xxx().
```
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11283
the function text_underline_dashed_gap_get return underline_dash_width value instead of underline_dash_gap value.
this patch return the correct value.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11277
Summary:
The clear of the Evas_Thread_Command_Ector_Surface structure is an unmanaged variable.
When ector calls _draw_thread_ector_surface_set and it checks the clear value.
the clear value is garbage value. This can cause the pixels to fail to initialize.
This is why afterimages remain after updating shapes while using ector surfaces.
Test Plan:
./build/src/examples/evas/efl-canvas-vg-simple
1 - Basic Shape test
Scale up 's' or do something
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11278
changed the insertion property to be an enum instead of a boolean property.
this will be clearer for usage and provide the ability to add more types in the future.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11272
As other widgets, efl.ui.textbox will use keyboard bindings instead of listen to keyboard events
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11236
the version here was wrong, probebly a missmatch between hex. & dec and
a off by one error. This is fixing that problem and does not just copy
all keybindings.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11261
Summary:
This makes a proxy object use a selective region of a source object.
So far a proxy has not worked for load_region at all.
This should be better solution than https://phab.enlightenment.org/D10604
introducing new interface.
This is useful when the source is too big to allocate a proxy surface.
This will be used by elm_scroller to solve following issue.
[Issue]
If size of elm_sclloer content is too big, then the proxy of
elm_scroller to show loop effect does not work. Because
evas_gl_common_image_surface_new does not allow
bigger size surface than max_texture_size
Reviewers: Hermet, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10626
Summary:
File_Save.save does not work for proxy object from following commit.
c53f152 evas: Make save() work on snapshots
Test Plan:
1. Add an image object and set source object.
evas_object_image_source_set(obj, source);
2. Save the object as a file when you need.
evas_object_image_save(obj, "./file_name.png", NULL, NULL);
Reviewers: cedric, Hermet, jsuya
Reviewed By: Hermet
Subscribers: zmike, subodh6129, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10629
the theme now works in a way where the current tab is in one color with
the content, so its correctly assosiated. The not selected items are in
a bit more gray setting so its meant to be in the background.
https://pasteboard.co/IB1UV8o.png
Differential Revision: https://phab.enlightenment.org/D10305
spotlight moved away from layout, this could have also been solved with
setting a edje object as resize object. However, this commit now
contains the spotlight internally.
The resons why containing it internally is better:
- You now only have one way of selecting a page, marking it as selection
via the selectable API
- You cannot build race conditions between selecting a page and setting
the active_element anymore
- The tab_pager is now also just a simple single_selectable implementor,
which makes this whole usage more convinient.
- There is now a event you can listen to if you want to know if
something has changed the selected item
- push and pop would have never worked correctly in the tab_pager, as
the item would have appeared always before the item was "faded" in. This
possibility is not given anymore
Last but not least, this makes tab_pager usable again, the tab bar is
displayed again.
Differential Revision: https://phab.enlightenment.org/D10775
This allow for fetching random children in a model. A simple fallback is
provided by Efl.Loop_Model that will allow all model to provide this
feature in a non optimized way. Later on this can be speeded up.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11185
EFL failed to build from source in Fedora Rawhide as a result of the update to GCC 10. GCC 10 enables -fno-common by default, and this found three issues in EFL:
# The eina benchmark code defined int key_size in a header that was included in multiple places.
# The elementary test code defines the "dt1", "dt2", "dt3" vars in two code files which are compiled together (but these variables do not appear to be used globally)
# The eio test code defines the "ee" var in two code files which are compiled together (but this variable does not appear to be used globally)
I've fixed these issues and confirmed locally that the code builds again in Fedora.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11259
Sorry, I've overlooked these as they are on a new line,
or at the beginning of a function, but I think I've got them all now.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11254
_evas_object_smart_clipped_init() (in evas_object_smart.c) is called when evas_object_grid is created.
And a rectangle is created in the function.
But, the rectangle is not deleted even though evas_objecct_grid is deleted.
This patch fixes the problem by deleting it in smart_del fucntion.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11140
Summary:
If image object geometry is same with image size, then a crash occurs on both
GL and SW engine.
[Test Code]
evas_object_image_size_get(img, &w, &h);
evas_object_resize(img, w, h);
[GL engine]
eng_ector_buffer_wrap should use output instead of engine for calling
evas_ector_buffer_engine_image, because it expects the output not the engine.
[SW engine]
eng_ector_buffer_wrap should check if im->image.data is NULL because
_evas_ector_software_buffer_evas_ector_buffer_engine_image_set returns before
calling evas_cache_iamge_ref if im->image.data is NULL, and it causes
a segmentation fault finally with following backtrace.
(#0) evas_cache_image_drop (im=0x0)
(#1) _evas_ector_software_buffer_efl_object_destructor
(#2) efl_destructor
(#3) _efl_del_internal
(#4) _efl_unref_internal
(#5) _efl_add_internal_end
(#6) _efl_add_end
(#7) eng_ector_buffer_wrap
Test Plan: {F3841366}
Reviewers: Hermet, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11258
Summary:
The _gl_filter_mask defines value of gc->dc->clip.mask, and make_color but
those are not used at all, because the evas_gl_common_Filter_blend_push calls
evas_gl_common_context_image_push which doesn't care of those values.
So this patch is using evas_gl_common_image_draw to use mask and mask_color.
Test Plan:
[Filter Program]
efl_gfx_filter_program_set(text,
"buffer:a(alpha); buffer:fat(alpha); buffer:rgbfat(rgba);
curve (0:255-255:0, dst = a); blend (a, color = #00ca00ff);
grow (1, dst = fat); blur (3, src = fat, color=#0000b9ff, ox = -2, oy = -2, dst = rgbfat);
mask (a, src = rgbfat);padding_set(t=5);",
"name");
[Before]
{F3835430}
[After]
{F3835431}
Reviewers: Hermet, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11139
This needs some more digging where this leak comes from. I see it
triggering on edje_cc during the build.
Until we have this sorted out add as ignore here to keep CI working.
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11234
Since we switched on some loader to default we have this as a default
dependency. Reflect this in our CI setup to avoid breaks.
Also make sure we use sudo for the meson pip install to not break on the
ARM64 infrastructure on TravisCI.
Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11233
this lets gesture framework track two touch points in order to distinguish between
successive presses and e.g., treat a simultaneous two finger tap as a single tap
gesture rather than two
it also simplifies some internal code and removes most hash lookups
Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11085