platform/upstream/efl.git
6 years agoedje: Oops. Remove edje_global include as well.
Jean-Philippe Andre [Wed, 8 Nov 2017 11:16:28 +0000 (20:16 +0900)]
edje: Oops. Remove edje_global include as well.

6 years agoedje: Hide edje_global from the rest of the world
Jean-Philippe Andre [Wed, 8 Nov 2017 10:29:13 +0000 (19:29 +0900)]
edje: Hide edje_global from the rest of the world

Call provider_find on the loop (or basically any object) with the
color/text/size class interface instead, to find it. The main loop is
the main holder of those objects.

Note: This makes use of provider_find instead of direct access to the
variable, in order to self-test the code. In theory release builds will
not do this and user directly the variable.

6 years agoEfl: add class interfaces (color/text/size)
Jee-Yong Um [Wed, 8 Nov 2017 10:04:26 +0000 (19:04 +0900)]
Efl: add class interfaces (color/text/size)

Summary: implement Efl.Gfx.Class interface

Reviewers: jpeg, cedric

Subscribers: taxi2se, herdsman

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

6 years agoeo: Rename efl_ref_get to efl_ref_count
Andy Williams [Wed, 8 Nov 2017 09:30:42 +0000 (09:30 +0000)]
eo: Rename efl_ref_get to efl_ref_count

6 years agounbreak efl so e works again.... after cedric
Carsten Haitzler (Rasterman) [Wed, 8 Nov 2017 06:42:28 +0000 (15:42 +0900)]
unbreak efl so e works again.... after cedric

we cant go iterating the mainloop before the current point. if someone
set up handlers but hasnt configured the things those handles use yet
as they dont expect them to be used until the mainloop is started...
thenthings break. we cant change this assumption without breaking
things.

6 years agowin: Fix alpha windows
Jean-Philippe Andre [Wed, 8 Nov 2017 07:17:29 +0000 (16:17 +0900)]
win: Fix alpha windows

Fixes T6334

6 years agoevas/vg: changed the efl_vg_dup api signature.
subhransu mohanty [Wed, 8 Nov 2017 06:49:37 +0000 (15:49 +0900)]
evas/vg: changed the efl_vg_dup api signature.

Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

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

6 years agotests: Properly define access beta/protected
Jean-Philippe Andre [Wed, 8 Nov 2017 05:18:05 +0000 (14:18 +0900)]
tests: Properly define access beta/protected

This solves warnings (and likely errors) in the make check test cases
for ATSPI, since most of efl_access APIs are now marked as beta.

6 years agoeina: Fix spelling/punctuation errors in documentation (prefix..promise)
Bryce Harrington [Wed, 8 Nov 2017 06:20:34 +0000 (15:20 +0900)]
eina: Fix spelling/punctuation errors in documentation (prefix..promise)

Reviewers: cedric, ajwillia.ms

Subscribers: jpeg, segfaultxavi

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

6 years agofocus: Some typos for efl_ui_focus_manager fixed
Pawel Aksiutowicz [Wed, 8 Nov 2017 06:14:53 +0000 (15:14 +0900)]
focus: Some typos for efl_ui_focus_manager fixed

Reviewers: stanluk, lukasz.stanislawski

Subscribers: lukasz.stanislawski, cedric, jpeg

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

6 years agoefl - fix build after cedric breakage
Carsten Haitzler (Rasterman) [Wed, 8 Nov 2017 06:05:11 +0000 (15:05 +0900)]
efl - fix build after cedric breakage

25b6a280c087d39f66e30c9c4d07f86b97c989d6 broke the build...
specifically building AGAINST efl.

6 years agoelementary: fix quicklaunch support.
Cedric BAIL [Tue, 7 Nov 2017 23:55:25 +0000 (15:55 -0800)]
elementary: fix quicklaunch support.

6 years agoelementary: refactor and clean efl_quicklaunch_prepare.
Cedric BAIL [Tue, 7 Nov 2017 23:53:44 +0000 (15:53 -0800)]
elementary: refactor and clean efl_quicklaunch_prepare.

6 years agoelementary: fix ELM_MAIN macro to properly expose symbol.
Cedric BAIL [Tue, 7 Nov 2017 23:51:52 +0000 (15:51 -0800)]
elementary: fix ELM_MAIN macro to properly expose symbol.

6 years agoelementary: add debugging information to quicklaunch binary.
Cedric BAIL [Tue, 7 Nov 2017 23:50:13 +0000 (15:50 -0800)]
elementary: add debugging information to quicklaunch binary.

6 years agoelementary: use efl_exit to leave the mainloop instead of direct use of exit.
Cedric BAIL [Tue, 7 Nov 2017 23:49:38 +0000 (15:49 -0800)]
elementary: use efl_exit to leave the mainloop instead of direct use of exit.

6 years agoevas: rely on ecore to reset evas rendering thread on fork.
Cedric BAIL [Tue, 7 Nov 2017 23:47:28 +0000 (15:47 -0800)]
evas: rely on ecore to reset evas rendering thread on fork.

6 years agoevas: rely on ecore to reset upscaler thread on fork.
Cedric BAIL [Tue, 7 Nov 2017 23:47:09 +0000 (15:47 -0800)]
evas: rely on ecore to reset upscaler thread on fork.

6 years agoevas: rely on ecore to reset ecore_pipe for evas_async_events.
Cedric BAIL [Tue, 7 Nov 2017 23:45:03 +0000 (15:45 -0800)]
evas: rely on ecore to reset ecore_pipe for evas_async_events.

Ecore being a dependency of evas, let's make our life easier and
rely on ecore to tell us when to reset pipe due to a fork instead
of trying to guess.

6 years agoecore: introduce ecore_init_ex/ecore_shutdown_ex to propagate argc,argv properly.
Cedric BAIL [Mon, 6 Nov 2017 21:49:18 +0000 (13:49 -0800)]
ecore: introduce ecore_init_ex/ecore_shutdown_ex to propagate argc,argv properly.

6 years agoecore: report startup time of the main loop with EFL_FIRST_LOOP environment variable.
Cedric BAIL [Mon, 6 Nov 2017 19:06:21 +0000 (11:06 -0800)]
ecore: report startup time of the main loop with EFL_FIRST_LOOP environment variable.

6 years agoecore,elementary: move startup time accounting in ecore.
Cedric BAIL [Mon, 6 Nov 2017 18:52:36 +0000 (10:52 -0800)]
ecore,elementary: move startup time accounting in ecore.

6 years agoelementary: move Efl new general purpose API to efl_general.h
Cedric BAIL [Mon, 6 Nov 2017 18:28:15 +0000 (10:28 -0800)]
elementary: move Efl new general purpose API to efl_general.h

6 years agoefl net - handle proxy helper fails better and abort proxy lookups
Carsten Haitzler (Rasterman) [Tue, 7 Nov 2017 13:41:20 +0000 (22:41 +0900)]
efl net - handle proxy helper fails better and abort proxy lookups

if proxy fails are too many then give up on queued lookups as they
likely will continue. i noticed a process continually spawning efl net
proxy helper because one queued lookup failed and could be looked up
so it kept trying again and again.

@fix

6 years agocxx: Fix slider example
Jean-Philippe Andre [Tue, 7 Nov 2017 13:21:13 +0000 (22:21 +0900)]
cxx: Fix slider example

The fix is not complete. We need to make efl_part() work nicely in C++:
 - Get the refs work properly (maybe without auto-del)
 - Generate the parts from the EO file as methods on the object

Final form should be close to:
  slider.indicator().format_string_set("%1.2f");

Where everything autocompletes nicely :)

6 years agoslider: Export the part class
Jean-Philippe Andre [Tue, 7 Nov 2017 13:17:04 +0000 (22:17 +0900)]
slider: Export the part class

It needs to be exposed for things like c++ and others to work.

6 years agoslider: Advertise indicator part in the EO file
Jean-Philippe Andre [Tue, 7 Nov 2017 13:00:32 +0000 (22:00 +0900)]
slider: Advertise indicator part in the EO file

There are 3 other indicator APIs that aren't in the part class... why?

6 years agoevas: Yet another OSX build fix...
Jean-Philippe Andre [Tue, 7 Nov 2017 12:53:45 +0000 (21:53 +0900)]
evas: Yet another OSX build fix...

Please tell me this is the last one

6 years agoexample: Add elocation to elm build
Lauro Moura [Tue, 7 Nov 2017 12:49:26 +0000 (21:49 +0900)]
example: Add elocation to elm build

Summary:
9d2dcd92 requires elocation to build.

cxx examples still broken due to elm cleanup

Test Plan: make examples

Reviewers: jpeg, felipealmeida

Subscribers: cedric

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

6 years agoefl_ui_radio: keep radio state when theme is changed
Sungtaek Hong [Tue, 7 Nov 2017 12:08:40 +0000 (21:08 +0900)]
efl_ui_radio: keep radio state when theme is changed

Summary:
during elm_widget_theme_apply() state was set to off when state is on.
@fix

Test Plan: change locale/theme when a radio is on.

Reviewers: jpeg, cedric, woohyun

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

6 years agoevas: Another attempt at fixing OSX build
Jean-Philippe Andre [Tue, 7 Nov 2017 11:15:48 +0000 (20:15 +0900)]
evas: Another attempt at fixing OSX build

Build failed with LKI not found, as a symbol, but it's a macro.
Copy & pasted from evas_common_private.h
How can this work on one platform and not another? I don't get it...

6 years agoeina: Fix spelling errors in documentation (matrixsparse..module)
Bryce Harrington [Tue, 7 Nov 2017 08:59:02 +0000 (08:59 +0000)]
eina: Fix spelling errors in documentation (matrixsparse..module)

Reviewers: cedric, ajwillia.ms

Subscribers: segfaultxavi, jpeg

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

6 years agoeina freeq - make it clear that content is invalid on submission
Carsten Haitzler (Rasterman) [Tue, 7 Nov 2017 08:35:52 +0000 (17:35 +0900)]
eina freeq - make it clear that content is invalid on submission

and that the free function cannot access content of the pointer
(unless the pointer memory size is 0).

6 years agoeo - fix freeq usage to not use freeq for a vtable cleaning
Carsten Haitzler (Rasterman) [Tue, 7 Nov 2017 08:34:30 +0000 (17:34 +0900)]
eo - fix freeq usage to not use freeq for a vtable cleaning

the freeq can't allow things to access the content of the pointer
because the content canbe written over by canary handling qhen
submitted to the freeq. clear it inline then just submit the final
pointer to the freeq.

@fix

6 years agoelm win - note need for other display system code...
Carsten Haitzler (Rasterman) [Tue, 7 Nov 2017 07:39:26 +0000 (16:39 +0900)]
elm win - note need for other display system code...

6 years agoEfl.Ui.Slider: implement Slider.part & Ui.format functions
Amitesh Singh [Tue, 7 Nov 2017 04:28:01 +0000 (13:28 +0900)]
Efl.Ui.Slider: implement Slider.part & Ui.format functions

indicator_format_set/get & indicator_format_function_set are
now legacy APIs.
indicator format can be set by using generic Ui.Format function
e.g.
efl_ui_format_string_set(efl_part(sliderObj, "indicator"), "1.0%f");

6 years agoelm: Fix make check (code_widget)
Jean-Philippe Andre [Tue, 7 Nov 2017 05:59:01 +0000 (14:59 +0900)]
elm: Fix make check (code_widget)

elm_code_widget is causing a lot of trouble as it's relying on internal
access to elementary, without being built as part of elementary.so. Many
EAPI symbols are exported that shouldn't need to be, as they are only
internals of elm.

6 years agoevas: Fix make check
Jean-Philippe Andre [Tue, 7 Nov 2017 05:56:00 +0000 (14:56 +0900)]
evas: Fix make check

Because of this I couldn't test my previous patches properly and now
realized that I also broke make check... >_<

See D5419

6 years agoelm: Fix ui.win "bg" test case
Jean-Philippe Andre [Tue, 7 Nov 2017 05:51:12 +0000 (14:51 +0900)]
elm: Fix ui.win "bg" test case

elm_colorselector is legacy only (for now, unfortunately).
This means that elm_colorselector_class_get() crashes with weak linking.
Strong linking would make the compilation fail.

6 years agoelm: Create legacy widgets with elm_legacy_add
Jean-Philippe Andre [Tue, 7 Nov 2017 05:00:43 +0000 (14:00 +0900)]
elm: Create legacy widgets with elm_legacy_add

This will be used to solve issues around style_set:
if the widget is legacy or pure eo we may need to select a different
style. So in the constructor we need to know whether we are legacy or
eo. Note that calling style_set in finalize only is too late as we would
lose information such as efl_text_set() called inside efl_add().

6 years agoelm: Don't do anything before construction
Jean-Philippe Andre [Tue, 7 Nov 2017 05:26:37 +0000 (14:26 +0900)]
elm: Don't do anything before construction

Obviously ui.win is still the ugly exception.

6 years agoelm: Call efl_access_type_set after construction
Jean-Philippe Andre [Tue, 7 Nov 2017 05:03:19 +0000 (14:03 +0900)]
elm: Call efl_access_type_set after construction

I don't think it is necessary to call this before construction, and that
could instead lead to issues. It's just weird overall.

6 years agoefl ui win - make win centering work with multiple screens
Carsten Haitzler (Rasterman) [Tue, 7 Nov 2017 04:52:31 +0000 (13:52 +0900)]
efl ui win - make win centering work with multiple screens

this should fix T6323
@fix

6 years agoevas_vg_load_svg: get rid of static Evas_SVG_Parsing
Vitalii Vorobiov [Tue, 7 Nov 2017 02:41:36 +0000 (11:41 +0900)]
evas_vg_load_svg: get rid of static Evas_SVG_Parsing

Summary:
Refactoring.
It is good to store values from that struct in a parsing/loading context

static variable is a big NO NO:
1. Ugly code design,
2. Might not work when trying to load more than one SVG file.

@fix

Reviewers: jpeg, smohanty

Subscribers: jenkins, cedric

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

6 years agoevas_vg_load_svg: default stop opacity color should be 255, not 0
Vitalii Vorobiov [Thu, 16 Mar 2017 15:55:26 +0000 (17:55 +0200)]
evas_vg_load_svg: default stop opacity color should be 255, not 0

@fix

6 years agovg_common: property apply "objectBoundingBox" morphings to radial gradient
Vitalii Vorobiov [Thu, 16 Mar 2017 12:53:49 +0000 (14:53 +0200)]
vg_common: property apply "objectBoundingBox" morphings to radial gradient

When objectBoundingBox flag is set up, all gradients should morphed into
multiple gradients for every entity that has gradient to be applied on

6 years agosvg_parse: parse correct values for radialGradient
Vitalii Vorobiov [Wed, 22 Feb 2017 11:02:31 +0000 (13:02 +0200)]
svg_parse: parse correct values for radialGradient

Especially Radius calculation which was a huge pain to find formula
within SVG documentations!

6 years agovg_common: apply related coordinates for linear gradient
Vitalii Vorobiov [Tue, 21 Feb 2017 15:40:15 +0000 (17:40 +0200)]
vg_common: apply related coordinates for linear gradient

multiply it with object size or with view box sizes depending on
gradientUnits value

6 years agosvg_parse: parse linear gradient variables accroding to gradientUnits
Vitalii Vorobiov [Fri, 17 Feb 2017 15:00:01 +0000 (17:00 +0200)]
svg_parse: parse linear gradient variables accroding to gradientUnits

There are difficult cases according to
https://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html

6 years agosvg_parse: implement <length> parse
Vitalii Vorobiov [Fri, 17 Feb 2017 11:00:54 +0000 (13:00 +0200)]
svg_parse: implement <length> parse

Accodring to https://www.w3.org/TR/SVG/types.html#Length
length ::= number ("em" | "ex" | "px" | "in" | "cm" | "mm" | "pt" | "pc" | "%")
This is still work in progress since some of lengths should be treated
differently, for example gradient lengths

6 years agosvg_parse: save global size variable to use when gradient size recalc
Vitalii Vorobiov [Tue, 14 Feb 2017 15:51:13 +0000 (17:51 +0200)]
svg_parse: save global size variable to use when gradient size recalc

For example while userSpaceOnUse it uses not figure's x,y,w,h
but entire canvas, so we need to save it publically and recalc while
parsing (or after)

6 years agovg_common: parse and store userSpaceOnUse (for gradient) when it is set
Vitalii Vorobiov [Tue, 14 Feb 2017 15:37:27 +0000 (17:37 +0200)]
vg_common: parse and store userSpaceOnUse (for gradient) when it is set

So it can be calculated during the draw later on

6 years agoefl_gfx_path: fix typo in _path_bounds_get
Vitalii Vorobiov [Mon, 13 Feb 2017 14:27:55 +0000 (16:27 +0200)]
efl_gfx_path: fix typo in _path_bounds_get

Wrong position was used while going through the array of
points

@fix

6 years agovg_loaders/svg: set up default focal values for radialGradient
Vitalii Vorobiov [Tue, 7 Feb 2017 16:59:03 +0000 (18:59 +0200)]
vg_loaders/svg: set up default focal values for radialGradient

Since when not specified, focal values same as center points
fx = cx, fy = cy by default

@fix

6 years agoector: use cairo_pattern_add_color_stop_rgba in gradient_radial
Vitalii Vorobiov [Tue, 7 Feb 2017 15:05:02 +0000 (17:05 +0200)]
ector: use cairo_pattern_add_color_stop_rgba in gradient_radial

It actually invoked SIGSEGV when trying to load SVG file with Radial
Gradient

@fix

6 years agosaver/svg: parse loaded tree data into svg XML file and save it
Vitalii Vorobiov [Tue, 31 Jan 2017 16:06:36 +0000 (18:06 +0200)]
saver/svg: parse loaded tree data into svg XML file and save it

Just base source code which will parse all structures of svg tree into
xml text to save current vector image into file

@feature

6 years agovg_savers/svg: empty (for now) module that will save svg in original file
Vitalii Vorobiov [Fri, 27 Jan 2017 11:54:47 +0000 (13:54 +0200)]
vg_savers/svg: empty (for now) module that will save svg in original file

Just as a starter to make a working background that, later on, will go
through Svg_Node's and build a certain source code to be saved in SVG
picture as a file

6 years agoevas_vg_cache: load svg from any file, not from defined only
Vitalii Vorobiov [Tue, 24 Jan 2017 12:12:29 +0000 (14:12 +0200)]
evas_vg_cache: load svg from any file, not from defined only

so it doesn't only load from eet or edj only
but also from those any extensions who is ACTUALLY eet, but named as,
for example, like, "file_with_svg.dev"

@fix

6 years agoevas: Fix invalid header protector
Jean-Philippe Andre [Tue, 7 Nov 2017 02:52:54 +0000 (11:52 +0900)]
evas: Fix invalid header protector

clang is smart enough to warn about this.
I've mentioned it multiple times...

6 years agoRemove evas internal dependency from the evas_font module
subhransu mohanty [Tue, 7 Nov 2017 02:22:09 +0000 (11:22 +0900)]
Remove evas internal dependency from the evas_font module

Summary:
dev branch : devs/subhransu/font

The Final goal is to move the evas_font module to ector so that both ector and evas can reuse the code.
make the api simple so that sam eapi can be used by evas_textblock and ector text.

This is the 1st stage to achive that gola, first remove the evas internal dependancy as much as possible before moving to ector library.

Reviewers: jpeg, raster, herdsman, cedric, id213sin

Subscribers: cedric, jpeg

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

6 years agoelm: Try to fix compilation (link) for OSX
Jean-Philippe Andre [Tue, 7 Nov 2017 01:39:28 +0000 (10:39 +0900)]
elm: Try to fix compilation (link) for OSX

6 years agoevas: Add some crash prevention checks
Jean-Philippe Andre [Mon, 6 Nov 2017 07:36:23 +0000 (16:36 +0900)]
evas: Add some crash prevention checks

This could happen if objects still have references while evas is being
shut down (a bad situation).

6 years agotests: Fix make check for atspi beta APIs
Jean-Philippe Andre [Mon, 6 Nov 2017 07:18:42 +0000 (16:18 +0900)]
tests: Fix make check for atspi beta APIs

See 5c997b3aaac6277b8c4965ee8e90d05e1959ac05
Ref D5365

6 years agocxx: (Temporary) fix for make check
Jean-Philippe Andre [Mon, 6 Nov 2017 06:55:54 +0000 (15:55 +0900)]
cxx: (Temporary) fix for make check

This fixes the C++ compilation tests.

list<int> is not allowed by eolian anymore, as the semantics were
unclear whether a pointer to int was passed, or if the int was stuffed
inside the list by casting.

ptr(string) is also not allowed as it's a pointer to a pointer type.

Both of the above types are strange when it comes to bindings. While C++
could probably be made to work, it's not clear we could have such types
in other bindings. Those types are in fact likely not so useful, as most
APIs can be designed around those restrictions.

6 years agocxx: Fix log color in eina_log.hh
Jean-Philippe Andre [Mon, 6 Nov 2017 06:23:20 +0000 (15:23 +0900)]
cxx: Fix log color in eina_log.hh

Changed from invalid "black" to arbitrary choice of green.

6 years agoelm: Fix examples/tests using elementary_config
Jean-Philippe Andre [Mon, 6 Nov 2017 06:12:21 +0000 (15:12 +0900)]
elm: Fix examples/tests using elementary_config

elementary_config.h should not even exist. It's been hijacked as a
private header for elementary, but all "real" configuration is stored in
efl's main config.h now.

6 years agocxx: Fix some examples, disable or remove others
Jean-Philippe Andre [Mon, 6 Nov 2017 05:25:22 +0000 (14:25 +0900)]
cxx: Fix some examples, disable or remove others

make examples now builds all c++ examples but some of them are in fact
empty skeletons. Those either need some c++ love or the final eo api to
be ready (eg. menu, popup, ...).

I removed some examples that don't have an exact equivalent in EO since
the widget is legacy only.

6 years agocxx: Add beta define to Evas.hh
Jean-Philippe Andre [Mon, 6 Nov 2017 05:23:57 +0000 (14:23 +0900)]
cxx: Add beta define to Evas.hh

This is probably temporary as well, but it's necessary to make examples
compile (with rectangle).

6 years agocxx: Fix binding temporarily (efl/interfaces)
Jean-Philippe Andre [Mon, 6 Nov 2017 05:22:33 +0000 (14:22 +0900)]
cxx: Fix binding temporarily (efl/interfaces)

This uses the new cref keyword instead of inout, as the c++ code has no
access to the internals of struct Efl.Text.Cursor.Cursor

Something tells me cref may not be the perfect solution here (we lose
information on whether this is in, out or inout).

6 years agocxx: Fix ifdef protections in function impl
Jean-Philippe Andre [Mon, 6 Nov 2017 04:37:18 +0000 (13:37 +0900)]
cxx: Fix ifdef protections in function impl

Mote: for protected we should use "protected:" if that is somehow
possible.

6 years agocxx: Add support for operator == with objects
Jean-Philippe Andre [Mon, 6 Nov 2017 03:26:05 +0000 (12:26 +0900)]
cxx: Add support for operator == with objects

6 years agocxx: Modify button example with wref
Jean-Philippe Andre [Thu, 2 Nov 2017 09:42:09 +0000 (18:42 +0900)]
cxx: Modify button example with wref

This is more of an experiment than anything else.
@felipealmeida I would like to know what you think.

Notes:
 - events still need a better API (event_add isn't part of the object
   definition...).
 - references are an issue, when you want to actually delete an object.

6 years agocxx: Add experimental "easy" way to use wref
Jean-Philippe Andre [Thu, 2 Nov 2017 09:39:47 +0000 (18:39 +0900)]
cxx: Add experimental "easy" way to use wref

I hid it behind ifdef for now as I'm very much unsure of what I'm doing.
This whole modern C++ thing is still weird to me :)

Prerequisite:
 #define EFL_CXX_WREF_EASY

This allows constructs such as:

  auto wobj = obj._get_wref();
  std::cout << wobj->text_get() << std::endl;

6 years agocxx: Add _get_wref() convenience to all classes
Jean-Philippe Andre [Thu, 2 Nov 2017 09:14:59 +0000 (18:14 +0900)]
cxx: Add _get_wref() convenience to all classes

This allows constructs like:

  auto w_obj = obj._get_wref();
  auto cb = std::bind([w_obj]() {
    auto o = w_obj.lock();
    if (!o) return;
    o->call();
  });
  event_add(..., obj, cb);

Note: I don't like how those wref work. Close to c++ wref but far from
EFL wref.

6 years agocxx: Mark wref::lock as const
Jean-Philippe Andre [Thu, 2 Nov 2017 08:59:17 +0000 (17:59 +0900)]
cxx: Mark wref::lock as const

This allows passing in wref to a lambda.
If we passed normal refs, we would end up with dangling references and
many ERR messages.

6 years agocxx: Add nullptr constructor for weak refs
Jean-Philippe Andre [Thu, 2 Nov 2017 05:26:59 +0000 (14:26 +0900)]
cxx: Add nullptr constructor for weak refs

This allows constructs such as:

  wref_obj = obj;
  ...
  wref_obj = nullptr;

6 years agocxx: Completely rewrite box example
Jean-Philippe Andre [Thu, 2 Nov 2017 03:13:53 +0000 (12:13 +0900)]
cxx: Completely rewrite box example

This was showing off box transitions, which don't exist in EO API.

6 years agocxx: Fix a few examples
Jean-Philippe Andre [Wed, 1 Nov 2017 13:42:04 +0000 (22:42 +0900)]
cxx: Fix a few examples

 - Calendar: Some examples can't be ported. Not good.
 - Toolbar: Needs the new API to be completed.
 - Clock: Crashes at runtime.

Ping @felipealmeida

6 years agocxx: Instantiate objects with 2 refs
Jean-Philippe Andre [Wed, 1 Nov 2017 13:01:11 +0000 (22:01 +0900)]
cxx: Instantiate objects with 2 refs

This is the original meaning of efl_add_ref().
Somehow the "ref" bool was set to true in the first call, and false in
the second call.

6 years agocxx: Place beta API declarations behind ifdef
Jean-Philippe Andre [Wed, 1 Nov 2017 12:59:17 +0000 (21:59 +0900)]
cxx: Place beta API declarations behind ifdef

NOTE: protected APIs are placed behind ifdef as well in the
implementation file. This makes sense since the define is required for
the C code to compile, but this isn't what @protected means.

6 years agodocs: be better at a responsive layout when embedded
Andy Williams [Mon, 6 Nov 2017 18:43:06 +0000 (18:43 +0000)]
docs: be better at a responsive layout when embedded

6 years agoedje_pick: Fix segfault due to wrong memory free
Jeeyong Um [Mon, 6 Nov 2017 15:34:32 +0000 (00:34 +0900)]
edje_pick: Fix segfault due to wrong memory free

6 years agoevas-object-main: Fix potential null dereference
Chris Michael [Mon, 6 Nov 2017 15:17:29 +0000 (10:17 -0500)]
evas-object-main: Fix potential null dereference

Coverity reports that EVAS_OBJECT_DATA_SAFE_GET returns NULL here (184
out of 188 times). As such, we should not be calling
_event_animation_object_get with a null object so add a null check here.

Fixes Coverity CID1381713

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-object-main: Fix null dereference
Chris Michael [Mon, 6 Nov 2017 15:13:08 +0000 (10:13 -0500)]
evas-object-main: Fix null dereference

Coverity reports that EVAS_OBJECT_DATA_SAFE_GET returns NULL here (184
out of 188 times). The _all_animation_objects_cancel function
directly dereferences the obj parameter passed into it, so lets null check it
before calling that function.

Fixes Coverity CID1381711

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-object-main: Fix null dereference
Chris Michael [Mon, 6 Nov 2017 15:10:50 +0000 (10:10 -0500)]
evas-object-main: Fix null dereference

Coverity reports that EVAS_OBJECT_DATA_SAFE_GET returns NULL here (184
out of 188 times). The _all_animation_objects_cancel function directly
dereferences the obj parameter passed into it, so lets null check it
before calling that function.

Fixes Coverity CID1381710

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoemotion: Fix data race condition
Chris Michael [Mon, 6 Nov 2017 15:07:48 +0000 (10:07 -0500)]
emotion: Fix data race condition

Coverity reports that we access vfmapped here without holding a lock.
This patch implements eina_lock_take/release while accessing
priv->vfmapped.

Fixes Coverity CID1381624

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-wayland-shm: Do not dereference a potentially freed pointer
Chris Michael [Mon, 6 Nov 2017 15:02:35 +0000 (10:02 -0500)]
evas-wayland-shm: Do not dereference a potentially freed pointer

Coverity reports that _evas_dmabuf_buffer_init function here can
potentially free the surface that was passed into it. If that happens,
we should not be calling the _fallback function with surface as the
parameter as that will directly dereference the freed pointer.

Fixes Coverity CID1381707

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-gl-cocoa: Remove need for useless region_free function
Chris Michael [Mon, 6 Nov 2017 14:28:53 +0000 (09:28 -0500)]
evas-gl-cocoa: Remove need for useless region_free function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-gl-drm: Remove need for useless region_free function
Chris Michael [Mon, 6 Nov 2017 14:27:39 +0000 (09:27 -0500)]
evas-gl-drm: Remove need for useless region_free function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-gl-sdl: Remove need for useless free_region function
Chris Michael [Mon, 6 Nov 2017 14:26:13 +0000 (09:26 -0500)]
evas-gl-sdl: Remove need for useless free_region function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-gl-x11: Remove need for useless free_region function
Chris Michael [Mon, 6 Nov 2017 14:25:19 +0000 (09:25 -0500)]
evas-gl-x11: Remove need for useless free_region function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-wayland-egl: Remove need for useless free_region function
Chris Michael [Mon, 6 Nov 2017 14:23:13 +0000 (09:23 -0500)]
evas-wayland-egl: Remove need for useless free_region function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-wayland-shm: Remove need for useless free_region function
Chris Michael [Mon, 6 Nov 2017 14:21:59 +0000 (09:21 -0500)]
evas-wayland-shm: Remove need for useless free_region function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-software-x11: Remove need for useless free_region function
Chris Michael [Mon, 6 Nov 2017 14:19:20 +0000 (09:19 -0500)]
evas-software-x11: Remove need for useless free_region function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-software-gdi: Remove need for useless free_region function
Chris Michael [Mon, 6 Nov 2017 14:17:02 +0000 (09:17 -0500)]
evas-software-gdi: Remove need for useless free_region function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-software-ddraw: Remove need for useless free_region function
Chris Michael [Mon, 6 Nov 2017 14:15:54 +0000 (09:15 -0500)]
evas-software-ddraw: Remove need for useless free_region function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-eglfs: Remove need for useless free_region function
Chris Michael [Mon, 6 Nov 2017 14:14:14 +0000 (09:14 -0500)]
evas-eglfs: Remove need for useless free_region function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-drm: Remove need for useless free_region function
Chris Michael [Mon, 6 Nov 2017 14:13:12 +0000 (09:13 -0500)]
evas-drm: Remove need for useless free_region function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoevas-software-generic: Check for render engine function before calling
Chris Michael [Mon, 6 Nov 2017 14:10:28 +0000 (09:10 -0500)]
evas-software-generic: Check for render engine function before calling

In most engines which inherit from software_generic, they do not
implement the outbuf_free_region_for_update function. Most engines
have it as an unused function. If we simply add a check here, then we
can reduce the need for having useless function in multiple engines.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
6 years agoefl_ui_calendar: apply efl_ui_focus_composition
WooHyun Jung [Mon, 6 Nov 2017 07:28:29 +0000 (16:28 +0900)]
efl_ui_calendar: apply efl_ui_focus_composition