Commit Graph

20762 Commits

Author SHA1 Message Date
SangHyeon Jade Lee d3440a9867 genlist: process item block positioning before relative item deleted
process item for positioning proper relative block before it's
relative item is deleted.

Signed-off-by: SangHyeon Jade Lee <dltkdgus1764@gmail.com>
2017-09-15 12:11:55 +09:00
Carsten Haitzler dc137aba43 ecore exe - fix fix malloc fail handling
for both ecore_exe_win32.c and ecore_exe_posix.c when the rare case
(basically almost never) that malloc fails for the exe read/err
buffers also set the data size to 0 so it doesn't lie with a NULL ptr
for data.

@fix
2017-09-15 07:44:58 +09:00
Carsten Haitzler 0f08ee686e evas box - fix longstanding bug where min size is miscalculated
this has affected edje for... like... ever. min size of boxes just
doesnt work. because evas box just doesnt do it right. this has led to
nasty things where edje box is just not usable if you use weight of 0.
btw weight 0 means "stay at min size no matter what even if we expand
the box to be bigger" in edje... which is totally broken and i can't
fix that without potentially breaking even more stuff... but let's
see. i've been using this for several days now and ... i can't find
breakage... so this should fix up SOME issues in edje.

@fix
2017-09-15 07:35:34 +09:00
Cedric BAIL a10a1fa641 ecore: update buffer size before allocation, not after. 2017-09-14 11:46:28 -07:00
Felipe Magno de Almeida 44c0199f42 eolian-cxx: Fix instantiate constructor with lambda after disambiguation patch 2017-09-14 15:06:33 -03:00
Felipe Magno de Almeida 761e6a304c eolian-cxx: Fix example after disambiguation patch of C++ binding 2017-09-14 15:06:33 -03:00
Cedric BAIL fb31440f49 eina: move the test to the new future and use the new Eina_Value array iterator macro. 2017-09-14 11:01:22 -07:00
Cedric BAIL 112777fc7a eina: add iterator macro for Eina_Value that contain an array. 2017-09-14 11:00:34 -07:00
Cedric Bail cba58203a3 eio: move efl.io.manager.xattr.get to use the new Eina_Future. 2017-09-14 10:11:29 -07:00
Cedric BAIL 024c6a9fc3 efl: silent warnings shown on solaris due to missing header files. 2017-09-14 09:59:02 -07:00
Cedric BAIL 6a4bc78eaf eio: don't flush value after giving ownership. 2017-09-14 09:36:33 -07:00
Daniel Kolesa 518ca72d06 eolian: default free funcs for builtin types 2017-09-14 15:53:30 +02:00
Amitesh Singh 14ef6c2ba4 elm test: ui.clock: eo-fy clock sample 2017-09-14 14:05:25 +09:00
InHong Han 9f068c55db ecore_imf: Add ecore_imf_context_input_panel_position_set API
Summary: Sets the x,y coordinates of the input panel

Test Plan: Tested in Tizen device

Reviewers: woohyun, id213sin, jihoon, cedric

Subscribers: jpeg, jihoon, cedric

Differential Revision: https://phab.enlightenment.org/D5193
2017-09-14 10:49:03 +09:00
Cedric Bail cacd374e41 eina: add tests for eina_value_to_binbuf. 2017-09-13 17:26:26 -07:00
Cedric Bail 8fbfab83e9 eina: add an ability to quickly convert from an Eina_Value to an Eina_Binbuf. 2017-09-13 17:26:04 -07:00
Cedric Bail b9ef9af74a eio: migrate efl.io.manager.open to use Eina_Future. 2017-09-13 15:53:00 -07:00
Cedric Bail ba34b998eb ecore: allow efl_loop_future_scheduler_get on all Efl.Loop.User. 2017-09-13 15:53:00 -07:00
Daniel Kolesa a9aed90fde eolian: more relaxed rules on what is actually ownable
For example, aliases to ownable types are now also ownable,
which wasn't possible in the previous version, where you could
only own actual expanded ownable types.
2017-09-14 00:34:06 +02:00
Daniel Kolesa 59347d4c4b eolian: include terminatable checks in ownable check 2017-09-14 00:28:32 +02:00
Daniel Kolesa 8ff2bf35fe eolian: inherit freefunc between types/typedecls 2017-09-14 00:12:46 +02:00
Daniel Kolesa d05127eb1a eolian: make test data validate 2017-09-13 23:58:47 +02:00
Daniel Kolesa e55ab81835 eolian: always implicitly validate database and remove its API 2017-09-13 23:58:47 +02:00
Daniel Kolesa 2a9be1f5be eolian: move terminated_array typecheck to validate pass 2017-09-13 23:58:47 +02:00
Daniel Kolesa a0adca9cb9 eolian: move ownable checks to validation stage 2017-09-13 23:58:47 +02:00
Marcel Hollerbach c935249d7e edje: make it handle late appearing of devices
device adds can happen late, which means evas does not know the default
device until a time that is later than the focusing of some edje part.
Which means that keystrokes etc. are lost for the parts beeing focused
before the default device appeared. This should fix that.

For the later people in this world: Watch out! someone decided to map
seats in edje with a linear counter starting at 1, which means
seat0<->seat1 seat1<->seat2 thanks for that riddle, i feel like i have
beaten the sphinxs.

fix T6022
2017-09-13 21:36:52 +02:00
Cedric Bail f5487c5d3e eina: fix Eina_Rectangle support in Eina_Value.
Thanks for the review Gustavo.
2017-09-13 10:39:31 -07:00
Cedric Bail 430095d4f1 eina: allow convertion to BLOB from Eina_File Eina_Value by mmap the file. 2017-09-13 10:38:36 -07:00
Cedric Bail af452c439d eina: improve Eina_File support in Eina_Value.
Thanks Gustavo.
2017-09-13 10:36:05 -07:00
Stefan Schmidt b737d4fea7 examples/evas: fix recent build break from rectangle change
Introduced with commit 13da5e980e

A compile before pushing would have been great, again.
Having the same name for two variables is something no compiler likes.

evas-map-utils-eo.c:74:8: error: conflicting types for ‘r’
    int r, g, b, a, f;
        ^
evas-map-utils-eo.c:73:19: note: previous declaration of ‘r’ was here
    Eina_Rectangle r;
                   ^
evas-map-utils-eo.c:93:31: error: ‘h’ undeclared (first use in this function)
    efl_gfx_size_get(o, NULL, &h);
                               ^
evas-map-utils-eo.c:93:31: note: each undeclared identifier is reported only once for each function it appears in
evas-map-utils-eo.c:108:25: error: ‘w’ undeclared (first use in this function)
    efl_gfx_size_get(o, &w, &h);
2017-09-13 14:42:34 +02:00
Amitesh Singh 3984148b8e efl.ui.clock: correct value_set/get & value_min/max APIs signature.
We could just pass Efl_Time value as copy by value to set time in setter APIs
and return Efl_Time value in getter APIs.

Thanks to @JackDanielZ for the report.

Fixes T6008
2017-09-13 20:38:52 +09:00
Stefan Schmidt cca312d42c gitignore: add some new example binaries to the ignore list 2017-09-13 11:25:13 +02:00
Stefan Schmidt faf77b6ce7 ecore: fix distcheck buil by including missing file
In commit df9f2e0772 this new header file
was introduced but it was missing from this list and thus never made it
into the dist.

I have to say I look forward to a future where a git based dist
handling, like meson does, replaces the tiresome approach of keeping the
list up to date.
2017-09-13 11:25:13 +02:00
Jean-Philippe Andre 58c2c50dcc efl_access: Use Eina.Rectangle (EO) 2017-09-13 18:20:45 +09:00
Jean-Philippe Andre 89733b22f6 efl_gfx_fill: Use Eina.Rectangle for fill (EO) 2017-09-13 18:09:19 +09:00
Jean-Philippe Andre 83ea35541c edje: Use Eina_Rectangle for parts_extends_calc (EO) 2017-09-13 18:03:34 +09:00
Jean-Philippe Andre 21c72948db efl_gfx: Remove color_part API (EO)
This API was introduced in commit:
  cd3f8db506

This was since limited to EO only APIs, and totally underexploited.
After that, efl_part() was introduced, which defines how all part APIs
should be designed.

Nothing uses this API, efl_vg had an implementation that provides no
extra value over the other APIs.
2017-09-13 18:03:34 +09:00
Jean-Philippe Andre 13da5e980e efl_gfx: Use Eina.Rectangle for geometry (EO)
This saves a few lines already (without even having the proper helpers
for stack rectangles).
2017-09-13 18:03:34 +09:00
Jean-Philippe Andre 0c46fc7103 evas: Use Eina_Rectangle internally
Instead of Evas_Coord_Rectangle which is exactly the same thing but with
a different name and typedefs.
2017-09-13 18:03:34 +09:00
Jean-Philippe Andre a973294820 edje: Rename part external class
This was missed in the previous commit as this special part class didn't
include the internal keyword.

Ref T5315
Ref T5306
2017-09-13 13:58:38 +09:00
Jean-Philippe Andre d5a31f3f30 edje/elm: Rename _internal_ to _part_ (EO)
In Edje and Elementary, we have part objects, which are what is returned
by the interface efl_part(). Those objects can't be of an opaque type as
this doesn't work nicely with strongly typed languages such as C++ or
C#. In JS, Lua, C the types are weak and mostly runtime-based so it
doesn't matter much.

As a consequence, the documentation and the types need to look nice in
this EO API. Thus, we remove the abusive term "internal" and explicitly
call all those classes "part" something.

Eventually we want the types to be declared in the EO file so bindings
(C#, C++, ...) can generate the proper access methods, returning the
best possible types.

Note that right now a few of those part types are used in the legacy API
but don't actually need to be exposed externally.

This is kind of a mega commit that does all the renaming at once, but
it's really just a big sed operation. The power of good IDEs :)

Ref T5315
Ref T5306
2017-09-13 13:53:49 +09:00
Jean-Philippe Andre 8da23c4247 widget: Make part_text_translate internal 2017-09-13 13:43:55 +09:00
Jean-Philippe Andre 6d0957b0a5 widget: Rename focus_manager_factory to create
factory is not a verb :)

Ref T5363
2017-09-13 13:43:55 +09:00
Jean-Philippe Andre 3c386e5fdf evas: Fix build break
Ooops. Classic.
See 9ed6838f17
2017-09-13 13:41:23 +09:00
Amitesh Singh 02b9aa0240 efl.ui.slider_interval: Add missing since tag 2017-09-13 12:22:54 +09:00
Jean-Philippe Andre 99c765d0d2 evas: Non functional changes to event grabber
This changes the CRI logs and the variable names.

I still think this API needs some fixing in order to not abuse the
smart object API. This should be done before it's too late (i.e. E is
released and depends on it).
2017-09-13 11:29:31 +09:00
Jean-Philippe Andre bb9d8bdbaa evas: Add group_member_is to smart objects
This is a new function that indicates whether an object is a child of a
parent or not. Dead simple, as this simply compares if parent == this.
Note that this check was impossible to do with the event grabber.

Also, rename group_children_iterate to group_members_iterate for
consistency with the other group_member functions.

@feature
2017-09-13 11:01:29 +09:00
Jean-Philippe Andre 0885d0c405 elm: Fix use of Efl.Access APIs
See also 7d397c9f19

Thanks @stefan for the first fix patch, I simply failed to push this one
early enough.
2017-09-13 09:57:20 +09:00
Jean-Philippe Andre e4a440797b ctxpopup: Avoid safety error on call on null obj
See 6aa309ffb8
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 76bc13530a eo: Add class name to error log (unref) 2017-09-13 09:57:05 +09:00
Jean-Philippe Andre a73e4c7c80 emotion: Make it a clipped smart object
This reduces code.
And probably adds new bugs.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre d971ca2fb8 emotion: Fix refcounts related to eio use
Inside emotion, if Eio is compiled, some asynchronous functions are used
and a refcounted struct was used to ensure safety of the code.
Unfortunately the logic didn't make much sense as emotion's private data
is used. The refcount becomes useless, the lifecycle of the data being
bound to the object itself.

Note that an actual crash is almost impossible because:
 - eio is actually quite fast
 - evas objects are kept alive for 2 frames
 - eina_freeq is used to keep eo objects' data alive for some more time

But this in theory fixes the events, as they were sent on the wrong
object. "obj" is the image object, "smartobj" was the emotion object.
This is fixed with a weak ref.

I don't think it is necessary to backport this.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 820b8a0e6f evas: Fix evas grid
It's a complete mess mixing legacy and EO in a really bad way.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 46001cde38 edje: Remove use of smart clipped data
This removes dependency on a legacy structure.
Edje object does not change the smart data, unlike evas box and grid.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 7e2382853e evas: Add EO API to get clipper in smart object
It's not exposing anything that wasn't already accessible before (you
could just add a member and get its clip, for instance).

This will be used by Edje Object.

This is a minor
@feature
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 7ef714924a evas: Fix crash with smart objects
This is due to the previous patches.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 9ed6838f17 evas: Remove class Efl.Canvas.Group.Clipped
The functionality is now merged inside the core Group class, which will
allow us to clean up its API.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 8572cd5def evas/edje/elm: Remove all uses of clipped groups
This removes the uses of the *EO* class, obviously not the use of the
clipped smart objects.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 71e122424e evas: Move all overrides to std smart object
- color_set
- visible_set
- position_set
- no_render_set
- member_add, member_del
- group_add, group_del
- clip_set

Notes:
 - Widget overrides color_set without calling super() which means that
   color_get() returns a different value. Also any subsequent child
   object add will not inherit the color.
 - Smart clipped objects also don't call super.

This patch changes that, but only for smart clipped objects created
through EO. This shouldn't have any side effect.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 67798ca863 evas: Remove group_add from clipped smart object
Moved from clipped to the general smart object class.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre e380dae4bc evas: Remove group_del override from smart clipped 2017-09-13 09:57:05 +09:00
Jean-Philippe Andre 230b234891 evas: Remove private data for clipped object
Another step towards merging both classes of smart objects.
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre f5a56789e0 evas: Add internal API to make smart obj (un)clipped
Introduction to the problem:
 - Efl.Canvas.Group has a method member_add() to add sub objects.
 - Efl.Canvas.Group (simple smart object) does NOT actually delete the
   objects on deletion. But:
 - Efl.Canvas.Group.Clipped is a direct subclass and WILL delete the sub
   objects on deletion.

Semantically, all smart objects (at least in EO and Elementary) will own
and delete sub objects automatically. Some exceptions are:
 - Edje object (smart clipped) does not delete swallowed objects.
   Edje object is a "clipped" smart object but it pops out all swallowed
   children before getting deleted.
 - Evas box/table/grid also pop out their children before deletion.
   Those classes are all legacy & internal only.
 - Elm.Widget will "manually" delete all its sub objects at deletion, as
   it inherits from Efl.Canvas.Group but basically takes full ownership
   of the sub objects. Note that member_add shouldn't be used on a
   widget, the widgets do it themselves.

Also, smart clipped objects are much more convenient to use as they will
handle some things for you: color, visibility, moving and ownership.

So, the API member_add needs to be marked as own(). But right now
Efl.Canvas.Group does not own. Thus, here's the plan:
 - Mark clipped objects as such with an internal API
 - Merge clipped smart object features directly inside the standard
   smart object.
 - Get rid of Efl.Canvas.Group.Clipped entirely and watch all hell break
   loose.

Ref T5301
2017-09-13 09:57:05 +09:00
Jean-Philippe Andre c5a9e49a9b evas: Add some EO safety to legacy EAPI 2017-09-13 09:57:05 +09:00
Vincent Torri 966577ffed eina: add an Eina_Value helper for Eina_Rectangle. 2017-09-12 17:03:49 -07:00
Cedric BAIL 95dd799715 eina: add an Eina_Value helper for Eina_File. 2017-09-12 17:03:17 -07:00
Cedric BAIL de106a2973 eio: move efl.io.manager.close to use the new future. 2017-09-12 14:08:40 -07:00
Cedric BAIL 2e4d357a26 eio: simplify promise use. 2017-09-12 10:22:21 -07:00
Cedric BAIL 19e0f35d1c eina: cleanup documentation for promise. 2017-09-12 10:16:44 -07:00
Stefan Schmidt 7d397c9f19 tests: fix build after elm atspi renaming
Renamed but make check not taken into account.
2017-09-12 16:01:44 +02:00
SangHyeon Jade Lee 50149e95cd genlist: fix decorate mode dangling pointer in deletion
fix decorate mode crash issue reported by Jack Daniel in T6000
which is occured by dangling pointer in item deletion on decorate mode.

Signed-off-by: SangHyeon Jade Lee <dltkdgus1764@gmail.com>
2017-09-12 18:41:37 +09:00
Amitesh Singh 6c8ec7a319 efl.ui.slider: implement efl.text intf
efl_text_set/get would work on slider text part.
2017-09-12 18:25:41 +09:00
Amitesh Singh 120d0673a9 efl.ui.range: remove interval_enable/set/get APIs from interface
Remove interval related apis from interface since interval slider
implements these features now. Although legacy range APIs would still
work on slider widget.
2017-09-12 18:08:42 +09:00
Amitesh Singh 9348094220 interval slider: Add new interval slider widget
This widget is a slider with two indicators which allows
to have interval of value.
2017-09-12 18:08:42 +09:00
Jean-Philippe Andre 8d7dc6ae24 edje: Add legacy compatibility code
This affects:
 - edje_object_part_swallow
 - edje_object_part_swallow_get

Fixes T5944

@fix
2017-09-12 17:27:02 +09:00
Bryce Harrington 9c78628908 ector: Copyedit Ector doxygen
Summary:
- Fix various spelling and grammar errors.
- Add a slight bit more explanation of what Ector is.
- Condense compilation directions similar to Evas.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5176
2017-09-12 16:07:13 +09:00
Lukasz Stanislawski 9cf8e75668 elm: rename Elm.Interface.Atspi.Component => Efl.Access.Component
Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5164
2017-09-12 15:49:29 +09:00
Lukasz Stanislawski a55f2c96d4 elm: rename Elm.Interface.Atspi.Image => Efl.Access.Image
Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5163
2017-09-12 15:48:39 +09:00
Lukasz Stanislawski dfd17229fd elm: rename Elm.Interface.Atspi.Window => Efl.Access.Window
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5162
2017-09-12 15:48:10 +09:00
Lukasz Stanislawski 9f7786544e elm: rename Elm.Interface.Atspi.Value => Efl.Access.Value
Reviewers: jpeg, cedric, stanluk

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5161
2017-09-12 15:46:19 +09:00
Daniel Hirt 4dc2001dac Ui text: reduce calls to update functions
Reduces calls to update functions when entering text.
Also, remaining calls to update the cursors were moved to the decoration
jobs.
2017-09-12 08:47:12 +03:00
Cedric BAIL e33d0d9996 eio: first convertion to new future/promise. 2017-09-11 16:10:46 -07:00
Cedric BAIL fa9acf8b35 eina: add eina_promise_data_set symetric to eina_promise_data_get. 2017-09-11 16:09:43 -07:00
Cedric BAIL 54083a7835 eina: fix typos in eina_promise_all_array documentation. 2017-09-11 16:08:23 -07:00
Cedric BAIL 4cfc8f12fc evas: actually output might not be initialized until later. 2017-09-11 11:32:44 -07:00
Daniel Zaoui a8f86b2c34 Examples: fix C++ examples
The examples have not been updated after the last C++ changes.
2017-09-11 21:13:15 +03:00
Stefan Schmidt 79956eee63 eina: fix build for big endian platforms
Summary:
The code in eina_debug.c requires the eina_swapX() functions on big endian platforms, so include the required header.

Test Plan: Do build on big endian platform like ppc64 or s390x.

Subscribers: kubu, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5158
2017-09-11 14:08:41 +02:00
Youngbok Shin 8dbbf5c8b7 evas textblock: support ZWJ, ZWNJ, LRM, RLM in escaped form
Summary:
The patch supports the following escaped string from Evas Textblock.
These unicodes are frequently used.
ZWNJ U+200C - &zwnj;
ZWJ  U+200D - &zwj;
LRM  U+200E - &lrm;
RLM  U+200F - &rlm;
@feature

Test Plan: N/A

Reviewers: raster, cedric, herdsman, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D5173
2017-09-11 08:53:04 +03:00
Youngbok Shin 7a1075500a evas: don't search other fonts only for INHERITED script unicodes
Summary:
INHERITED script unicodes are only meaningful when it comes
after the previous unicode from same font.
Even if there is no glyph for the INHERTED script unicode from current font,
don't search other font for loading the unicdoe as first unicode
of next item. It will be meaningless.
@fix

Test Plan:
Check the following Emoji sequence with an emoji font
which does not have variation selector glyphs.
{ 0x1F3F3, 0xFE0F, 0x200D, 0x1F308 }

Reviewers: raster, cedric, herdsman, jpeg, woohyun

Reviewed By: herdsman

Differential Revision: https://phab.enlightenment.org/D5156
2017-09-11 08:52:03 +03:00
Carsten Haitzler b656e82b09 efl ui layout - fix warning fro wrong type... its a list not a hash. 2017-09-10 13:21:50 +09:00
Felipe Magno de Almeida 48b3c127f7 eo-cxx: Require instantiate keyword for constructors calling efl_add to avoid ambiguity 2017-09-08 11:47:29 +09:00
Jean-Philippe Andre ff96e30c72 edje: Better debug logs for invalid calls to swallow
These error messages will be triggered when efl_part() is used, and the
part is not a swallow part.
2017-09-08 09:50:48 +09:00
Sungtaek Hong 89f92afccc Evas filters: remove needless check for negative case.
Summary:
Becuse ox is set to 0,
it cannot be negative, so negative check will be needless.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5155
2017-09-08 09:50:48 +09:00
Daniel Hirt de3062da89 Canvas text: emit missing events during text changes
Some text changes were not picked up by the Ui.Text widget, so no size
evaluation was triggered.
2017-09-07 16:54:38 +03:00
Felipe Magno de Almeida c03afadf40 elm: Fix multiple connections from model to properties in Layout 2017-09-07 14:23:56 +09:00
Felipe Magno de Almeida df9f2e0772 ecore: Add efl_model_copmosite_selection model 2017-09-07 14:23:51 +09:00
Felipe Magno de Almeida 743f52a05b efl: Make models 0-based index, not 1-based 2017-09-07 12:36:48 +09:00
Felipe Magno de Almeida 2544456819 eio: Fix eio model children count in initialization of children model 2017-09-07 12:36:48 +09:00
Amitesh Singh ef1c178a28 Revert "elm: rename elm spinner to Efl.Ui.Spinner"
This reverts commit 9836116cab.

This is based on discussion today i had.
There would be a separate minimal spinner class instead
which facilates ways to extend it.
2017-09-07 11:18:08 +09:00
Daniel Zaoui b71612eb20 cxx: generate a constructor with a parent and a lambda function
Until now, one could not invoke functions into the constructor of a
widget possessing a parent. It is needed for widgets such as Efl.Ui.Check
where style is needed during construction.

@fix T5980
2017-09-07 01:29:57 +03:00
Jaehyun Cho 68b6a8f29f naviframe: Fix to finish transition for newly pushed item
Suppose naviframe top item is "A" and a new item "B" is newly pushed.
In this case, if "A" is deleted by elm_object_item_del() before
transition for "B" is started, then signal for "B" is also not sent and
"B" does not become visible.

The above issue happened if the transition effect was implemented by
using deferred signals (i.e. "pushed,deferred" and "popped,deferred").

To resolve the above issue, the signal only for the deleted item is not
sent.

Suppose naviframe top item is "A" and a new item "B" is newly pushed.
In this case, if "B" is deleted by elm_object_item_del() before
transition for "B" is started, then signal for "A" is still sent and "A"
becomes invisible.

To resolve the above issue, if the deleted item is the top item and it
is in the middle of item push, then all the signals related to the
deleted item are not sent.
2017-09-06 20:35:38 +09:00
Jaehyun Cho 26bacce0fd Revert "naviframe: Fix to finish transition for newly pushed item"
This reverts commit 8574128b67.
2017-09-06 20:35:35 +09:00
Shinwoo Kim 2f6e28881e elementary: atspi accessible name uses plain text
The markup information of accessible name is not necessary.
2017-09-06 19:54:59 +09:00
Felipe Magno de Almeida 1cfc96dd5b eo-cxx: Fix ompilation error for uncomplete Eina_Future type 2017-09-06 17:03:36 +09:00
Amitesh Singh ab3d082208 elm test: slider: Add limited interval slider example. 2017-09-06 14:04:45 +09:00
Jaehyun Cho 618c123341 evas_language_utils: Fix build error without NLS 2017-09-06 11:19:28 +09:00
Shinwoo Kim 0e885e41e5 elementary: enhance accessible name of elm_entry
The accessible name of elm_entry was guide text.
The accessible name of elm_entry should be its text.
If there is not text information, then guide text is using for accessible name.
2017-09-06 09:58:07 +09:00
Jean-Philippe Andre 4b10cf2e40 filters: Fix GL support aka. cedric's bork 2017-09-06 09:12:28 +09:00
Jean-Philippe Andre c0514d948a filters: Safety++
This is an attempt at fixing crashes in empc.
Test scenario:
  ELM_ACCEL="" elementary_test -to "Gfx Filters"
  And mouse scroll like crazy in the spinner.

@fix
2017-09-06 09:12:28 +09:00
Cedric Bail 743c80ad8b eina: properly mark memory for valgrind before accessing it in one_big mempool. 2017-09-05 17:01:03 -07:00
Derek Foreman 1848f9a8e6 ecore_drm2: Better handling of blank time checks
On some systems we'll successfully complete the vblank ioctl but get
a reply of 0.  When that happens we can't use that time for ticking
as it will break all of the entire world.

Fixes immediate screen blank on rpi3.

@ref T5977
2017-09-05 12:12:30 -05:00
Marcel Hollerbach e1738c4f1e Revert "evas_thread: only join the thread if the thread is still alive"
This reverts commit e41d46c635.

This seems to be wrong
2017-09-05 14:36:17 +02:00
Marcel Hollerbach e41d46c635 evas_thread: only join the thread if the thread is still alive
otherwise we might join a invalid thread id, that could lead to a
deadlock. Lets not do that.

ref T5245

@fix
2017-09-05 14:15:40 +02:00
Jaeun Choi 61381f6e35 elm_panel: set content as a sub object of panel object
since sd->bx is not an elm object, it is excluded from parent-child tree.
in case of a non-scrollable panel, the content needs to be attached to the tree
as a child of panel object directly.
2017-09-05 17:09:37 +09:00
Amitesh Singh 373e6a0918 eina: fix compilation after b0rking in c9a0237770
Ref T5966
2017-09-05 16:22:33 +09:00
Thiep Ha aced128e85 eina_promise: remove shadowed declaration warning 2017-09-05 15:56:00 +09:00
Thiep Ha 60aa0f2389 focus_manager: remove unused parameter warning 2017-09-05 14:44:21 +09:00
Thiep Ha 6a8cf155a3 textpath: correct map point number
The last map point is not counted if seg is too small.
Test: change start angle to 3, the last segment is missed.
2017-09-05 14:19:59 +09:00
Thiep Ha 54d1cc38a1 textpath: remove legacy api support 2017-09-05 12:09:08 +09:00
Thiep Ha 967e94dc6b textpath: do not process line if failed to allocate segment 2017-09-05 12:02:01 +09:00
Thiep Ha b55cb4feb1 textpath: correct data gets from path
values of px0, py0 should be stored from previous command.
2017-09-05 11:55:07 +09:00
Jean Guyomarc'h b5e7a00681 eina: fix destruction of the osx semaphores
Well... that's just embarassing... semaphore_destroy() actually takes
the mach task as its first parameter, not the second. This core
amazingly worked very fine on macOS earlier than Sierra.

Fixes T5245
2017-09-05 00:45:04 +02:00
Jean Guyomarc'h 660e76a562 ecore: fix return value 2017-09-04 19:59:35 +02:00
Guilherme Iscaro de4825a274 efl_io_copier: Use the new Eina_Future API. 2017-09-04 10:24:00 -03:00
Guilherme Iscaro ec27ceac27 efl_net: Use the new Eina_Future API. 2017-09-04 10:24:00 -03:00
Gustavo Sverzut Barbieri 22cee38239 Efl_Loop: add job, timeout and idle based on Eina_Future.
Since some clash with old version, then add Eina_FutureXXX to their
name, later we'll sed.
2017-09-04 10:24:00 -03:00
Gustavo Sverzut Barbieri 8e80d3d2dc export efl_future_then() for Eina_Future syntax sugar.
This is actually written as efl_future_Eina_FutureXXX_then() as the
old API clashes, after removing the old code we'll "sed" to fix those.
2017-09-04 10:24:00 -03:00
Gustavo Sverzut Barbieri d258774c2a Eina_Future: add eina_future_resolved()
This is a helper that creates a promise, then a future and immediately
resolves the promise, this will let the future be dispatched as usual,
from a clean main loop context.
2017-09-04 10:24:00 -03:00
Guilherme Iscaro 3ba9f25cf7 Eina_Promise/Eina_Future: Add example and tests. 2017-09-04 10:24:00 -03:00
Guilherme Iscaro d12c652a96 Efl_Object: Add integration with Eina_Future.
This commit adds the EO support for the new future infra.
From now on there's no need to efl_future_link()/efl_future_unlink()
object and futures since the new API already handles that internally.
2017-09-04 10:24:00 -03:00
Guilherme Iscaro 5bd8c9a78d Eina: Add Eina_Promise/Eina_Future.
This commit adds a new promise/future API which aims to replace
efl_future.
2017-09-04 10:24:00 -03:00
Cedric Bail c9a0237770 eina: properly track valgrind use of the mempool.
T5966
2017-09-04 03:12:57 -07:00
Youngbok Shin bf1c0e2657 evas: proceed glyph iterator to handle next index properly
Summary:
When harfbuzz is enabled, _content_create_ot() function will be used
for shaping. If evas_common_font_int_cache_glyph_get() failed in some reason,
it never proceed gl_itr until the end.
It can cause weird rendering result. Because, all of gl_itr after the failure
can't have proper x_bear, y_bear and width.
@fix

Test Plan: N/A

Reviewers: raster, cedric, herdsman, jpeg

Differential Revision: https://phab.enlightenment.org/D5154
2017-09-04 10:18:05 +03:00
Jaehyun Cho 8574128b67 naviframe: Fix to finish transition for newly pushed item
If current item was deleted while new item was pushed, then the signals
for the newly pushed item was not sent.

The above issue happened if the transition effect was implemented by
using deferred signals (i.e. "pushed,deferred" and "popped,deferred").

To resolve the above issue, the signals only for the deleted item is not
sent.
2017-09-04 15:35:23 +09:00
Marcel Hollerbach c51f35d42a elm_widget: move the complete regsiter/unregister logic
We had here a little problem, state focus_state_eval function handled
the unregisteration and consideration of the focus flags and then only
called a helper function (which was a widget function), that then did
the registeration in logical or regular mode.

Elm scroller for example took that function overwrote it and did onyl
permit logical registrations. Then again a evaluation of the focus state
and flags took place, and the function considered elm_scroller should be
registered as regular object, but found it to be logical. This lead to
the problem that we permantently unregistered Elm.Scroller and
registered it again as logical just to unregister it again. This was on
the one side a performance downside. But also a bug since all items from
within the Elm_Scrollers sub manager are getting reparent onto the
parent, which means not the root of the scroller (the scroller itself)
is the logical entrypoint to the widget but rather this reparented
widget, which led to unexpected focus  warps like described in T5923.

tldr: this fixes T5923
2017-09-02 21:10:56 +02:00
Marcel Hollerbach 3af81932b0 efl_ui_focus_manager: present a slightly better error message
with this and the backtrace you can probebly figure out if you just
registered the same widget twice for different types
2017-09-02 20:06:15 +02:00
Marcel Hollerbach 3f379b6d49 efl_ui_focus_manager_sub: not needed anymore, handled by calc 2017-09-02 20:06:15 +02:00
Marcel Hollerbach e265dc285a elm_widget: eval everything when the parent changes 2017-09-02 20:06:15 +02:00
Marcel Hollerbach 6a12d9c367 efl_ui_win: specify the correct manager
a widget in higher hirachies is not registered in the lower one.
2017-09-02 20:06:15 +02:00
Marcel Hollerbach ab2b9d9a3c efl_ui_focus_manager_calc: do not swallow a focus event
if we have been redirecting before, we would have lost that event due to
  the element here beeing at the top of that focus stack
2017-09-02 20:06:15 +02:00
Marcel Hollerbach b846545072 efl_ui_focus_manager_sub: make it a mixin
This just brings the functionality, the manager that is used as sub can
still be decided and be brought in via inheritance or compositition
2017-09-02 20:06:15 +02:00
Carsten Haitzler f53ea559a1 ecore_exe - fix failed finalize fork to reutrn NULL not ecore_exe_free
dont delete the obj during finalize... just retyurn NULL to fail.
fork() failed for me so i found this... ask not why fork failed... but
it did... and thus found this error handling case.

@fix
2017-09-02 22:33:00 +09:00
Carsten Haitzler d42ec53154 wayland_shm - clean out ptrs after free - seeing invalid mem/ptr access
enlightenment internal windows insta segv e on rpi. after much hunting
it seems a fallback is happening and bunk ptrs are being used. this at
least will make the problems more reliable with null ptrs.
2017-09-02 21:53:23 +09:00
Derek Foreman 6e30535a3c wayland_shm: Try a little harder to verify exynos dmabuf capabilities
Turns out the "device_open" function pretty much just tests calloc
functionality, and doesn't open any device.  So let's allocate a
tiny bo and discard it to make sure we're actually on exynos.
2017-09-01 14:50:40 -05:00
Derek Foreman e368896145 elm_win: Stop hiding the mouse cusor on window out under wayland
We needed to do this to prevent burning cpu with animated cursors
before we did frame callback based animating.

Now the compositor will stop our frame callbacks when our cursor
is implicitly visible when the pointer isn't over our window,
so we don't have to use window hides for it.
2017-09-01 13:32:50 -05:00
Mike Blumenkrantz 610f514176 evas: fix event grabber child stacking
broken in 0516cdc0f9

@fix
2017-09-01 13:42:18 -04:00
Mike Blumenkrantz 5a9df96d9c evas: handle object names with a list hash
a canvas can have multiple objects with the same name. assuming that name:obj
is a 1:1 ratio means that name-finding functions are likely to return invalid
objects

@fix
2017-09-01 13:42:18 -04:00
Derek Foreman 1f555c897e ecore_wl2: Don't set up callbacks on initial commit
We don't want to do frame callbacks until after we can actually draw stuff
2017-09-01 12:29:05 -05:00
Daniel Kolesa 0af3254020 eolian: fix float parsing with locales with ',' decpoint 2017-09-01 16:08:10 +02:00
Mykyta Biliavskyi 8c4e4811fd Software gdi: fix build on Windows.
Summary:
Function argument was renamed, but in function body still uses old
variable name.

Test Plan: Build on Windows host

Reviewers: cedric, vtorri

Reviewed By: vtorri

Subscribers: jpeg

Tags: #windows, #efl

Differential Revision: https://phab.enlightenment.org/D5152
2017-09-01 13:50:34 +03:00
Amitesh Singh 9836116cab elm: rename elm spinner to Efl.Ui.Spinner
Ref T5900
2017-09-01 14:08:21 +09:00
Jean-Philippe Andre 8f10ed091c efl_config: Fix type of returned value (EO)
An ugly const char * is returned from strdup, freed later with a custom
function that just calls free(). This was probably intended for
stringshare but now free is used. We have to fix the free function for
the EO API so let's keep free(). I'd rather avoid declaring
elm_config_profile_dir_free in the EO files.
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 23d250efef elm: Drop unused class inheritance (EO) 2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 66a355d565 elm_test: Scale down icon by 8x
This makes the icon test actually work. Otherwise the icon data is too
big and basically seems ignored by the compositor or X.

Note: In E (X11) it seems that the window icon remains unchanged? xprop
shows the proper data, though. Ping @zmike.
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre f4ed430ddc eina_array: Fix magic checks to return
The EINA_MAGIC check inside eina_array were just printing the error
message, without failing. This could lead to more crashes than
necessary.

@fix
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre cfe8170624 win: Fixup doc & code of icon_object
Ref T5322
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 74290355da win: Use array for available_profiles (EO)
The legacy API wraps the EO API.
All tested with "Configuration" test case in elm_test.

Ref T5322
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 4d6bb96e8d win: Drop calls to lower when using the EO API
Note: The distinction is made on how the window was created, not on
which API is used (evas_object_lower or efl_gfx_stack_lower or
elm_win_lower).

Ref T5322
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre f88f0798ba win: Implement raise from stack (EO)
I think the intercept is not required anymore. All raise functions call
the ecore evas raise function.

Ref T5322
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 9633023511 focus: Fix shadow warning 2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 4e81df7cb2 widget: Forward focus_highlight_style to win
See the previous commits. All focus_highlight APIs are defined in the
Widget class but only implemented at the Window level. For consistency I
believe this call should also be forwarded to the window. The previous
logic had absolutely no effect at all, except storing a stringshare.

The day focus_highlight becomes widget-specific (i.e. each widget has
its own highlight style) then this can be changed.

Note: This will apply to legacy API as well.

Ref T5363
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre b40d8296ff win: Move focus_highlight_animate to widget (EO)
Similar to the previous commits. Moved for consistency.

Ref T5363
Ref T5322
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 94632f8a44 win: Move focus_highlight_enabled to widget (EO)
This was actually declared in the internal legacy API in widget.
Forwards the calls to the window.

Ref T
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 0972c49438 win: Merge focus_highlight_style with widget (EO)
Note: elm_test "Focus Style" can be used to test this API. The test case
is a bit broken (overly complex EDC?) but if you're patient you can see
the difference between "glow" and "glow_effect".

Ref T5363
Ref T5322
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre c0d7ea4af0 widget: Rename on_focus to on_focus_update (EO)
on_focus seems to imply that focus was just given to the widget, but
that function is called on any focus change (in and out).

Ref T5363
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 89492d859b win: Merge focus with elm_widget's (EO)
I believe this should work fine!

Ref T5363
Ref T5322
2017-09-01 10:09:37 +09:00
Jean-Philippe Andre 4b74ca477d gfx_size_hint: Fix int vs. double (EO)
Thanks Sanghyeon for letting me know!
2017-09-01 10:09:37 +09:00
Derek Foreman d0b8c41f92 ecore_wl2: Fix session recovery
I broke this in commit 1bb45f6e61

We intentionally *don't* flush in window_semi_free, as this could be
when there's no compositor left to flush to (in the case of session
recovery).
2017-08-31 11:17:34 -05:00
Stefan Schmidt 7aa42c4e75 docs: elm/evas: document some missing return values
With this patch we finally reached 100% doc coverage in EO files again.
It would be nice to keep it like this.
2017-08-31 17:37:52 +02:00
Stefan Schmidt 1a518e85cf docs: efl_canvas_object: document last missing part 2017-08-31 17:37:22 +02:00
Stefan Schmidt d2705bb511 docs: efl_ui_panes: document last missing part 2017-08-31 17:35:48 +02:00
Stefan Schmidt 1325cd08fa docs: elm_widget: document function pointer for on show region 2017-08-31 17:35:04 +02:00
Stefan Schmidt d249423f57 docs: efl_ui_focus_manager: fill in missing docs 2017-08-31 17:34:23 +02:00
Stefan Schmidt 8b4ef410c3 docs: efl_text_annotate: fill in missing documentation 2017-08-31 17:33:01 +02:00
Stefan Schmidt 30b357bd1b docs: efl_inout_device: fill in missing docs 2017-08-31 17:32:21 +02:00
Stefan Schmidt 2866839754 docs: even give the external types some documentation 2017-08-31 17:29:31 +02:00
Stefan Schmidt f4fcb65bb4 docs: efl_text_cursor: add missing documentation for many parts 2017-08-31 16:15:32 +02:00
Stefan Schmidt 72f16b48ba docs: efl_text_font: fill in missing parts of documentation 2017-08-31 15:26:17 +02:00
Stefan Schmidt fedef597cf docs: efl_text_format: fill missing parts documentation 2017-08-31 15:16:17 +02:00
Stefan Schmidt 52d6cb7612 docs: efl_text_style: fill in missing documentation parts 2017-08-31 15:03:47 +02:00
Stefan Schmidt 6dd83b3034 docs: efl_text_style: document color components in styles
RGBA should be pretty clear for most cases but it does not cost us much
to document these values as well and make the documentation maybe easier
to understand for some people.
2017-08-31 14:42:26 +02:00
Stefan Schmidt 299a507319 docs: efl_ui_textpath: add documentation for all other missing parts
When bringing in new EO files I would appreciate if people would
document all parts. Even if they seem small and self explaining.
2017-08-31 13:17:17 +02:00
Stefan Schmidt 7c4bf80fd9 docs: efl_ui_textpath: document newly added textpath direction enum 2017-08-31 11:47:03 +02:00
Stefan Schmidt 6e3def3a60 docs: efl_ui_manager: document newly added struct
This was added recently and thus has a since 1.21 tag
2017-08-31 11:42:02 +02:00
Stefan Schmidt 9c3ace8c6d docs: evas_canvas_text: document missing events 2017-08-31 11:25:13 +02:00
Carsten Haitzler bd6dcbb044 elm focus manager - dont leak child lists when updating focus order
REALLY fix T5800 by duplicating lists rather than taking ownership

@fix
2017-08-31 17:34:30 +09:00
Carsten Haitzler d0aefa87bf focus manager - fix spelling of variable
saved_order not safed_order
2017-08-31 16:45:49 +09:00
Carsten Haitzler 514e5a6d33 elm - focus manager - revert free list
revert 65d2dfc892

no no. this fixes the leak ... but it adds new segv bugs. revrt it.
2017-08-31 16:43:31 +09:00
Jaehyun Cho 6353194546 naviframe: Fix to load default style if the given style does not exist
Naviframe item theme name is combined with item style name and widget
style name.
Therefore, if the item theme name is not found, then "item/basic" item
style name should be loaded as a default item style name.
2017-08-31 16:30:28 +09:00
Carsten Haitzler 65d2dfc892 elm focus manager - dont leak child lists when updating focus order
this should fix T5800

@fix
2017-08-31 16:17:15 +09:00
Woochan Lee f4522d4124 efl_ui_clock: Add 'O' character to ignore POSIX alternative format in format.
Summary:
_parse_format() function filtering "_/-/0/^/*" to filter POSIX alternatvie/extension formats,
But the Datetime do not appear in some locale(fa_IR, lzh_TW, my_MM, or_IN) with 'O'.

+ improve code. (not compare with all of the characters. instead of that using strchr)

https://lh.2xlibre.net/values/d_t_fmt/

@fix

Test Plan: Set locale as fa_IR and create DateTime. and see fields, not appears.

Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5020
2017-08-31 14:16:26 +09:00
Jean-Philippe Andre 71824e1fe0 mbe: Fix infinite recursion on focus change
Ref D4882
2017-08-31 14:14:50 +09:00
Woochan Lee 5eb001dd35 multibuttonentry: Separate selected item and focused item logic.
Summary:
When user set a selected item on MBE creation time.
The internal logic will be broke.
So we need to separate logic them.

@fix

Test Plan:
Calling elm_multibuttonentry_item_selected_set() before MBE got a focus. in elementary_test.

Reviewers: cedric, jpeg, woohyun

Subscribers: bu5hm4n, marcelhollerbach, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4882
2017-08-31 14:01:05 +09:00
Jean-Philippe Andre 94d671c971 widget: Fix legacy for focus_mouse_up_handle (EO)
This removes the special code in the legacy API for
elm_widget_focus_mouse_up_handle. Add an internal helper to find the
first widget parent. And mark as protected.
Apparently this functions is still required for the new focus manager.

Ref T5363
2017-08-31 13:48:05 +09:00
Jean-Philippe Andre b6bab481aa widget: Mark old focus API as beta.
It's not beta. It's about to die.
Also, move #define ELM_WIDGET_BETA to the common header file, as it is
consequently required by ALL widgets. :(

Ping @bu5hm4n :)

Ref T5363
2017-08-31 11:22:04 +09:00
Marcel Hollerbach 0b3a14a387 efl_ui_focus_manager_calc: only focus none NULL candidates 2017-08-30 22:39:52 +02:00
Marcel Hollerbach ea5b0bdfde efl_ui_focus_manager: make logical_end work better
it turns out that we should also repsect logical elements that are
having a redirect_manager, since they are more at the "end" then a
potential regular node.

The user now needs to handle the logical_end call on this manager, or
handle at all what he wants to do with this information.

efl_ui_win now handles it in the way that it just focuses that logical
node, (which results in the redirect manager beeing set, then calling
again logical_end on that manager. Repeating this until we have finally
found a regular node that does fit out needs.
2017-08-30 22:39:52 +02:00
Derek Foreman 57d5b5921e ecore_wl2: Kill the wl idle enterer
We do flushes when we need them now, so we don't need this somewhat
non deterministic flush mechanism anymore.

Anything that breaks as a result of this should be fixable by adding an
ecore_wl2_display_flush() somewhere appropriate.
2017-08-30 15:08:53 -05:00
Derek Foreman 1bb45f6e61 ecore_wl2: Use ecore_wl2_window_commit for all wl_surface_commits
This adds an explicit flush to every surface commit.
2017-08-30 15:08:53 -05:00
Chris Michael 114f559e23 ecore-wl2: Formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-08-30 15:50:12 -04:00