Commit Graph

15643 Commits

Author SHA1 Message Date
Jaehyun Cho 000d43b29e elm_part_helper: Fix to use registered default text part 2018-02-07 20:52:12 +09:00
Shinwoo Kim fd8e9f9c4e Efl.Ui.Nstate: do not call "changed" callback
Before solving following problem in Efl.Ui.Check

https://phab.enlightenment.org/T6673

The changed callback is called with opposite value,
if application is using Efl.Ui.Check with state pointer.

The reason is that the changed callback is called in
efl_ui_nstate_activate, and the value refered by state pointer
is changed only after the efl_ui_nstate_activate is called.

static void
_activate(Evas_Object *obj)
{
   EFL_UI_CHECK_DATA_GET(obj, sd);

   efl_ui_nstate_activate(obj);
   if (sd->statep) *sd->statep = efl_ui_nstate_value_get(obj);
2018-02-07 16:25:36 +09:00
WooHyun Jung d8aa950a38 evas_object_textblock: add null checks for EAPIs 2018-02-07 14:19:46 +09:00
Myoungwoon Roy, Kim b203ff1878 ecore_event: Fix a break of consistency of return data
Summary:
This patch fixes a break of consistency of return data from ecore_event_del.
Before EFL 1.20, when calling ecore_event_add(ECORE_EVENT_SIGNAL_USER, event_data, NULL, &data);
The user data(data) is saved at event->data. and when user calls ecore_event_del(event_handler),
ecore_event_del returns event->data. However, current ecore_event_del returns pd->ev.
I think it is ABI break.

Test Plan: Execute test suite

Reviewers: cedric, raster, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5786
2018-02-07 13:50:24 +09:00
Chris Michael e93f7bce30 ecore-drm2: Ensure output changed event is sent for removed outputs
If an output gets disconnected, we would still like to be notified of
that. In the _outputs_update function, we mark an output as
disconnected by setting output->connected and output->enabled to
FALSE. With this line in place (in the output_event_send function) we
would never get notified if an output was disconnected.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-02-06 13:01:25 -05:00
Shinwoo Kim b1ee35e35c elm: do not call "changed" callback when setting style 2018-02-06 22:40:11 +09:00
Amitesh Singh 0aca43be23 efl.ui.progressbar: add checks for min & max value
this improves the validity check for min & max values
provided from user side.
2018-02-06 22:35:33 +09:00
Jean-Philippe Andre 27c0d53f9b efl_ui: Disable includes that don't compile
Efl.Ui.Text:
The EO file contains a lot of references to legacy Elm types, which are
defined in elm_general. They should be checked and moved over to
efl_ui.eot if necessary.

Efl.Ui.Multibuttonentry:
This class was originally supposed to be based on a Model Item but as of
now the API is still uncertain, so MBE itself hasn't been worked on
more. Disable this from EO-only apps until its API is fixed.

Ref T6666
2018-02-06 21:27:37 +09:00
Hosang Kim 24b0ae0df5 ecore/evas: add NULL checks to handle argument is NULL.
Summary:
ecore_pipe_read_fd/ecore_pipe_write_fd
evas_engine_info_set/get

Reviewers: woohyun, Jaehyun, Jaehyun_Cho, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5790
2018-02-06 17:58:44 +09:00
WooHyun Jung 1accec4ce1 evas: add null checks to handle when e->engine.func is not set yet 2018-02-05 22:19:44 +09:00
Shinwoo Kim bb5f4aa857 eina_tiler: fix typo of rect comparing 2018-02-05 20:02:06 +09:00
Mike Blumenkrantz 26d73cbae1 eio: make inotify monitors fork-safe
@fix
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 5760b3f335 eeze: simplify watch code and make it fork-safe
avoid reads from parent process's udev fds
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 7927cfefe3 ecore-file: make monitoring truly fork-safe
add a fork reset callback and attempt to preserve existing monitors
during reset

@fix
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 4e14ba3f48 elm: call ecore_event_init() during init
events from this component are used internally in elm, don't rely on
other components to do it

@fix
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 95a339733a eldbus: make connections fork-safe
after a fork, any existing connection objects can no longer be used,
but it's up to the user to destroy them. internally, this prevents
existing connections from ever being returned as valid connections
and creates new ones after a fork

also destroy fd handlers for connections to ensure that no data is
accidentally clobbered before the connections are cleaned up
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 10ce0cbd8a efreet: reset ipc connection after fork
ensure that existing connection is not reused
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz aaf3659faf eldbus: do not require error return when adding/removing signal matches
this forces the functions to be synchronous and blocks (potentially forever)
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 7f0a4154f5 efl-wl: add function for passing ecore-exe flags to launched exes
@feature
2018-02-02 16:59:44 -05:00
Mike Blumenkrantz 32c293bea4 efl-wl: no need to check exe tag on app del, just remove pid always 2018-02-02 16:59:44 -05:00
Mike Blumenkrantz e8d24596a6 efl-wl: add functions for managing allowed client pids
@feature
2018-02-02 16:59:44 -05:00
Shinwoo Kim 3c38071745 elm: fix typo - remove line to debug 2018-02-02 19:07:04 +09:00
Shinwoo Kim 610eee1e52 elm: use Dbus securely
The Efl.Access.Attribute is using key and value.
The value could be NULL. If the value is NULL, then following error occurs.

*error:
arguments to dbus_message_iter_append_basic() were incorrect,
assertion "_dbus_check_is_valid_utf8 (*string_p)" failed
in file ../../dbus/dbus-message.c line 2712.
This is normally a bug in some application using the D-Bus library.
Array or variant type requires that type string be written, but end_dict_entry
was written.
The overall signature expected here was 'a{ss}' and we are on byte 3 of that
signature.
2018-02-02 18:56:58 +09:00
Radoslaw Cybulski cc2e43cc4b elm: fix for invalid attribute matching
Summary:
Fixes invalid attribute matching in at-spi's collection interface's GetMatches***
functions.

Reviewers: stanluk

Reviewed By: stanluk

Subscribers: lukasz.stanislawski, cedric

Differential Revision: https://phab.enlightenment.org/D5774
2018-02-02 09:05:13 +01:00
Daniel Hirt a89c9e037a Ui layout: fix another text retrieval line of code
This is a follow-up to a44ae48df811ff2bd085da86db1688c0f387efc4.Need to
undo the markup_get call, so that the correct code path
(_efl_ui_layout_text_set) is used. Legacy checks are in that code path.

ref T6642
2018-02-01 19:24:44 +02:00
Daniel Hirt a44ae48df8 Ui layout: fix latest attempt to fix markup retreival
Commits c07a40c745 and
429e19563d tried to fix markup retrieval by
creating a different code path for the setter and getter. However, legacy code
paths needs to be taken into consideration.
This commit fixes legacy widgets (like guide text that did not show any text
        in the entry at the top of 'elementary_test').

ref T6642
2018-02-01 13:48:03 +02:00
Carsten Haitzler 26833b8d28 efl ui did - dont segv if createicon func is not provided 2018-02-01 20:09:05 +09:00
Shinwoo Kim 8aaa350262 Use ERR instead of CRI if *DATA_GET* returns NULL
This patch set is for remains.
2018-02-01 14:20:57 +09:00
Shinwoo Kim 9f2e1d050f elm: Use ERR instead of CRI if *DATA_GET* returns NULL 2018-02-01 12:16:28 +09:00
Daniel Kolesa a6d0e787e4 eolian: no need to store 'parsed' table anymore either 2018-01-31 19:14:15 +01:00
Daniel Kolesa 8b1f2f34b4 eolian: simplify parsed checking 2018-01-31 19:06:37 +01:00
Daniel Kolesa f0877c9329 eolian: no need to track currently parsing file anymore 2018-01-31 18:13:29 +01:00
Daniel Kolesa b5794afa58 eolian: all dependency parsing is now deferred 2018-01-31 18:13:29 +01:00
YeongJong Lee d2df4b382f efl_ui_focus_parent_provider_gen: code refactoring
Summary: remove needless function call and else statement

Reviewers: bu5hm4n

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5732
2018-01-31 15:04:26 +01:00
YeongJong Lee f00000df5a efl_ui_focus_manager_sub: avoid a call to NULL
Summary:
we need to consider the manager change to NULL

@ref T6616

Reviewers: bu5hm4n

Subscribers: cedric

Maniphest Tasks: T6616

Differential Revision: https://phab.enlightenment.org/D5771
2018-01-31 14:29:18 +01:00
YeongJong Lee a20cacf53f elm_menu: avoid a call to NULL
Summary: the provider_find can be called before parent_set in constructor.

Test Plan:
1. EINA_LOG_LEVELS=eo:2 elementary_test -to menu
2. check that there is no warning message about efl_provider_find

Reviewers: jpeg, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5773
2018-01-31 14:29:12 +01:00
Marcel Hollerbach 2fc1d7e3c7 efl_ui_focus_composition: remove elements_flush
this can also be done when calling prepare_logical
2018-01-31 14:21:37 +01:00
Myoungwoon Roy, Kim 211093b7c5 ecore_event: Check for the valid type
Summary:
This patch checks for the valid types.
As mentioned API reference documentation, user must know its type before hand.
The type should be chedked like previous efl version and ecore_event_type_flush_internal()

Test Plan: Execute a ecore test suite.

Reviewers: cedric, raster, jpeg, stefan_schmidt, Jaehyun_Cho

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5776
2018-01-31 18:55:40 +09:00
Myoungwoon Roy, Kim e9d1a1e988 ecore_main: Check for the valid flag
Summary:
This patch checks for the valid Ecore_Fd_Handler_Flags.
The flags should be checked like previous verion because
There are no default handlings in case of out of Ecore_Fd_Handler enum values in other funcs.

Test Plan: Execute a test case

Reviewers: cedric, raster, jpeg, stefan, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5775
2018-01-31 18:55:40 +09:00
Amitesh Singh 98f38ac0f7 Efl.ui.progressbar: remove duplicate call
eina_value_set() was already getting called
2018-01-31 18:04:39 +09:00
Amitesh Singh c99b37ad47 Efl.Ui.Progressbar: implement range min max 2018-01-31 17:44:20 +09:00
Derek Foreman 90fecc7485 wl2_surface_dmabuf: Trim the buffer queue after a while
If we have more buffers than we need for 100 frames then drop the oldest.

This can happen if we're on a hardware plane and then removed from it, or
really whenever the compositor feels like holding onto a few frames.

Trimming the queue too soon could result in having to do a costly full
frame redraw, so we wait a while to make sure we don't need one again.

Having more frames than we need costs us a little every draw since we
always use the oldest available.  It also wastes memory.
2018-01-30 17:09:52 -06:00
Derek Foreman 879f248f08 ecore_wl2_surface: Flush surfaces for offscreen windows
When a surface leaves all outputs we can discard its buffers to save
memory.

Currently most compositors don't send leave events for iconify, so this
pretty much just saves us a cursor buffer under weston for now, but in
the future it could be used for freeing resources of offscreen (fully
occluded or iconified) windows.
2018-01-30 17:09:52 -06:00
Derek Foreman 9632c7b56c wl2_surface_dmabuf: improve surface flush
We used to abandon all buffers even if they were locked. This can't
actually free them until they're all released by the compositor.

Instead just free any buffer the compositor doesn't have locked, so we can
still re-use them when they're released without needing a full redraw.

There's probably room for additional cleverness here.  If we get a new
frame event before the buffer release we may want to keep it, and if we
get the release first we may want to abandon it.
2018-01-30 17:09:51 -06:00
Derek Foreman 1bd41aa3b6 ecore_wl2: Add new event for windows not displayed on any output
When a window leaves all outputs we can free its render buffers to save
memory.  This new event is generated when a window leaves all outputs.
2018-01-30 17:09:51 -06:00
Derek Foreman 8abac6da65 ecore_wl2: Track outputs a surface is present on
Keep a list of Ecore_Wl2_Output * a surface is present on.
2018-01-30 17:09:51 -06:00
Derek Foreman cc0cfb7822 ecore_wl2: Add internal _ecore_wl2_output_find
This finds the Ecore_Wl2_Output * for a given struct wl_output *
2018-01-30 17:09:51 -06:00
Mike Blumenkrantz da9eef6027 ecore: add function for prepending an event handler
@feature
2018-01-30 13:02:07 -05:00
Daniel Kolesa 5651b2e586 eolian: deferred parsing of inherits + better static checks
This change finally introduces deferred parsing of inherits to
Eolian, after a long time and many iterations. That means instead
of parsing inherits directly as part of the main file's parse pass,
they're pushed into a queue and parsed later. The validation engine
was modified to properly fill in the remaining info afterwards.

This may introduce breakages but I haven't noticed any. It also
properly unlocks cyclic dependency support in Eolian.

Additionally, this also introduces checks for duplicates in class
inherits (class Foo(Bar, Bar) is no longer possible) and it adds
stricter name checks, so you can no longer have a class Foo.Bar
and refer to it as Foo_Bar in implements. This was actually never
meant to be supported, but the check was previously broken.

@feature
2018-01-30 17:08:44 +01:00
Daniel Kolesa 7b643f6919 eolian: move impl/ctor fill to validation stage 2018-01-30 17:08:44 +01:00