Commit Graph

62332 Commits

Author SHA1 Message Date
Mike Blumenkrantz fd12569d76 release: Update NEWS and bump version for 1.22.6 release 2019-10-04 09:54:06 -04:00
Lauro Moura e0341cd8f6 eolian-cxx: Release iterators
Summary:
When the iterators advanced, the CXX wrappers null'd them but did not
call eina_value_free.

ref T8280

Reviewers: q66, brunobelo, felipealmeida

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8280

Differential Revision: https://phab.enlightenment.org/D10238
2019-10-04 09:54:06 -04:00
Marcel Hollerbach a20aea0428 elm_code_widget: when the position is updated, set new geom to cursor
in order to do that, we need to ensure that the internal box is
calculated, otherwise the position is still not updated correctly.
This fixes wrong cursor positions in edi.

fixes T8214

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10225
2019-10-04 09:54:06 -04:00
Marcel Hollerbach 53fcc7bda2 elm_code_widget: initialize these vars correctly
otherwise we are setting a cursor from time to time at a uninitialized
position. Which causes disappeared cursors

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10224
2019-10-04 09:54:06 -04:00
Bruno da Silva Belo 728c1a5ab0 Updating README for clang requirements.
OpenMP needs to be installed in system to sucessfully compile with
clang, needs libomp, while gcc use his version, libgomp.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10213
2019-10-04 09:54:06 -04:00
Marcel Hollerbach 3eeb4eebe4 test_code: do not create a background by hand
the background here was wrong, it hasnt resizable hints, which means
that the whole object cannot be resized.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10223
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 5e883dcc7a elm_test: undef logging macros before redefining them in header
Summary: Depends on D10228

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10229
2019-10-04 09:54:06 -04:00
Cedric Bail 59afef32c2 evas: fix memory leak with Efl.Canvas.Vg
Summary:
It is not correct to change the parent and hope that refcount will work
for you. The parent chain is a decision made by the user, not something
a widget can touch. Only ref count are to be used when given an outside
object. As things where not triggering destruction, there was also no
point where the image buffer would be getting to zero and be freed. This
commit also fix this.

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10169
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 44084db9ef evas/object; fix null deref
Summary:
_efl_canvas_object_clipper_prev_reset() derefs obj->cur

CID 1396985
Depends on D10211

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10212
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 4df9fe3086 eio/dir: fix null deref
Summary:
above cases may fail, causing target to be null

CID 1399103
Depends on D10210

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10211
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 650ab8f496 efl_ui/scroll_manager: fix null derefs
Summary:
CID 1405811, 1405804
Depends on D10208

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10209
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 1c7c6a3126 tests/eina: outdent code
Summary:
this is a very important coverity issue.

CID 1400838
Depends on D10205

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10206
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 85f89628a7 tests/strbuf: call va_end for varargs
Summary: CID 1400792

Reviewers: brunobelo

Reviewed By: brunobelo

Subscribers: brunobelo, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10204
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 6a862d6563 epp: remove extra variable passed in format specifier
Summary: CID 1402674

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10203
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 6068767243 ecore-x: protect against accidentally "un-managing" the root window
Summary:
block calls to XSelectInput with the root window if the root window is
currently being "managed" in-process in order to avoid breaking the
running wm
Depends on D10013

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10014
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 49a22224fa ecore-x: add internal function for selecting just properties of root window
Summary:
this is just a shortcut for watching properties in the case where no wm is
active in the process
Depends on D10012

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10013
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 303682a442 ecore-x: track whether ecore-x is internally "managing" the root window
Summary:
when ecore_x_window_manage is called, this is probably only for the case of
managing the root window, i.e., running a window manager. store this state
internally so that we can avoid calling additional XSelectInput later and
fucking up the expected eventing

Depends on D9899

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10012
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 8edfe96df9 ecore-evas/x: detect and track wm existence, apply visibility correctly
Summary:
this attempts to monitor the _NET_SUPPORTING_WM_CHECK atom to verify whether
a wm exists, and bypasses waiting for a configure event from a nonexistent wm
if the screen is not currently managed

fix T7838

Depends on D10014

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, thierry1970, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7838

Differential Revision: https://phab.enlightenment.org/D9900
2019-10-04 09:54:06 -04:00
Mike Blumenkrantz 259fb38764 ecore-x: fix null derefs in window prop code
Summary:
handle cases where null params could be passed and cause crashes

@fix

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9899
2019-10-04 09:54:06 -04:00
Cedric Bail 76b8bceffc efl: improve error message to be really useful.
Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10168
2019-10-04 09:54:06 -04:00
Stefan Schmidt 1c5fc25089 efl_ui_selection_manager: fix potential out of bounce access
Summary:
We have been casting the selection to unsigned char * for the address of
sel and not for the value. Coverity pointed this out:
Overrunning buffer pointed to by (unsigned char *)&sel of 8 bytes by
passing it to a function which accesses it at byte offset 167 using argument 168

It seems this has been working by memory layout and luck if I understand
it all correctly.

Coverity ID: 1402666

Reviewers: thiepha, raster, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10107
2019-10-04 09:54:06 -04:00
Marcel Hollerbach 29c3aa5ba3 efl_ui_focus_managr_sub: fix a err message
with this commit there are a few errors less, for the case a object is
destroyed while registered as a border element in the sub manager.
This adds a few more callbacks to the list of callbacks, however, i
could not messure a big performance impact.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10067
2019-10-04 09:54:05 -04:00
Woochanlee 129337d997 ecore_thread: Fix arguments to match with the function call.
see the _eina_thread_internal() function

r = c->func((void*) c->data, eina_thread_self());

The second param has been missed in ecore_thread_worker, ecore_direct_worker functions.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10073
2019-10-04 09:54:05 -04:00
Marcel Hollerbach 2917bf7d76 eina_log: ensure that we do not spam journald with our intree binaries
EFL_RUN_IN_TREE is set for all binaries that are executed during build
time, and test suites. With this commit we are ensuring that we are not
sending messages during that time to journald, otherwise we would waste
a lot of time + we would create a lot of unneccessary log messages.

(eina test suite runtime with journald hook: 11.21s without journald
hook: 0.57s)

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10076
2019-10-04 09:26:55 -04:00
Hermet Park cddac9a4de ector engine: +null checking.
Null pixels is allowed when drawing region is 0,

In that case, the pixel buffer can be destroyed earlier by vg.

@fix
2019-10-04 09:26:35 -04:00
Mike Blumenkrantz f0674a4b85 elm_test: mark image_zoomable test as non-legacy
Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10053
2019-10-04 09:26:26 -04:00
Marcel Hollerbach 21441576df eina_log: do not fallback to INFO when we run with systemd support
INFO is a way too verbose log domain, this lead to the fact that we
spammed journald before the first frame with ~200-300 messages
(depending on the setup) which is quite a lot. Additionally, this also
lead to the fact that we often TIMEOUT our own tests.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10075
2019-10-04 09:26:22 -04:00
Stefan Schmidt 58fc0014a3 elementary_codegen: check before use to avoid use after free
These might or might not have been freed already, depending on the
breaks form the above loop. Before we are having a use after free here
better check on it before free'ing another time.

Coverity IDs: 1402671, 1402701

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10047
2019-10-04 09:26:18 -04:00
Stefan Schmidt 1fe1c33547 efl_ui_selection_manager: free allocated memory after local use
This temporary allocation is only used in this block and goes out of
scope when leaving. Make sure we free the resource before this happens.

Coverity ID: 1402653

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10045
2019-10-04 09:26:12 -04:00
Marcel Hollerbach 6b090d0924 efl_io_model: next try to fix this race condition
what is happening is that a file gets announced through eio_model
listing code, at this point of time, the monitor does not yet know about
the file. If the file now gets deleted between the annoncing and the
learning of the file from the monitor, then the file got an ADD event,
but no DEL event. Which is a bug.

With this commit there is a new API which asks the monitor if the file
already has the knowledge about the files existance, or not. A few
monitors like win32 inotify or cocoa do not have context about the file
directly, if the OS is now having the same bug, then we are again in
trouble, however, we canot do anything about that. In the case of kevent
or poll, this asks the context of the monitor if the file is already
there.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10006
2019-10-04 09:24:52 -04:00
Marcel Hollerbach f029c2ee33 elm_test_widget_focus: cleanup callbacks correctly
we need to delete the callback here, otherwise the objects are deleted
later on, which:
- changes focus, which leads to
- callbacks executed with stacked addresses from a dead function

this fixes a testsuite failure on the release build.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10020
2019-10-04 09:24:00 -04:00
Marcel Hollerbach 00d497dc36 eo: custom created legacy events should be unfreezable
a while back we have moved event submission from custom lists to eo
events. We also merged together the freeze and thaw functions, however,
this brought up one bug. smart_callbacks and the likes (those that used
custom lists before) are not effected by the legacy freeze and thaw
functions. This means, we should declare these legacy wrapper objects
unfreezable in order to obtain this behaviour.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10016
2019-10-04 09:23:52 -04:00
Mike Blumenkrantz 97be4f8a3a ecore/signal: increase maximum signal throughput
this adds 4 more signal handling fds and loops over them for reading/writing
signal info in order to handle more signals when the buffer of one (or more)
pipes is full

also update the unit test to verify that we are receiving all the events without
dropping any and bump the number of signals to 2000 since we should now be able to
handle that many

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10027
2019-10-04 09:23:38 -04:00
Mike Blumenkrantz 134e8a21b2 tests/ecore: add stress test for main loop signal handling
this explodes after about 500 signals, so make it 1000 for a good test

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10026
2019-10-04 09:23:35 -04:00
Mike Blumenkrantz 3d829f69a1 ecore/signal: also use nonblock for writing side of signal pipe
if any efl-based process receives a bunch of signals in a short period of
time, it will deadlock in the signal handler. this is unavoidable given the
current signal handling architecture

by setting nonblock, we can at least avoid deadlocking even if it means we'll
be losing signal events

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10025
2019-10-04 09:23:01 -04:00
Mike Blumenkrantz 1da0b8c982 disable meson builds for this branch
there was a lot of work done on the meson build related to moving files
around and adding features and such, and it's too difficult to reliably
separate and backport all these changes

meson was not the officially supported build system for 1.22, so there's
no need to continue building this as it's approaching EOL anyway
2019-09-18 11:56:20 -04:00
Mike Blumenkrantz 83c590ea6a release: Update NEWS and bump version for 1.22.5 release 2019-09-18 09:36:10 -04:00
Wonki Kim 75f3f46a0f elm_config: fix to check if eet_open fails
Summary: this patch adds a guard block in case of failure of eet_open().

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9987
2019-09-18 09:20:09 -04:00
Marcel Hollerbach cb28716a22 Revert "efl_io_model: remove custom counting logic"
Summary:
This reverts commit d794a0d3d9.

This breaks Efl_Io_Model.

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10003
2019-09-18 09:20:09 -04:00
Cedric Bail 45318a8f44 elementary: fix double eina_value_free in Efl.Ui.Homogeneous_Model.property.set
Model do not own the Eina_Value when it is set on them. They can make a copy of it,
but shouldn't free it.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9945
2019-09-18 09:20:09 -04:00
Cedric Bail b8a897f99e eina: prevent leak of Eina_Value internal allocation.
eina_value_copy assume the given Eina_Value as target is not initialized
when it copy the source in it. In eina_value_reference_copy we were initialising
before calling eina_value_copy which would then override and leak the internal
pointer no fault of the users.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9943
2019-09-18 09:20:09 -04:00
Cedric Bail 882fe544a7 eina: turn on Eina_Mempool tests for OneBig too.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9940
2019-09-18 09:20:09 -04:00
Cedric Bail c5c3b04b5c eina: fix free support in eina OneBig mempool.
We use an Eina_Trash to store freed pointer, which require the item size
to be at least the size of a pointer. There wasn't any test suite enable
for OneBig mempool and we never used free on a small item size...

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9939
2019-09-18 09:20:09 -04:00
Cedric Bail 715fac11a2 eina: fix eina_mempool_from to not report pointer that have never been allocated as allocated.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9938
2019-09-18 09:20:09 -04:00
Marcel Hollerbach 0ec396003a efl_ui_image: implement missing API
the API calls have not been implemented, this revision implements these
APIs as redirects to the image if those are a edje object.

Normally this should be a calling the legacy edje API. However, this is
here really hard as imitating the correct callback behaviour is hard.
And the correct behaviour with the eina value type is also just leading
to copying the implementation from edje. So in order to keep the amount
of code low here, this just uses the efl-api to redirect the requests.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9989
2019-09-18 09:20:09 -04:00
Carsten Haitzler 03cf13ad6a evas - in case handle scope data being null
apbbb saw something that had this scope return null ... so handel -
but it shouldn't get this far... can't figure out why though.
2019-09-18 09:20:09 -04:00
Marcel Hollerbach f5a2360c82 efl_ui_focus_manager_calc: fix resource leaks
this fixes CIDs 1396965 & 1396984
2019-09-18 09:05:56 -04:00
Xavi Artigas 87fd8e389c elm/datepicker, timepicker: Fix uninitialized vars
Summary:
Should fix all timepicker and datepicker uninitializer variable usage detected by Coverity:
1396954 Uninitialized scalar variable: efl_ui_timepicker.c
1396978 Uninitialized scalar variable: efl_ui_timepicker.c
1397006 Uninitialized scalar variable: efl_ui_timepicker.c
1396979 Uninitialized scalar variable: efl_ui_datepicker.c
1404748 Uninitialized scalar variable: efl_ui_datepicker.c
1404757 Uninitialized scalar variable: efl_ui_datepicker.c

Test Plan: Everything builds and passes tests. Coverity should complain less.

Reviewers: stefan_schmidt, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9967
2019-09-18 09:05:56 -04:00
Carsten Haitzler 677e042443 evas - rsvg loader - comment out deprecated func from rsvg we don't need
it seesm we don't need this. unref should shut down the rsvg obj
anyway, and rsvg_handle_close() has been deprecated since 2.46
2019-09-18 09:05:55 -04:00
Mike Blumenkrantz a25c694d2a tests/edje: handle file modifications properly on windows
Summary: we don't have access to utimensat and I'm too busy to figure out why

Reviewers: vtorri, bu5hm4n, devilhorns

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl_build

Differential Revision: https://phab.enlightenment.org/D9914
2019-09-18 09:05:55 -04:00