Cedric BAIL [Fri, 2 Jun 2017 23:27:02 +0000 (16:27 -0700)]
ecore: simplify usage of poller by giving 3 class of event on the main loop object.
The internal logic should be improved further in the future to synchronize itself
with loop wake up whenever possible (Especially true for the high frequency poller).
Cedric BAIL [Fri, 2 Jun 2017 22:38:25 +0000 (15:38 -0700)]
ecore: poller will be legacy only.
Bryce Harrington [Fri, 2 Jun 2017 23:06:31 +0000 (19:06 -0400)]
ecore-imf-wayland: Check xkb_keysym_to_utf8
Summary:
Coverity reports an error "Calling "xkb_keysym_to_utf8" without checking
return value (as is done elsewhere 4 out of 5 times)."
fixes: cid1375673
Reviewers: zmike
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4936
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
ecore-audio: unset DISPLAY conditionally before processing pulse events
in some cases, pulse events trigger spawning another pulse instance, and
the environment at this time is used to determine whether to attempt an
x11 connection
fix T2599
@fix
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
elput: send extra pointer motion event on first button press after resume
ensure state is reapplied by other components
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
elput: move pointer coords into seat struct
@fix
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
elput: ref evas devices in event structs
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
evas: simplify seat-getting during key event dispatch
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
ecore-evas: directly get the seat device instead of the parent
no functional changes
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
evas: redo pointer data to be per-seat instead of per-device
pointer devices are grouped into seats, and it is the seat which has
states related to canvas coordinates
@fix
ref
484dae76e675318a579e90ac05d4371acc1f8891
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
efl_input_device: do not free list when freeing children iterator
disappoint.jpg
@fix
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
ee drm: null elput device pointer when deleting device
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:45 +0000 (18:23 -0400)]
elput: add refcounting for seats/devices
ensure lifetimes persist through events
@fix
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:44 +0000 (18:23 -0400)]
evas: don't crash in _evas_default_output_get() if no outputs exist
@fix
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:44 +0000 (18:23 -0400)]
ecore-wl2: change safety null check to regular null check on surface create
this is a normal case during async init
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:44 +0000 (18:23 -0400)]
ee engines: update engines for per-seat cursor objects
ref
5856d3b52f6124ad5b4cfe47b21f28ab6f380002
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:44 +0000 (18:23 -0400)]
ee wayland: only handle events for ee with matching display object
ensure apps with multiple client connections don't mix events from different
connections
@fix
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:44 +0000 (18:23 -0400)]
elput: add null checks for xkb compose pointers
somehow these can fail to be created
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:44 +0000 (18:23 -0400)]
ecore-wl2: add null checks for xkb compose pointers
somehow these can fail to be created
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:44 +0000 (18:23 -0400)]
ecore-wl2: do not unref non-matching input device upon removal
this is how you avoid crashing
@fix
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:44 +0000 (18:23 -0400)]
ecore-evas: redo per-device cursor internals to be per-seat
seats have cursors, pointer devices do not.
@fix
fix T5531
Mike Blumenkrantz [Fri, 2 Jun 2017 22:23:44 +0000 (18:23 -0400)]
Felipe Magno de Almeida [Wed, 31 May 2017 19:32:20 +0000 (16:32 -0300)]
eolian-cxx: Fixed compilation error after Eolian_Unit type introduction
Derek Foreman [Fri, 2 Jun 2017 19:19:39 +0000 (14:19 -0500)]
ecore_evas_drm: Send a spurious pageflip when showing a canvas
This is a quick and harmless hack to make sure we don't come back to a
dead compositor on a vc switch.
A proper fix will follow eventually, I promise.
Really. Would I lie?
Derek Foreman [Fri, 2 Jun 2017 18:19:58 +0000 (13:19 -0500)]
ecore_drm2: Don't try to disable all devices when session deactivates
We get this callback after we've lost the drm device to logind, so
deactivating stuff here will just generate a lot of ERR messages
and break our internal book-keeping.
Instead, we just turn on DPMS on session activation instead of trying
to go through the output enable path (that will bail if it's already
enabled)
This could potentially result in a display that's enabled and DPMS
off being switched back on during session activation - if that's a real
problem we can restore the previous dpms state instead...
@fix T5483
Derek Foreman [Fri, 2 Jun 2017 16:39:34 +0000 (11:39 -0500)]
ecore_drm2: Fix dpms shutdown while disabling outputs
We need to set output->enabled to disabled *after* dpms takes place or set
it to enabled *before* dpms takes place. We can't just set it at the
start of the function or one of enable/disable will hit the dpms path
with a disabled display.
Derek Foreman [Fri, 2 Jun 2017 16:38:01 +0000 (11:38 -0500)]
ecore_drm2: Properly release buffers on output disable
Give back all buffers, and do it through the release mechanism that can
fire a callback into the engine.
Previously we just leaked one and left the rest.
Derek Foreman [Fri, 2 Jun 2017 16:36:51 +0000 (11:36 -0500)]
ecore_drm2: Rename _release_buffer and make it private instead of static
Other files in ecore_drm2 need to release buffers too.
Amitesh Singh [Fri, 2 Jun 2017 01:45:25 +0000 (10:45 +0900)]
Efl.Ui.Image.Zoomable: implement Ui.Image.icon property
@feature
JinYong Park [Fri, 2 Jun 2017 07:25:11 +0000 (16:25 +0900)]
popup: fix object_mirrored_set didn't work
Summary:
object_mirroed_set as opposed to config_mirrored_set doesn't work with
popup. This patch broadcasts a change on 'mirrored' to internal notify,
main layout, scroller and action area layout to make API work.
@fix
Reviewers: singh.amitesh, jpeg, conr2d, cedric, raster
Reviewed By: conr2d
Subscribers: herb
Differential Revision: https://phab.enlightenment.org/D4900
Stefan Schmidt [Thu, 1 Jun 2017 13:16:47 +0000 (15:16 +0200)]
examples: edje: make sure we use the edje_object_language_set legacy API
The EO based edje_obj_language_set API is now longer available since a
rework of this API. Also make sure a used parameter is not marked as
unused.
Stefan Schmidt [Wed, 31 May 2017 15:56:56 +0000 (17:56 +0200)]
docs: efl_text_style: add docs for various style related enums
Stefan Schmidt [Wed, 31 May 2017 15:41:37 +0000 (17:41 +0200)]
docs: efl_font_format: add docs for Efl.Text.Format.Wrap enum
Stefan Schmidt [Wed, 31 May 2017 15:30:28 +0000 (17:30 +0200)]
docs: efl_text_font: add docs for font width and slant enums
Stefan Schmidt [Wed, 31 May 2017 15:19:57 +0000 (17:19 +0200)]
docs: efl_text_font: add docs for font weight enum
Who comes up with font weight names like extrabold or black? :)
Stefan Schmidt [Wed, 31 May 2017 15:19:24 +0000 (17:19 +0200)]
docs: elm: add description for external Elm.Glob.Match_Flags
Stefan Schmidt [Wed, 31 May 2017 15:08:38 +0000 (17:08 +0200)]
elm: move Elm.Glob.Match_Flags extern into a single place
Since this was moved into the two genlist and gengrid files I get
redefinition warnings during the build and when generating the docs
eolian actually errors out on me and stops parsing.
SangHyeon Lee [Fri, 2 Jun 2017 01:32:04 +0000 (10:32 +0900)]
elm_gen : apply Elm_Theme_Apply enum return types for theme_object_get of item view.
elm_widget_theme_object_get now return Elm_Theme_Apply enum not bools.
only ELM_THEME_APPLY_FAILED case, need to re-apply default item edje.
Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
Jihoon Kim [Wed, 31 May 2017 09:23:32 +0000 (18:23 +0900)]
ecore_imf: Add commit content event callback
COMMIT_CONTENT is called when the input method commits content such as an image.
Change-Id: Idf238dc9b27811999b1ee733eeba2318d57e54f1
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
Derek Foreman [Wed, 31 May 2017 19:16:36 +0000 (14:16 -0500)]
elput: Fix logind session object path
We're supposed to query the path for a session id instead of just
making up the string ourselves.
Fixes all input devices being dead after a vc switch for some users.
Amitesh Singh [Mon, 29 May 2017 08:59:35 +0000 (17:59 +0900)]
Efl.Ui.Image.Zoomable: inherit from Efl.Ui.Image
jiin.moon [Wed, 31 May 2017 10:01:03 +0000 (19:01 +0900)]
elm_image: Fix previous image visible issue
Summary: Previous image still visible when elm_image_file_set has wrong file path.
Test Plan: self
Reviewers: jpeg, jypark, singh.amitesh
Reviewed By: singh.amitesh
Subscribers: singh.amitesh, minkyu, cedric
Differential Revision: https://phab.enlightenment.org/D4888
Jean-Philippe Andre [Wed, 31 May 2017 09:33:11 +0000 (18:33 +0900)]
edje: Move some functions to Efl.Ui.Base (EO)
This introduces the new interface Efl.Ui.Base, intended to
share some APIs between Edje and Elm:
- mirrored (rtl)
- language
- scale
base_scale remains in Edje.Object for now. I don't think it
applies to generic widgets.
The new interface uses eo prefix "efl_ui". It could be renamed
as Efl.Ui (no Base), or anything else. As always, I'm open to
propositions!
Ref T5315
Jean-Philippe Andre [Wed, 31 May 2017 08:58:14 +0000 (17:58 +0900)]
interfaces: Remove display_mode from EO size hints
This size hint is only used by naviframe, which is not part of
our EO widgets. I also believe it might be an even more confusing
hint than the others.
I kept the typedef as is in Evas_Legacy.h in case an app is
written using EFL_GFX_ instead of EVAS_...
Jean-Philippe Andre [Wed, 31 May 2017 08:03:26 +0000 (17:03 +0900)]
edje: Reshuffle a bit edje_object.eo
This changes a few method names:
- freeze -> calc_freeze
- thaw -> calc_thaw
- update_hints -> calc_update_hints
Otherwise this is mostly about reshuffling the EO file itself
and changing documentation.
Ref T5315
Jean-Philippe Andre [Wed, 31 May 2017 07:20:54 +0000 (16:20 +0900)]
edje: Rename "data" to "group_data" for EO
Still not happy with the name. I'm trying to avoid a name
clash between other "data" elements in the object. This is
the EDC group "data item".
Ref T5315
Jean-Philippe Andre [Wed, 31 May 2017 08:46:21 +0000 (17:46 +0900)]
drm: Fix build warning (invalid enum type)
Jean-Philippe Andre [Wed, 31 May 2017 02:33:33 +0000 (11:33 +0900)]
edje: Revert build fix and make "internal" eo public
Those classes are simply badly named, and I've come to realize since
that part class definitions are not internal, but instead they are
part of the public API. They are required for documentation, casting,
etc... I will rename them to "part" instead of "internal" later.
Since the headers are included in Edje_Eo.h not installing them
broke the build of any external app. Sorry for the mess!
This reverts
665856027d85802a29ede6f005674a8294df60fe
Ref T5306
Jean-Philippe Andre [Wed, 31 May 2017 02:20:40 +0000 (11:20 +0900)]
edje: Remove external param_set from EO
As Dave pointed out, those are meant for internal use by Edje and
the plugins implementation, rather than for apps. This removes
ugly and complex code. Makes me happy :)
Note that I've kept the composition for now. We can remove it
as efl_content_get() must work on the part handle anyway. But it
can be used as a quick solution.
Jean-Philippe Andre [Tue, 30 May 2017 14:52:22 +0000 (23:52 +0900)]
test: Cleanup timer when window is closed
This avoids confusing ERR messages in efl_part().
Jean-Philippe Andre [Tue, 30 May 2017 14:13:02 +0000 (23:13 +0900)]
edje: Move part drag APIs to efl_part
This moves all part_drag APIs to legacy and implements them for
EO using efl_part(). All parts now support these APIs, even if
they are not draggable. Making this more fine grained would
probably be much extra work for little gain.
This creates a new interface Efl.Ui.Drag.
Jean-Philippe Andre [Tue, 30 May 2017 13:38:13 +0000 (22:38 +0900)]
edje: Improve reference doc for part drag APIs
JinYong Park [Wed, 31 May 2017 04:12:59 +0000 (13:12 +0900)]
popup: remove previous object when setting new content
Summary:
Other widgets remove previous object when setting new content, but popup does
nothing for the part whose name is "default".
content_unset can be used to keep previous content object, so content_set
(especially with NULL) should be able to delete previous content object
for uniformity of the entire widgets.
@fix
Reviewers: jpeg, singh.amitesh, cedric, raster, conr2d
Reviewed By: conr2d
Subscribers: minkyu, herb
Differential Revision: https://phab.enlightenment.org/D4885
Cedric BAIL [Tue, 30 May 2017 21:03:31 +0000 (14:03 -0700)]
edje: temporary build fix.
Currently Edje_Eo.h does use all the internal eo file for part.
This should be fixed soon, but in the mean time we need a usable tree.
Chris Michael [Tue, 30 May 2017 19:57:07 +0000 (15:57 -0400)]
ecore-drm2: Don't free output plane states if not using atomic
If atomic support is not enabled (kernel or env var), then we will not
be filling output plane_states, so no need to free them (if non-atomic).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 30 May 2017 19:56:51 +0000 (15:56 -0400)]
ecore-drm2: Minor formatting fix
NB: No functional changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Daniel Kolesa [Tue, 30 May 2017 15:18:31 +0000 (17:18 +0200)]
eolian: add new unit API
The idea of units (as in translation units) is to encapsulate a single
parser pass into a structure to prevent leakage of data from other
passes (therefore catching error cases that couldn't be caught before).
The internals of the unit system are currently not implemented, this
batch merely switches all the relevant APIs to use units as well as
updates various things that use those APIs; implementation will come
afterwards.
@feature
Daniel Kolesa [Tue, 30 May 2017 14:42:26 +0000 (16:42 +0200)]
eolian: silence a unused warning temporarily
Daniel Kolesa [Tue, 30 May 2017 14:09:59 +0000 (16:09 +0200)]
docgen: stub out units so the generator works again
Daniel Kolesa [Fri, 26 May 2017 13:09:49 +0000 (15:09 +0200)]
eolian: use unit in typedecl c_type_get
Daniel Kolesa [Fri, 26 May 2017 13:04:49 +0000 (15:04 +0200)]
eolian: pass unit in internal type serialization
Daniel Kolesa [Fri, 26 May 2017 13:01:00 +0000 (15:01 +0200)]
eolian: doc token ref resolver now takes unit
Daniel Kolesa [Fri, 26 May 2017 12:52:44 +0000 (14:52 +0200)]
eolian: type_class_get takes unit
Daniel Kolesa [Thu, 25 May 2017 14:18:10 +0000 (16:18 +0200)]
eolian: expr eval APIs now take units
Daniel Kolesa [Thu, 25 May 2017 14:10:29 +0000 (16:10 +0200)]
eolian: more expr system unit updates
Daniel Kolesa [Thu, 25 May 2017 14:07:48 +0000 (16:07 +0200)]
eolian: pass unit around in expr eval
Daniel Kolesa [Thu, 25 May 2017 13:20:12 +0000 (15:20 +0200)]
eolian: update lua bindings with new unit apis
Daniel Kolesa [Thu, 25 May 2017 13:18:57 +0000 (15:18 +0200)]
eolian: use unit in all getters for typedecls
Daniel Kolesa [Thu, 25 May 2017 13:17:29 +0000 (15:17 +0200)]
eolian: use units in by_file getters for typedecls
Daniel Kolesa [Thu, 25 May 2017 13:15:04 +0000 (15:15 +0200)]
eolian: pass unit to enum get by name
Daniel Kolesa [Thu, 25 May 2017 13:11:08 +0000 (15:11 +0200)]
eolian: pass unit to struct get by name
Daniel Kolesa [Thu, 25 May 2017 12:56:44 +0000 (14:56 +0200)]
eolian: pass unit to alias get by name
Daniel Kolesa [Wed, 24 May 2017 15:41:31 +0000 (17:41 +0200)]
eolian: return real nil on parse failure
Daniel Kolesa [Wed, 24 May 2017 15:40:51 +0000 (17:40 +0200)]
elua: update for unit api usage
Daniel Kolesa [Wed, 24 May 2017 15:35:34 +0000 (17:35 +0200)]
eolian: update tests according to unit API
Daniel Kolesa [Wed, 24 May 2017 15:28:48 +0000 (17:28 +0200)]
eolian: pass unit to all_classes_get
Daniel Kolesa [Wed, 24 May 2017 14:36:23 +0000 (16:36 +0200)]
eolian: pass unit to class get_by_name/file
Daniel Kolesa [Thu, 18 May 2017 14:34:58 +0000 (16:34 +0200)]
eolian: make all variable lookups take unit
Daniel Kolesa [Thu, 18 May 2017 14:33:31 +0000 (16:33 +0200)]
eolian: make by-file variable lookups take unit
Daniel Kolesa [Thu, 18 May 2017 14:31:03 +0000 (16:31 +0200)]
eolian: make by-name variable lookups take unit
Daniel Kolesa [Tue, 16 May 2017 14:47:33 +0000 (16:47 +0200)]
eolian gen: pass the unit around
Daniel Kolesa [Tue, 16 May 2017 14:13:15 +0000 (16:13 +0200)]
eolian: make eolian_file_parse return unit
Daniel Kolesa [Fri, 12 May 2017 11:54:30 +0000 (13:54 +0200)]
eolian: units will contain multiple files
Daniel Kolesa [Thu, 11 May 2017 14:35:19 +0000 (16:35 +0200)]
eolian: initial structure for units
Units are Eolian files (eo/eot). Each unit contains information
about its class, dependencies, variables and types. This allows
for saner checking to be done.
Chris Michael [Tue, 30 May 2017 15:01:22 +0000 (11:01 -0400)]
ecore-drm2: Don't fill device atomic state if atomic is disabled
If atomic support is disabled (via kernel or env var), then we do not
need to fill device atomic state as it will not be used anyway.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 30 May 2017 15:00:20 +0000 (11:00 -0400)]
ecore-drm2: Don't fill output atomic states if not using atomic
If atomic support is not enabled (kernel or env var), then we should
not be filling in output atomic state
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 30 May 2017 14:59:25 +0000 (10:59 -0400)]
ecore-drm2: Remove useless return
This 'return' statement here is just useless as the code can fall
through and the function will return 0 anwyay.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Taehyub Kim [Tue, 30 May 2017 11:33:16 +0000 (20:33 +0900)]
efl_ui_image_zoomable: fix wrong initial value for zoom mode
Summary:
fix wrong initial value for ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL mode
@fix
Test Plan:
1. set zoom mode of photocam to ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL in text_photocam.c example
2. run elementary_test -to photocam
3. check it is working well
Reviewers: jpeg, cedric, raster, Hermet, singh.amitesh
Reviewed By: singh.amitesh
Differential Revision: https://phab.enlightenment.org/D4921
jiin.moon [Tue, 30 May 2017 10:25:37 +0000 (19:25 +0900)]
evas: Fix don't redraw map_sufarce issue
Summary:
map_surface does not redraw in below case.
1) parent and child are smart object and has map.
3) drawing objects.
4) apply new map to child object.
Test Plan: sample code
Reviewers: jpeg, cedric, jypark
Differential Revision: https://phab.enlightenment.org/D4889
Jean-Philippe Andre [Tue, 30 May 2017 10:16:48 +0000 (19:16 +0900)]
evas: Set modifiers & locks on global key events
Fixes T5510
YeongJong Lee [Tue, 30 May 2017 07:33:10 +0000 (08:33 +0100)]
elm_code: fix wrong selection delete
Summary:
If multi selection have 0 column and delete the selection, 0 + 1 column also
deleted
This fix that bug.
Also, remove needless code.
Test Plan:
1. select multi line with 0 column.
2. delete the selection
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4922
Bowon Ryu [Fri, 26 May 2017 04:01:56 +0000 (13:01 +0900)]
elm_toolbar: added to ensure different sizes of items in shrink mode.
Change-Id: I9f8a14e77a8859c9a7543e442f8355d5ef5c0d3d
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Jeeyong Um [Tue, 30 May 2017 06:36:17 +0000 (15:36 +0900)]
elm_widget: optimize memory alignment for focus related fields
Jean-Philippe Andre [Tue, 30 May 2017 04:34:57 +0000 (13:34 +0900)]
edje: Add test case for signal_recursive_process
Jean-Philippe Andre [Tue, 30 May 2017 04:52:22 +0000 (13:52 +0900)]
edje: Implement part proxy for all parts
This is required for part_state_get, which is now based
on the EO API internally. This fixes the test case introduced
in the following commmit.
Jean-Philippe Andre [Mon, 29 May 2017 14:08:54 +0000 (23:08 +0900)]
edje: Also implement content_get on external part
This implements edje_object_part_external_object_get() using
efl_content_get() on the part object. Note that there are now
two ways to call APIs on the external part:
- direct call to the efl_part() as if it was the object itself
(implemented by composition),
- get a handle with efl_content_get(efl_part()) and manipulate
it directly (it is the real object).
Do we need this? Do we need the composition trick? Should we have
only one of those solutions implemented?
Jean-Philippe Andre [Mon, 29 May 2017 13:47:55 +0000 (22:47 +0900)]
edje: Compose external part with real object
This effectively replaces edje_object_part_external_object_get
and allows all function calls except those from Efl.Object.
Is this good enough? Or do we need access to the real object?
Jean-Philippe Andre [Mon, 29 May 2017 13:33:28 +0000 (22:33 +0900)]
edje: Remove external_object_get from EO
This will be replaced by a trick: composition on the part
object itself!
Jean-Philippe Andre [Mon, 29 May 2017 13:27:21 +0000 (22:27 +0900)]
edje: Remove part_external_content_get from EO
I couldn't find a use of this API. This looks like it returns
an object inside a part inside an external (so, inside an edje).
Kept as legacy only.
Jean-Philippe Andre [Mon, 29 May 2017 11:28:08 +0000 (20:28 +0900)]
edje: Move external_param_set to a efl_part API
This adds a new class: Efl.Canvas.Layout.External.
I hate this long name...
This class represents an external part, and for now only
supports param_set/get as well as param_type_get. For now
param_type_get() still returns an Edje_External_Param_Type and
not another more generic type.
TODO: enumerate choices, return object, return content