platform/upstream/efl.git
7 years agoevas: Fix dangling references with input devices
Jean-Philippe Andre [Thu, 28 Sep 2017 02:27:56 +0000 (11:27 +0900)]
evas: Fix dangling references with input devices

This solves issues with efl_input_dup() which didn't properly give a
reference to the caller, resulting in dangling eo ids.

Note: This may trigger leaks (instead of invalid refs), but this now
actually reflects the meaning of @owned. This should work with bindings
and C API users should know to call efl_unref().

This patch is the reason for the previous improvements on eo_debug.

@fix

7 years agoeo_debug: Also print out the current backtrace
Jean-Philippe Andre [Thu, 28 Sep 2017 01:25:18 +0000 (10:25 +0900)]
eo_debug: Also print out the current backtrace

We can't use EINA_LOG_BACKTRACE=1 for that as eo_lifecycle itself prints
out ERR messages for its backtrace dump.

7 years agoeo_debug: Enable logging of all ref/unref
Jean-Philippe Andre [Wed, 27 Sep 2017 05:14:58 +0000 (14:14 +0900)]
eo_debug: Enable logging of all ref/unref

This is done via the syntax (not documented yet):

  EO_LIFECYCLE_DEBUG=N:<class names>

Where N is:
 1. new/free
 2. new/free/ref/unref
 3. new/free/ref/unref/reuse

@feature

7 years agoevas : Improve the performance by reusing map surface
jiin.moon [Wed, 27 Sep 2017 08:28:59 +0000 (17:28 +0900)]
evas : Improve the performance by reusing map surface

Summary:
If object just has update of map point without other changes included child,
the map surface can be reused.

Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5181

7 years agotests: Improve test case for win/evas event refeed
Jean-Philippe Andre [Wed, 27 Sep 2017 02:46:52 +0000 (11:46 +0900)]
tests: Improve test case for win/evas event refeed

7 years agointv slider: use scope_get instead in finalize()
Amitesh Singh [Thu, 28 Sep 2017 03:19:37 +0000 (12:19 +0900)]
intv slider: use scope_get instead in finalize()

7 years agoeio: convert Efl.Io.Manager.stat() to return Eina_Future.
Cedric BAIL [Wed, 27 Sep 2017 23:32:58 +0000 (16:32 -0700)]
eio: convert Efl.Io.Manager.stat() to return Eina_Future.

7 years agoeina: add an helper to setup Eina_Value structure description.
Cedric BAIL [Wed, 27 Sep 2017 23:30:31 +0000 (16:30 -0700)]
eina: add an helper to setup Eina_Value structure description.

This is particularly useful on system like Windows who doesn't allow
setting pointer at compile time in static const structure.

7 years agoemile: unmap the memory for image file after decode.
jiin.moon [Wed, 27 Sep 2017 18:51:44 +0000 (11:51 -0700)]
emile: unmap the memory for image file after decode.

Summary:
In case of emile, unmap the memory of the image file when the image file is closing.
But closing of image file happen when the image is flushed from the cache, so the
mapped memory of image file remain for long period of time with no benefit (If it is
in cache, it won't get decoded again). So I think we don't need to keep the mapped
memory of image file.

Test Plan: self

Reviewers: cedric, jpeg, jypark

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D5210

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoelementary: avoid segfault when getting focus due to an infinite recursion.
Cedric BAIL [Tue, 26 Sep 2017 22:21:12 +0000 (15:21 -0700)]
elementary: avoid segfault when getting focus due to an infinite recursion.

This was two line switched and setting the callbacks on the wrong object.

7 years agoecore: we can actually inherit from Efl.Object, just not in the first position.
Cedric BAIL [Tue, 26 Sep 2017 18:13:06 +0000 (11:13 -0700)]
ecore: we can actually inherit from Efl.Object, just not in the first position.

7 years agoeina: remove EFL_HAVE_WIN32_THREADS define as it is unused since winpthread is used
Vincent Torri [Sat, 23 Sep 2017 16:02:44 +0000 (18:02 +0200)]
eina: remove EFL_HAVE_WIN32_THREADS define as it is unused since winpthread is used

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoelementary: remove useless fprintf.
Cedric BAIL [Tue, 26 Sep 2017 17:09:59 +0000 (10:09 -0700)]
elementary: remove useless fprintf.

7 years agoelementary: actually implement the terminate event.
Cedric BAIL [Tue, 26 Sep 2017 17:09:37 +0000 (10:09 -0700)]
elementary: actually implement the terminate event.

7 years agoecore: we need a different event for tracking the lifecycle of the main loop.
Cedric BAIL [Tue, 26 Sep 2017 17:08:01 +0000 (10:08 -0700)]
ecore: we need a different event for tracking the lifecycle of the main loop.

If the main loop is destroyed a lot of companion information might already
have been so relying on EFL_EVENT_DEL might be way to late in the shutdown
process. terminate will be triggered as soon as the process of shutting down
is started, so all the data are still valid and have not been destroyed yet.

7 years agoelementary: don't crash if API is called after shutdown.
Cedric BAIL [Tue, 26 Sep 2017 17:07:29 +0000 (10:07 -0700)]
elementary: don't crash if API is called after shutdown.

7 years agoelementary: restore input propagation and destroy array properly.
Cedric BAIL [Tue, 26 Sep 2017 16:56:06 +0000 (09:56 -0700)]
elementary: restore input propagation and destroy array properly.

7 years agoefl_wl: Stop queuing buffer release events
Derek Foreman [Tue, 26 Sep 2017 16:39:19 +0000 (11:39 -0500)]
efl_wl: Stop queuing buffer release events

This was an optimization that caused more pain than benefit in the
long term.  Weston no longer does it, so we're just following suit.

7 years agoexamples: Fix C++ bg example
Jean-Philippe Andre [Tue, 26 Sep 2017 10:44:36 +0000 (19:44 +0900)]
examples: Fix C++ bg example

This is not nice yet... part API needs to be improved in C++.

7 years agoelm: win part EO files are public
Jean-Philippe Andre [Tue, 26 Sep 2017 10:33:56 +0000 (19:33 +0900)]
elm: win part EO files are public

7 years agoelm: Fix make distcheck
Jean-Philippe Andre [Tue, 26 Sep 2017 09:54:43 +0000 (18:54 +0900)]
elm: Fix make distcheck

See ebff5e8639851ab9d80fa6ff36f20f08952c015e

7 years agoevas textblock: use main font's ascent/descent as minimum value
Youngbok Shin [Tue, 26 Sep 2017 11:33:10 +0000 (14:33 +0300)]
evas textblock: use main font's ascent/descent as minimum value

Summary:
The patch will adjust ascent/descent with considering main font's ascent/descent
as minimum value. Actually, this patch re-apply D5217 with resolving linegap issue
on the _layout_format_ascent_descent_adjust() function.
@fix

Test Plan: Put a text which will load smaller font. And put a text which will load primary font.

Reviewers: raster, cedric, herdsman, jpeg

Differential Revision: https://phab.enlightenment.org/D5227

7 years agowin: Remove invalid callbacks
Jean-Philippe Andre [Tue, 26 Sep 2017 09:12:42 +0000 (18:12 +0900)]
win: Remove invalid callbacks

Faulty commit (guess who?):
  596dba5fe5fa8b4101f50bbed66c29c791a2572f

See also d567faa7787afb3d478f1c857cb28ab4fa0e5fc3

Finally make check works again. That was... a painful lot of patches to
fix.

7 years agoRevert "Fix infinite recursion for legacy + efl ui win events"
Jean-Philippe Andre [Tue, 26 Sep 2017 09:11:38 +0000 (18:11 +0900)]
Revert "Fix infinite recursion for legacy + efl ui win events"

This reverts commit d567faa7787afb3d478f1c857cb28ab4fa0e5fc3.

This is not trying to fix the root cause for the infinite loop.

7 years agoelm: Fix shutdown of atspi (unregister handlers)
Jean-Philippe Andre [Tue, 26 Sep 2017 08:56:56 +0000 (17:56 +0900)]
elm: Fix shutdown of atspi (unregister handlers)

@fix

7 years agoecore: Reset do_quit when ecore shuts down
Jean-Philippe Andre [Tue, 26 Sep 2017 08:18:02 +0000 (17:18 +0900)]
ecore: Reset do_quit when ecore shuts down

After ecore_shutdown the main loop is dead, so the flag do_quit can be
safely reset to 0. This will fix issues with cycles of
elm_init/shutdown. This fixes:
  CK_FORK=no tests/elementary/elm_suite elm_win

This patch relies on a few of the previous patches which ensure that
ecore is well shut down.

@fix

7 years agoelm: Delete atspi root object on shutdown
Jean-Philippe Andre [Tue, 26 Sep 2017 08:14:19 +0000 (17:14 +0900)]
elm: Delete atspi root object on shutdown

Ugly implementation but this will do.

@fix

7 years agoeo: Fix crashes with call cache after init cycle
Jean-Philippe Andre [Tue, 26 Sep 2017 08:00:27 +0000 (17:00 +0900)]
eo: Fix crashes with call cache after init cycle

It's not enough to check the init generation count, if the cache data is
not reset properly.

This patch adds safety in two ways:
 1. Actually reset the op call cache when we detect a new generation
 2. Verify that we don't return NULL function pointer

The 1st point is absolutely necessary, 2nd is optional (extra cost of
one if()).

@fix

7 years agoecore_ipc: Unregister log domain on shutdown
Jean-Philippe Andre [Tue, 26 Sep 2017 07:32:29 +0000 (16:32 +0900)]
ecore_ipc: Unregister log domain on shutdown

An old comment mentioned that this was explicitely not unregistered, but
I believe the comment isn't valid since ecore_event_type_flush() was
introduced.

7 years agoelm: Fix elm_shutdown
Jean-Philippe Andre [Tue, 26 Sep 2017 07:21:27 +0000 (16:21 +0900)]
elm: Fix elm_shutdown

ecore could not shut down properly in an elm_init()/elm_shutdown()
cycle, with 7 remaining references, all because of a typo.

This should help @cedric as well

7 years agowin: Avoid calling same function twice on shutdown
Jean-Philippe Andre [Tue, 26 Sep 2017 06:00:53 +0000 (15:00 +0900)]
win: Avoid calling same function twice on shutdown

This avoids calling:
  ecore_evas_callback_delete_request_set
  ecore_evas_callback_resize_set
twice when deleting a window. Also adds safety over sd->ee.

7 years agoevas: Fix shutdown of async cmd cache
Jean-Philippe Andre [Tue, 26 Sep 2017 05:26:56 +0000 (14:26 +0900)]
evas: Fix shutdown of async cmd cache

The incomplete reset (array to NULL but max not reset) triggers errors
in evas_thread_queue_append() where eina_inarray_grow() returns NULL.

This shows up in:
   CK_FORK=no elm_suite

@fix

7 years agoelm: Properly unregister providers on shutdown
Jean-Philippe Andre [Tue, 26 Sep 2017 05:09:14 +0000 (14:09 +0900)]
elm: Properly unregister providers on shutdown

This should fix some errors in make check with CK_FORK=no

Test:
  <efl/build>/src$ CK_FORK=no ./tests/elementary/elm_suite elm_config

@fix

7 years agowin: Avoid safety ERR in efreet
Jean-Philippe Andre [Tue, 26 Sep 2017 03:20:43 +0000 (12:20 +0900)]
win: Avoid safety ERR in efreet

This is an error happening in make check. Annoying but mostly harmless.

7 years agoelm: Fix module load with ELM_RUN_IN_TREE
Jean-Philippe Andre [Tue, 26 Sep 2017 03:13:24 +0000 (12:13 +0900)]
elm: Fix module load with ELM_RUN_IN_TREE

Somehow I was seeing a ton of errors with "prefs_iface" not found in
make check. This code could not have worked since the merge of
elementary in EFL tree...

@fix

7 years agoelm_bg: rename elm_bg to Efl.Ui.Bg
Sungtaek Hong [Tue, 26 Sep 2017 02:46:11 +0000 (11:46 +0900)]
elm_bg: rename elm_bg to Efl.Ui.Bg

Summary:
elm_bg was supposed to be used only in legacy,
but since we need a common object to be used as a background of widgets,
it is now renamed as efl_ui_bg and supports EO APIs.

Reviewers: cedric, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D5147

7 years agoinput: Move pointer props to Canvas
Jean-Philippe Andre [Mon, 25 Sep 2017 09:47:49 +0000 (18:47 +0900)]
input: Move pointer props to Canvas

efl_input_pointer_position is defined by two classes... bad!

Fixes T6066

7 years agoelm: rename Elm.Interface.Atspi.Text => Efl.Access.Text
Lukasz Stanislawski [Mon, 25 Sep 2017 08:15:44 +0000 (17:15 +0900)]
elm: rename Elm.Interface.Atspi.Text => Efl.Access.Text

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5167

7 years agowidget: Fix translation of default text parts
Jean-Philippe Andre [Mon, 25 Sep 2017 07:12:28 +0000 (16:12 +0900)]
widget: Fix translation of default text parts

Note: fileselector uses this translation API

Ref T5363

7 years agowidget: Remove domain_part_text_translatable from EO
Jean-Philippe Andre [Mon, 25 Sep 2017 06:47:03 +0000 (15:47 +0900)]
widget: Remove domain_part_text_translatable from EO

This removes the last remaining legacy-style part API from Widget.
I think this is redundant with the property "translatable_text"
introduced in Efl.Ui.Translatable.

Ref T5363

7 years agowidget: Implement translation API in layout
Jean-Philippe Andre [Mon, 25 Sep 2017 06:33:31 +0000 (15:33 +0900)]
widget: Implement translation API in layout

This moves the API entry points from Widget to Layout parts. I don't
think the other widgets support translation, but that is easy to fix.
The actual code implementation remains in elm_widget.c.

Legacy-only widgets are covered by Part_Legacy, while all EO widgets
that have text inherit from Layout (except Win but I don't think the
window title was translatable in legacy).

This removes 2/3 remaining part APIs from Widget.

Ref T5363

7 years agoelm: Introduce interface Efl.Ui.Translatable
Jean-Philippe Andre [Fri, 22 Sep 2017 06:13:16 +0000 (15:13 +0900)]
elm: Introduce interface Efl.Ui.Translatable

This will be used to replace the part translation API in Elm.Widget. It
should work for both parts and non-parts (ie. the main text of a button,
for instance).

For now I'm taking the following approach:
 - All efl_text_set/get strings are untranslatable, i.e. get() returns
   the visible string, set replaces and can not be translated.
 - translatable_text_set/get needs to be used to enable automatic
   translation, which in turns calls efl_text_set to modify the visible
   string. Thus, translatable applications will have to use
   efl_ui_translatable_text_set a lot more than efl_text_set, unless
   they translate strings application-side.

Note that some other frameworks take a simpler approach equivalent to
calling efl_text_set() with an already translated text. This prevents
runtime language changes of the application, unless the application
handles them specifically.

7 years agowidget: Add tiny doc for Efl.Ui.Widget.Part
Jean-Philippe Andre [Fri, 22 Sep 2017 04:38:59 +0000 (13:38 +0900)]
widget: Add tiny doc for Efl.Ui.Widget.Part

7 years agoEvas textblock: fix ascent/descent calc
Daniel Hirt [Tue, 26 Sep 2017 07:38:46 +0000 (10:38 +0300)]
Evas textblock: fix ascent/descent calc

This is a follow-up to 4d4401f3a60024a0762393c3984065b73927eb86.
The format line adjustment (e.g. linegap) should calculate the current
item's ascent/descent, and then update c->ascent/c->descent.
Otherwise we accumulate calculations like linegap values

ref D5217

7 years agoFix infinite recursion for legacy + efl ui win events
Carsten Haitzler (Rasterman) [Tue, 26 Sep 2017 07:15:07 +0000 (16:15 +0900)]
Fix infinite recursion for legacy + efl ui win events

7 years agoFix crash when an application wants to get the popup item class
Daniel Zaoui [Tue, 26 Sep 2017 06:49:58 +0000 (09:49 +0300)]
Fix crash when an application wants to get the popup item class

Since elm_popup_item.eo.h is only included in elc_popup.h, the EAPI is
not well defined, resulting in a crash when, in a simple C file, the
item class is tried to be accessed.
By including the H file in elc_popup_eo.h, we make it public (as the
other item classes) and solve the EAPI issue.

Thanks @jpeg for helping me to solve this issue.

7 years agoevas textblock: use primary font's size as minimum size of a line
Youngbok Shin [Mon, 25 Sep 2017 09:35:23 +0000 (18:35 +0900)]
evas textblock: use primary font's size as minimum size of a line

Summary:
Textblock uses ascent, descent from primary font when there is no text.
If a text is set which need other font, Textblock uses ascent, descent from
actually loaded font. If loaded font has smaller size, text cursor and text
looks jerky in elm_entry. At least, primary font's size should be respected
as minimum size of a line for avoiding this issue.
In addition, the patch will allow negative line gap values.
@fix

Test Plan:
Put your hamburger(🍔) in Ecrire. And put an english character.
(Put a text which will load smaller font. And put a text which will load primary font.)

Reviewers: raster, cedric, herdsman, jpeg, woohyun

Reviewed By: raster

Differential Revision: https://phab.enlightenment.org/D5217

7 years agoevas: Add scale feature for embedded bitmap fonts.
Youngbok Shin [Mon, 25 Sep 2017 09:34:22 +0000 (18:34 +0900)]
evas: Add scale feature for embedded bitmap fonts.

Summary:
When evas selects a strike of embedded bitmap font,
calculate ratio and use it for scaling embedded bitmap.
@feature

Reviewers: jpeg, tasn, woohyun, raster, herdsman

Reviewed By: raster

Subscribers: charlesmilette, Francesco149, cedric

Differential Revision: https://phab.enlightenment.org/D2713

7 years agoeolian-cxx: Fix compilation errors with new any_value_ptr and mstring types
Felipe Magno de Almeida [Tue, 26 Sep 2017 00:57:25 +0000 (21:57 -0300)]
eolian-cxx: Fix compilation errors with new any_value_ptr and mstring types

7 years agoelementary: migrate elementary_config to use the new macro with lifecycle support.
Cedric BAIL [Mon, 25 Sep 2017 22:52:36 +0000 (15:52 -0700)]
elementary: migrate elementary_config to use the new macro with lifecycle support.

7 years agoelementary: provide a new initialization macro that support lifecycle.
Cedric BAIL [Mon, 25 Sep 2017 22:51:19 +0000 (15:51 -0700)]
elementary: provide a new initialization macro that support lifecycle.

EFL_MAIN_EX require efl_main, efl_resume, efl_pause and efl_terminate
to be working. Quicklaunch support added too.

7 years agoelementary: provide and implement lifecycle event on the window.
Cedric BAIL [Mon, 25 Sep 2017 22:48:53 +0000 (15:48 -0700)]
elementary: provide and implement lifecycle event on the window.

pause event means that the window is not visible anymore to any user.
resume is triggered when the window became visible again or just
became visible again.

7 years agoecore: start adding life cycle support to Efl.Loop.
Cedric BAIL [Mon, 25 Sep 2017 22:47:00 +0000 (15:47 -0700)]
ecore: start adding life cycle support to Efl.Loop.

pause event is triggered when no more windows are visible to any user.
resume event is triggered when a window make the application visible
for the first time to the user after a pause or when starting the application.

7 years agoUi text: use proper Efl.Text API to set text
Daniel Hirt [Mon, 25 Sep 2017 09:49:11 +0000 (12:49 +0300)]
Ui text: use proper Efl.Text API to set text

Fixes error message during initialization.

7 years agoCanvas text: don't generate legacy for new api
Daniel Hirt [Mon, 25 Sep 2017 09:45:12 +0000 (12:45 +0300)]
Canvas text: don't generate legacy for new api

This is part of the new Canvas.Text.

7 years agoUi text: use eina_value_get and not eina_value_pget
Daniel Hirt [Mon, 25 Sep 2017 09:39:42 +0000 (12:39 +0300)]
Ui text: use eina_value_get and not eina_value_pget

CID 1381328

7 years agoCanvas text: use eina_value_set and not eina_value_pset
Daniel Hirt [Mon, 25 Sep 2017 09:36:14 +0000 (12:36 +0300)]
Canvas text: use eina_value_set and not eina_value_pset

CID 1381327

7 years agoelm hoversel - fix alignment in ephoto
Carsten Haitzler (Rasterman) [Mon, 25 Sep 2017 09:21:58 +0000 (18:21 +0900)]
elm hoversel - fix alignment in ephoto

fixes T6078

@fix

7 years agoinwin: Fix oopsie in previous commit
Jean-Philippe Andre [Mon, 25 Sep 2017 05:02:43 +0000 (14:02 +0900)]
inwin: Fix oopsie in previous commit

Bad push! >_<

7 years agoinwin: Fix inwin (default content set/get/unset)
Jean-Philippe Andre [Mon, 25 Sep 2017 02:29:24 +0000 (11:29 +0900)]
inwin: Fix inwin (default content set/get/unset)

Thanks @JackDanielZ for the report!
This makes efl_content_set/get/unset APIs work on the inwin, even though
this is a legacy-only widget (at least right now).

7 years agolayout: Remove default content implementation
Jean-Philippe Andre [Mon, 25 Sep 2017 02:19:49 +0000 (11:19 +0900)]
layout: Remove default content implementation

Legacy API is supposed to resolve the default content part name before
calling the EO API. Efl.Ui.Layout itself doesn't handle default content.

7 years agodocs: eina_value: fix a typo
Jeeyong Um [Mon, 25 Sep 2017 00:24:16 +0000 (09:24 +0900)]
docs: eina_value: fix a typo

7 years agoelm_hover: do not register itself
Marcel Hollerbach [Sat, 23 Sep 2017 20:23:50 +0000 (22:23 +0200)]
elm_hover: do not register itself

we are already registered as root in that manager

7 years agoelm_widget: abort is probebly a bit too much
Marcel Hollerbach [Sat, 23 Sep 2017 19:53:26 +0000 (21:53 +0200)]
elm_widget: abort is probebly a bit too much

7 years agoecore exe - add an "isolate io"f lag for sending io to /dev/null
Carsten Haitzler (Rasterman) [Sat, 23 Sep 2017 13:44:17 +0000 (22:44 +0900)]
ecore exe - add an "isolate io"f lag for sending io to /dev/null

this is useful for security to disallow child processes access to
stdio/err of the parent process.

@feature

7 years agoecore: force initialization of Efl.Io.Closer.Fd.
Cedric Bail [Fri, 22 Sep 2017 21:55:55 +0000 (14:55 -0700)]
ecore: force initialization of Efl.Io.Closer.Fd.

This will prevent closing magically fd 0 when the object is not
initialized yet.

7 years agoecore_evas: skip deleted Ecore_Evas while searching for a general animator source.
Cedric Bail [Fri, 22 Sep 2017 21:37:25 +0000 (14:37 -0700)]
ecore_evas: skip deleted Ecore_Evas while searching for a general animator source.

7 years agoeolian cxx: rename generic_value to any_value
Daniel Kolesa [Fri, 22 Sep 2017 20:50:50 +0000 (22:50 +0200)]
eolian cxx: rename generic_value to any_value

7 years agoeolian: add tests for builtin queries
Daniel Kolesa [Fri, 22 Sep 2017 18:58:36 +0000 (20:58 +0200)]
eolian: add tests for builtin queries

7 years agoelua: bind new eolian type builtin API
Daniel Kolesa [Fri, 22 Sep 2017 18:47:39 +0000 (20:47 +0200)]
elua: bind new eolian type builtin API

7 years agoeolian: add a way to query the builtin type of a type
Daniel Kolesa [Fri, 22 Sep 2017 18:38:17 +0000 (20:38 +0200)]
eolian: add a way to query the builtin type of a type

7 years agoeolian: add any_value_ptr
Daniel Kolesa [Fri, 22 Sep 2017 18:25:31 +0000 (20:25 +0200)]
eolian: add any_value_ptr

Because pointer Eina_Values and value Eina_Values have slightly
different semantics (when it comes to resource management) it's
better to split them.

7 years agoeolian: rename generic_value to any_value
Daniel Kolesa [Fri, 22 Sep 2017 18:16:06 +0000 (20:16 +0200)]
eolian: rename generic_value to any_value

7 years agoeolian: remove leftover code
Daniel Kolesa [Fri, 22 Sep 2017 16:08:36 +0000 (18:08 +0200)]
eolian: remove leftover code

7 years agoeolian: remove static_array and terminated_array
Daniel Kolesa [Fri, 22 Sep 2017 16:01:15 +0000 (18:01 +0200)]
eolian: remove static_array and terminated_array

These types are of questionable value and the API was not entirely
thought out - remove for now, and if a legitimate use is found
later, they may be readded (with a better API), but typically it
seems best to redesign the bad APIs around safe containers...

7 years agoeolian: merge REGULAR and COMPLEX types
Daniel Kolesa [Fri, 22 Sep 2017 15:46:02 +0000 (17:46 +0200)]
eolian: merge REGULAR and COMPLEX types

7 years agoeolian: add mstring
Daniel Kolesa [Fri, 22 Sep 2017 15:10:42 +0000 (17:10 +0200)]
eolian: add mstring

This is a new type representing a mutable string (no const).
Regular strings cannot be made mutable with @owned because
they might be hidden behind typedefs.

7 years agoeo: make more freefuncs implicit
Daniel Kolesa [Fri, 22 Sep 2017 14:08:56 +0000 (16:08 +0200)]
eo: make more freefuncs implicit

7 years agoecore-x: reject successive MappingNotify events if they are identical
Mike Blumenkrantz [Fri, 22 Sep 2017 13:54:37 +0000 (09:54 -0400)]
ecore-x: reject successive MappingNotify events if they are identical

in some cases loading an xmodmap on enlightenment startup can trigger an infinite
number of identical events which hard locks the xserver for a very, very long time

@fix

7 years agoEFL For WIN32: Replace HAVE_EVIL define with _WIN32
Vincent 'vtorri' Torri [Fri, 22 Sep 2017 10:06:10 +0000 (05:06 -0500)]
EFL For WIN32: Replace HAVE_EVIL define with _WIN32

7 years agoecore: Avoid using newer check.h functions.
Lauro Moura [Fri, 22 Sep 2017 07:57:06 +0000 (09:57 +0200)]
ecore: Avoid using newer check.h functions.

Summary:
The ptr_null/nonnull were added in the 0.11 version of libcheck. The
required version in configure.ac is 0.9.10 (some distros still use this
old one).

Reviewers: felipealmeida, stefan_schmidt

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5220

7 years agoelm_code: respect event hold for key_down
Andy Williams [Thu, 21 Sep 2017 11:24:51 +0000 (12:24 +0100)]
elm_code: respect event hold for key_down

7 years agolayout: Fix slider label using proper part type
Jean-Philippe Andre [Thu, 21 Sep 2017 03:25:02 +0000 (12:25 +0900)]
layout: Fix slider label using proper part type

This relies on the new edje API that gives us the exact type of a part.
This fixes the shortcomings of edje_edit_part_type_get() and returns a
proper Text part type for efl_part(slider, "elm.units.max").

See previous commits:
  "edje: Add part_type_get API"
  "elm: Split off text and content for efl_part"

7 years agoedje: Add part_type_get API
Jean-Philippe Andre [Thu, 21 Sep 2017 03:23:29 +0000 (12:23 +0900)]
edje: Add part_type_get API

For now I made this EO-only but this definitely could be expose in
legacy API as well.

This simply gives exact information about the type of part, after doing
a recursive search. Edit Edit doesn't do a recursive search, only a
direct one, which can yield invalid results (eg. RECT or NONE instead of
TEXT in case of "elm.units.max" for a slider).

@feature

7 years agohover: Fix hover parts usage
Jean-Philippe Andre [Wed, 20 Sep 2017 09:05:03 +0000 (18:05 +0900)]
hover: Fix hover parts usage

The string comparison was invalid for full part names. It worked with
the aliases, by chance, not by design.

This got broken by eee60abbcf but using full part names from the
application side was already broken before that.

@fix

7 years agoelm: Remove eo.h header from Makefile
Jean-Philippe Andre [Wed, 20 Sep 2017 06:44:37 +0000 (15:44 +0900)]
elm: Remove eo.h header from Makefile

Fixes make distcheck

7 years agoelm: Resolve part alias in legacy APIs only
Jean-Philippe Andre [Wed, 20 Sep 2017 06:16:12 +0000 (15:16 +0900)]
elm: Resolve part alias in legacy APIs only

This fixes make check.

7 years agoelm: Remove range "span_size" API in EO
Jean-Philippe Andre [Wed, 20 Sep 2017 02:16:17 +0000 (11:16 +0900)]
elm: Remove range "span_size" API in EO

Reasons:
 - This API has been confused with the min size of the widget, resulting
   in badly laid out applications.
 - The EO API was not very nice (Range is about numbers, the Gfx size
   hint in a part is really ugly).

While I understand the value of this API and how it can be used in
scalable applications, it is in fact not absolutely necessary.
Alternatively to that span size, the widget min size can already be
defined from the application side, or the widget can simply be expanded
to fill in its parent.

This can obviously be reinstated later if the need arises for EO. For
now, keep this feature as legacy-only.

7 years agoelm: Split off text and content for efl_part
Jean-Philippe Andre [Tue, 19 Sep 2017 12:46:59 +0000 (21:46 +0900)]
elm: Split off text and content for efl_part

This is VERY tricky.
For legacy, just create an internal class that has both. It's easier
this way. For parts that are handled by Layout directly, we know from
Edje which type to return.

For EO objects we should know from the part name which kind of part we
are dealing with:
 - text (overridden by the widget)
 - content (overridden by the widget)
 - special (new efl_part based functions)
 - generic (handled by Layout)

Note: Efl.Ui.Slider was handling "span size" on ALL parts. That's bad...
This is now limited to "span" only.

7 years agoelm: Move base implementation for efl_part in widget
Jean-Philippe Andre [Tue, 19 Sep 2017 11:02:26 +0000 (20:02 +0900)]
elm: Move base implementation for efl_part in widget

This means that ALL part handles inherit from the base part class
Efl.Ui.Widget.Part. Layout is the only exception where Efl.Part is
specially overridden.

This is a first step towards generic part APIs, including background in
all widgets.

7 years agoUi text: add Efl.Ui.Text_Async object
Daniel Hirt [Tue, 12 Sep 2017 05:38:51 +0000 (08:38 +0300)]
Ui text: add Efl.Ui.Text_Async object

Adds "Efl.Ui.Text_Async" object.
This new widget uses the "async_layout" functionality of the underlying
Efl.Canvas.Text object.

Currently, if "editable" mode is enabled, there is no asynchronous
layout, as interactive operations (e.g. typing) should get processed
immediately. Thus, only "non-editable" instructs the text object to do
asynchronous layout.

@feature

7 years agoCanvas text async: add async layout functionality
Daniel Hirt [Mon, 4 Sep 2017 16:16:27 +0000 (19:16 +0300)]
Canvas text async: add async layout functionality

This adds the 'async_layout' method.
The 'async layout' method is similar to 'size_formatted_get', but done
outside of the mainloop. When a call is made to this method, a thread
is created (after some preparation like updating the logical text
items), and the visual layout is offloaded to that thread. The result
is returned as Eina.Future.

The mainloop is blocked for operations that manipulate the object, if a
thread has already been created but hasn't complete its work.
Consecutive calls for async layout for the same object are not handled
simultaneously. Each time the threads has complete its work, the next
(if exists) layout will be dispatched.

@feature

7 years agoevas-drm: Fix uninitialized variables
Chris Michael [Wed, 20 Sep 2017 10:26:05 +0000 (06:26 -0400)]
evas-drm: Fix uninitialized variables

Small patch to fix Coverity reported issues of uninitialized variables

Fixes CID1381306, CID1381305, CID1381304, CID1381303

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoefl ui layout - handle content unset properly and remove the unset item
Carsten Haitzler (Rasterman) [Wed, 20 Sep 2017 08:31:23 +0000 (17:31 +0900)]
efl ui layout - handle content unset properly and remove the unset item

the content unset in some cases - specifically terminology seems to
put the item back in and doesnt remove it... causing it later to be
deleted if unset to remove it and re-use it (which is rarely done).

@fix

7 years agoUi text: add null checks for anchor update
Daniel Hirt [Tue, 19 Sep 2017 17:16:59 +0000 (20:16 +0300)]
Ui text: add null checks for anchor update

Add null checks in case item was not found.
Also use one more emoticon to test the provider.

7 years agoEdje: move selection-related part_text API to legacy
Daniel Hirt [Tue, 19 Sep 2017 16:36:43 +0000 (19:36 +0300)]
Edje: move selection-related part_text API to legacy

7 years agoEdje: move IMF-related part_text API to legacy
Daniel Hirt [Tue, 19 Sep 2017 16:17:26 +0000 (19:17 +0300)]
Edje: move IMF-related part_text API to legacy

7 years agoecore-evas-drm: Implement actual evas engine rotations in drm
Chris Michael [Tue, 19 Sep 2017 15:58:55 +0000 (11:58 -0400)]
ecore-evas-drm: Implement actual evas engine rotations in drm

This patch implements handling of evas output rotation for the
ecore_evas drm engine.

ref T5999

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas-drm: Support rotations other than 0
Chris Michael [Tue, 19 Sep 2017 15:55:29 +0000 (11:55 -0400)]
evas-drm: Support rotations other than 0

This patch adds support for software rotation in the evas drm engine.
This is a fallback codepath in case hardware rotation is not supported
for a given rotation amount. This patch also fixes a leak of and
pending updates during output buffer free.

ref T5999

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas-drm: Override eng_output_resize function
Chris Michael [Tue, 19 Sep 2017 15:51:30 +0000 (11:51 -0400)]
evas-drm: Override eng_output_resize function

This patch provides an override in the evas drm engine for the output
resize function. We override this function so that we can reconfigure
the output buffer.

ref T5999

Signed-off-by: Chris Michael <cp.michael@samsung.com>