Commit Graph

55481 Commits

Author SHA1 Message Date
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
Vincent Torri da7876a9b8 eina: compilation fixed on OpenIndiana
socket library must be passed as connect() is used in eina_db

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-09-12 17:03:23 -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