Commit Graph

24710 Commits

Author SHA1 Message Date
Mike Blumenkrantz 9f8a7acfcf eio/sentry: destroy event handlers when deleting sentry
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
2018-08-17 22:19:32 +02:00
Mike Blumenkrantz df09336286 build: remove incorrect use of DEPENDENCIES for non-library file
if this is ever evaluated then it will trigger a build failure since it
is not a rule in this makefile which can ever be run

fix T6828

Differential Revision: https://phab.enlightenment.org/D6838
2018-08-17 22:11:33 +02:00
Mike Blumenkrantz 791fc27c40 elm/list: correctly handle ELM_LIST_COMPRESS
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
2018-08-17 21:55:43 +02:00
Alastair Poole 0f21b1f7aa elm_code: fix crash on backspace and selection delete.
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
2018-08-17 21:44:17 +02:00
Hermet Park c9a89158db evas vg: prevent invalid access.
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
2018-08-17 15:12:19 -04:00
Mike Blumenkrantz a96933f964 efl_ui/format: revert some patches to fix some regressions
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
2018-08-17 18:10:50 +01:00
Derek Foreman 6fe7e1155d efl_wl: Send unique keymap fds to clients
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
2018-08-17 12:46:39 -04:00
Yeongjong Lee 15cc9a65aa ecore_pipe: remove null check condition and fix segfualt on Windows
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
2018-08-17 12:42:35 -04:00
Shinwoo Kim cbe9b6f770 eina_file: check copied using copied
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
2018-08-17 12:42:18 -04:00
Chris Michael ae894a0509 Revert this patch. It was not supposed to land yet as it was awaiting
review

Revert "elementary: Check for valid focus manager before starting do loop"

This reverts commit 364ca1d2b2.
2018-08-17 11:34:30 -04:00
Mike Blumenkrantz 790d4a9a1d elm/box_layout: rename variables
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
2018-08-17 11:30:36 -04:00
Hermet Park 6010d3e8c5 ecore wayland: fix a regression bug of wayland_transparent_get().
Summary:
wayland transparent func was replaced with alpha's.

By this, transparent common attribute is no more valid,
ecore_evas_transparent_get() doesn't work.

This is a regression bug by 5af84afced

Reviewers: ManMower, devilhorns

Reviewed By: ManMower, devilhorns

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6856
2018-08-17 11:30:20 -04:00
Chris Michael 364ca1d2b2 elementary: Check for valid focus manager before starting do loop
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
2018-08-17 11:30:10 -04:00
Hermet Park 69894bc476 elementary image: updated doc. 2018-08-17 11:32:11 +09:00
Mike Blumenkrantz db377832f7 elm/code: use evas as parent for evas object creation
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
2018-08-16 20:00:41 +01:00
Mike Blumenkrantz 588830280f tests/edje: fix object parenting for swallow tests
Summary:
recent safety check patches exposed issues here where tests were
incorrectly written to pass evas objects as edje object parents,
resulting in new test failures after this began to be detected and
treated as an error

Reviewers: netstar

Reviewed By: netstar

Subscribers: netstar, cedric, #reviewers, #committers

Tags: #efl_tests

Differential Revision: https://phab.enlightenment.org/D6851
2018-08-16 19:47:32 +01:00
Derek Foreman 586cc70cba Remove EOLIAN_TESTS_EOS_GENERATED
Summary:
commit 74b56eedd1 added these to clean,
but the variable contains some non-generated files.

Turns out these files don't have to be part of the build at all, as
the tests that use them generate them in temp dirs.

Just remove the variable entirely.

Reviewers: bu5hm4n, zmike, q66

Reviewed By: bu5hm4n, zmike, q66

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6850
2018-08-16 12:41:16 -05:00
Yeongjong Lee 8bb11a172b evas: check evas class instead of using evas_find
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
2018-08-16 13:01:39 -04:00
Derek Foreman 633d16aae7 ecore_evas: Fix elm warnings when building without wayland support
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
2018-08-16 10:17:23 -04:00
Mike Blumenkrantz 82b6a248ce tests/eio: disable efreet cache for eio tests
Summary:
having this enabled slows down test execution by a significant amount
for some reason

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl_tests

Differential Revision: https://phab.enlightenment.org/D6836
2018-08-16 10:16:44 -04:00
Mike Blumenkrantz 3c15bf1663 edje/multisense: always return muted=true if multisense is disabled
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
2018-08-16 10:16:34 -04:00
Mike Blumenkrantz 89c92726c4 elm/config: return false when setting audio config if multisense is disabled
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
2018-08-16 10:16:23 -04:00
Alastair Poole 1bdda117a1 elm_code_line: fix potential crash.
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
2018-08-16 10:12:35 -04:00
Yeongjong Lee e07b04f88c efl_ui_image: avoid a call to NULL
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
2018-08-16 10:01:47 -04:00
Yeongjong Lee 07692dc640 elm_image: create image object before call elm_image_object_get
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
2018-08-16 10:01:37 -04:00
Yeongjong Lee 16c6c6a268 elm_image: add EINA_UNUSED to avoid build warning
Differential Revision: https://phab.enlightenment.org/D6844
2018-08-16 10:47:20 +02:00
Yeongjong Lee 25d4517fb9 tests/image: remove unused variable
Differential Revision: https://phab.enlightenment.org/D6843
2018-08-16 10:22:48 +02:00
Mike Blumenkrantz eb32d164a7 tests: add more info on failsafe timeout
if a test is continually deadlocking then it's useful to know which
test is failing to complete

Differential Revision: https://phab.enlightenment.org/D6785
2018-08-16 09:59:58 +02:00
Mike Blumenkrantz 440b7ce03f tests: add failsafe timeout for tests running in fork mode
some tests manage to deadlock themselves on travis, seemingly due to some
hard to reproduce issues which are a result of the extremely low amount of
resources available on travis builds

this adds a simple 'timeout' process which does nothing but sleep(60);
and then returns. the exiting of this process will cause the main test
process to break out of the deadlock and then exit instead of timing out
a ci build

Differential Revision: https://phab.enlightenment.org/D6697
2018-08-16 09:59:58 +02:00
Bryce Harrington 1320ba435e eina: Add doxygen in/out tags for safepointer, safety_checks, slice, etc.
Reviewers: netstar

Reviewed By: netstar

Subscribers: netstar, cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6833
2018-08-15 09:54:17 +01:00
Mike Blumenkrantz e708c0ae33 elm/list: use while() loop to iterate item list during smart delete
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
2018-08-15 09:45:06 +01:00
Mike Blumenkrantz 672cacaaf6 tests/elm: remove elm_test_helper.(c|h) files
these timer functions are only used by fileselector and I'm trying to consolidate
timer usage

no functional changes

Differential Revision: https://phab.enlightenment.org/D6768
2018-08-15 10:20:55 +02:00
Mike Blumenkrantz e47c2d7006 tests/naviframe: add test to verify preserve_on_pop functionality
this adds a naviframe with button content and pushes/pops the stack
a couple times to see if a delete callback is called on the button

ref T7236

Differential Revision: https://phab.enlightenment.org/D6762
2018-08-15 09:51:18 +02:00
Mike Blumenkrantz 1c029b8fd9 tests/eina: suppress deprecated api warnings for eina abi test
Reviewers: devilhorns, ManMower

Reviewed By: ManMower

Subscribers: cedric, #reviewers, #committers

Tags: #efl_build

Differential Revision: https://phab.enlightenment.org/D6810
2018-08-14 17:26:08 -04:00
Hermet Park c8ddf93707 evas gl: fix missing map texture target.
Summary:
Map context missed setting texture target.
I guess this is one of regression bugs in gl backend.

When shader is flushed, it sets invalid texture target with map texture.
That caused blank map rendering, this could be observed temporary
because gl pipe contexts are reusable and missing texture target means,
it could use previous texture target values that mostly have GL_TEXTURE_2D.

@fix

Reviewers: #committers, ManMower

Reviewed By: #committers, ManMower

Subscribers: ManMower, cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6818
2018-08-14 17:13:24 -04:00
Marcel Hollerbach 7ef8ab559d evas: support wayland static engine loading
Summary: This fixes static loading of the here changes engines.

Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6795
2018-08-14 17:12:07 -04:00
Mike Blumenkrantz 5ca78073b8 elm/win: skip frame updating if csd is not active
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
2018-08-14 17:11:53 -04:00
Mike Blumenkrantz 631fd714c3 ecore-evas/x: rework draw_block unsetting from ConfigureNotify
Summary:
draw_block should only be unset if the event is triggered by the wm
or the window is an override, otherwise it prematurely begins rendering
the window at a size which may or may not be accurate

ref T7008

Reviewers: devilhorns, ManMower

Reviewed By: ManMower

Subscribers: ManMower, cedric, #reviewers, #committers

Tags: #efl_display_system

Maniphest Tasks: T7008

Differential Revision: https://phab.enlightenment.org/D6793
2018-08-14 17:11:32 -04:00
Mike Blumenkrantz 8e6d66450d ecore/main: only update loop_time during loop iteration if the change is monotonic
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
2018-08-14 17:09:32 -04:00
Marcel Hollerbach 55a2e77d60 eina_vpath: specilice the eina_vpath headers
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
2018-08-14 17:09:22 -04:00
Mike Blumenkrantz 64c26edd52 build: fix evas static build of gl engines
Summary:
when gl_common is built statically, the include directories for it need
to be added to the main evas library build

@fix

Reviewers: devilhorns, vtorri, ManMower

Reviewed By: ManMower

Subscribers: ManMower, #reviewers, cedric, #committers

Tags: #efl_build

Differential Revision: https://phab.enlightenment.org/D6681
2018-08-14 17:09:11 -04:00
Alastair Poole 706784d7c8 elm_panel: return instead of EINA_SAFETY_ON_FALSE_RETURN
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
2018-08-14 15:48:27 -04:00
Chris Michael 6119cc0c65 elementary: Check for valid cursor_rect when (un)setting focus
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
2018-08-14 15:45:57 +01:00
Mike Blumenkrantz 59b8a63d65 edje: unset internal _need_imf flag on shutdown
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
2018-08-14 10:45:13 -04:00
Yeongjong Lee 95ea970cb6 tests/genlist: add focus test
This adds test for simulating focus state.
Differential Revision: https://phab.enlightenment.org/D6800
2018-08-14 15:00:58 +02:00
Marcel Hollerbach 37308192d9 efl_ui_focus_manager_calc: restore focus correctly if redirect gets NULL
Otherwise we might end up with focus beeing NULL.

Differential Revision: https://phab.enlightenment.org/D6803
2018-08-14 15:00:58 +02:00
Marcel Hollerbach f21cf89a2f efl_ui_focus_manager_calc: fix unregistering the root of a redirect
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
2018-08-14 15:00:58 +02:00
Marcel Hollerbach 92bb03d7f5 efl_ui_focus_manager: adjust pop history pop
It now searches for a element if the focus stack is empty.

Differential Revision: https://phab.enlightenment.org/D6801
2018-08-14 15:00:58 +02:00
chris 02f6e58f3e Elementary test : add a checkbox to hide beta apis.
Reviewers: zmike

Subscribers: cedric, #reviewers, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6817
2018-08-13 10:55:53 -04:00
Marcel Hollerbach e308513f2e emotion: make intree running work
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
2018-08-13 10:02:45 -04:00