platform/upstream/efl.git
7 years agoeolian: fix build warning
Jee-Yong Um [Wed, 19 Oct 2016 21:50:12 +0000 (23:50 +0200)]
eolian: fix build warning

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

7 years agowayland_egl: Remove weirdo buffer age kludge cargo culted from gl_x11
Derek Foreman [Wed, 19 Oct 2016 21:04:02 +0000 (16:04 -0500)]
wayland_egl: Remove weirdo buffer age kludge cargo culted from gl_x11

There's no reason why we'd need a full redraw if the buffer age for
this buffer isn't the same as the buffer age for the last buffer, so
let's cut out this thing.

7 years agowayland_egl: Use surface damage instead of buffer damage
Derek Foreman [Wed, 19 Oct 2016 20:58:59 +0000 (15:58 -0500)]
wayland_egl: Use surface damage instead of buffer damage

We should always pass surface damage to eglSwapBuffersWithDamage.

7 years agogl_drm: Use surface damage instead of buffer damage
Derek Foreman [Wed, 19 Oct 2016 20:54:08 +0000 (15:54 -0500)]
gl_drm: Use surface damage instead of buffer damage

We should always pass surface damage to eglSwapBuffersWithDamage.

7 years agoevas_engines: Send both surface and buffer damage to outbuf_flush callback
Derek Foreman [Wed, 19 Oct 2016 20:33:09 +0000 (15:33 -0500)]
evas_engines: Send both surface and buffer damage to outbuf_flush callback

Some engines should using sending surface damage, until now we'd only ever
provided them with buffer damage.

The difference is that surface damage is the damage to the surface the
compositor is displaying, and the buffer damage is the damage to the
buffer the client has rendered.  These are different when the client
is using multiple buffers of different ages to render into.

Anything that calls eglSwapBuffersWithDamage, wl_surface_damage() or
wl_surface_damage_buffer() should be using surface damage, and not
buffer damage.

This patch is intended to make no functional change - any flush cb that
used buffer damage before still should.  Actual fixes to follow.

Apologies if I broke any engines - it's a bit of a copy and wasteland
out here.

7 years agoRevert "wayland_shm: Add swap mode fallback when buffer age changes"
Derek Foreman [Wed, 19 Oct 2016 16:59:34 +0000 (11:59 -0500)]
Revert "wayland_shm: Add swap mode fallback when buffer age changes"

This reverts commit 62ca4486ea30fd63a5589ea7af373a5cb9982031.

Honestly, I think the gl_x11 code doesn't make sense either. :)

There's no logical reason that we have to do that, though it may be
hiding some other bug?  If that's the case, the bug should be fixed
properly.

7 years agoecore: test recursive case on efl_future.
Cedric BAIL [Wed, 19 Oct 2016 20:40:49 +0000 (13:40 -0700)]
ecore: test recursive case on efl_future.

7 years agoecore: allow efl_future_cancel on a promise currently being resolved.
Cedric BAIL [Wed, 19 Oct 2016 20:39:10 +0000 (13:39 -0700)]
ecore: allow efl_future_cancel on a promise currently being resolved.

This is necessary for allowing proper handling of recursive cancel.

7 years agoEo: Add a regression test for ref leak in function resolve
Tom Hacohen [Wed, 19 Oct 2016 15:20:19 +0000 (16:20 +0100)]
Eo: Add a regression test for ref leak in function resolve

This adds a regression test for the last commit.

7 years agoEo: Fix reference leak when failing to resolve function.
Tom Hacohen [Wed, 19 Oct 2016 15:14:15 +0000 (16:14 +0100)]
Eo: Fix reference leak when failing to resolve function.

When resolving a function for an object the object would get reference,
and then in some failure cases won't be freed.

I suspect this is a regression following the reshuffling that was done
in that function recently.

Thanks to zmike for investigating and reporting this.

Fixes T4740

@fix

7 years agoEo: Remove no longer relevant tests.
Tom Hacohen [Wed, 19 Oct 2016 15:14:03 +0000 (16:14 +0100)]
Eo: Remove no longer relevant tests.

7 years agoeolian: fix the nonsensical semantics for variables
Daniel Kolesa [Wed, 19 Oct 2016 13:24:26 +0000 (15:24 +0200)]
eolian: fix the nonsensical semantics for variables

Both variables and constants can have extern on them (it means the same thing
as in types, they won't get generated in C). This is different from the previous
semantics which only allowed extern on globals, which makes no sense.

Both globals and constants are allowed to have a value (previously only
constants were); constants are required to have a value. Globals having
a value is just a convenience for initialization during source generation.
This is unlike the previous behavior, where the value was optional for both
globals and constants and only allowed when not marked extern, which makes
no sense either.

Obivously, even when globals have a value, they're not allowed to be used
in expressions, as they cannot be evaluated at compile time (they're mutable).

7 years agogengrid: support for non homogenous items
SangHyeon Lee [Wed, 5 Oct 2016 06:36:04 +0000 (15:36 +0900)]
gengrid: support for non homogenous items

Summary:
Dimensions of gengrid items can be altered for
non homogenity.

Care must be taken however to set the homogenous
size for items using elm_gengrid_item_size_set().

In horizontal mode only the heights will change
and in vertical mode only the widths. Fixed dimension
will be as set with elm_gengrid_item_size_set().

This is forked by https://phab.enlightenment.org/D2422

Test Plan:
elementary_test -to "Gengrid Resized Items"
Current test program provides focus autoscroll
and item looping options.

Reviewers: raster

Subscribers: cedric, jpeg

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

7 years agoevas: Last fix... now it builds
Jean-Philippe Andre [Wed, 19 Oct 2016 05:05:31 +0000 (14:05 +0900)]
evas: Last fix... now it builds

7 years agoevas: More compilation fixup with EGLImage
Jean-Philippe Andre [Wed, 19 Oct 2016 04:39:02 +0000 (13:39 +0900)]
evas: More compilation fixup with EGLImage

This is what happens when you can't test a patch yourself ^^

7 years agoevas: Fix compilation with older EGL (maybe <1.5)
Jean-Philippe Andre [Wed, 19 Oct 2016 04:32:55 +0000 (13:32 +0900)]
evas: Fix compilation with older EGL (maybe <1.5)

EGLImage was not introduced until very recently. EGLImageKHR was
the proper type. Thanks Roy for the report.

7 years agoecore: handle recursive trigger of promise by the cancel of a future.
Cedric BAIL [Tue, 18 Oct 2016 23:49:04 +0000 (16:49 -0700)]
ecore: handle recursive trigger of promise by the cancel of a future.

This avoid double free/double callback call.

7 years agoefl_net_dialer_udp: enable SO_BROADCAST before sending to 255.255.255.255
Gustavo Sverzut Barbieri [Tue, 18 Oct 2016 22:00:52 +0000 (20:00 -0200)]
efl_net_dialer_udp: enable SO_BROADCAST before sending to 255.255.255.255

Like other toolkits, let's enable this automatically for users before
connecting to 255.255.255.255 IPv4 (IPADDR_BROADCAST), otherwise most
systems will just fail to connect and send packets.

7 years agoefl_net_dialer_udp: "connect" to an UDP server to send and receive data.
Gustavo Sverzut Barbieri [Tue, 18 Oct 2016 20:51:59 +0000 (18:51 -0200)]
efl_net_dialer_udp: "connect" to an UDP server to send and receive data.

Like existing ecore_con code, this does not use SOCKSv5 UDP
proxy. It's kinda cumbersome to add since requires a keep alive TCP
connection to the server, a second UDP channel and framing around the
original UDP frame.

Added UDP_CORK (if present) to match TCP_UDP present in TCP sockets,
this allows one to execute multiple write() calls that will result in
a single datagram, generated when CORK becomes FALSE again.

The efl_io_copier_example.c now accepts this as output. There is no
input UDP as there is no way to notify the server of a connection
(since such thing doesn't exit), usually servers react after a
datagram is received, replying to the source.

7 years agoefl_net_socket_tcp: only emit error message if cork is being enabled.
Gustavo Sverzut Barbieri [Tue, 18 Oct 2016 18:32:04 +0000 (16:32 -0200)]
efl_net_socket_tcp: only emit error message if cork is being enabled.

by default we'll start with cork=0 and on adoption of a FD we'll apply
cached values, thus we'd try to apply cork=0 (default) and it would
error, which is annoying on platforms without such feature.

since users interested in TCP_CORK will enable it first, they will get
the error at that point.

7 years agoecore: replace arbitrary time with 32-bit safe arbitrary time
Derek Foreman [Tue, 18 Oct 2016 20:52:56 +0000 (15:52 -0500)]
ecore: replace arbitrary time with 32-bit safe arbitrary time

The end of time is much closer than you think.  it_value.tv_sec is
a signed 32-bit number on 32-bit machines. Using a negative tv_sec
causes timerfd_settime() to fail.

7 years agowayland_shm: Add swap mode fallback when buffer age changes
Jean-Philippe Andre [Tue, 18 Oct 2016 08:36:43 +0000 (17:36 +0900)]
wayland_shm: Add swap mode fallback when buffer age changes

This copies the behaviour in opengl_x11 engine, where the buffer
age needs to be continuously the same to be taken into account.
If the age varies, then we fallback to a full redraw.

Apparently this fixes issues on actual devices. I tested this
patch in weston (I didn't have issues before and buffer age is 1).

7 years agoedje_edit: avoid generate '(null)' value for image.normal
Vyacheslav Reutskiy [Tue, 18 Oct 2016 05:49:07 +0000 (08:49 +0300)]
edje_edit: avoid generate '(null)' value for image.normal

7 years agoedje_edit: add correct tweens generation for inherit state
Vyacheslav Reutskiy [Mon, 17 Oct 2016 14:25:43 +0000 (17:25 +0300)]
edje_edit: add correct tweens generation for inherit state

7 years agoedje_cc: set correct value for attr set for MESH_NODE
Vyacheslav Reutskiy [Mon, 17 Oct 2016 13:56:11 +0000 (16:56 +0300)]
edje_cc: set correct value for attr set for MESH_NODE

On parce the image.normal token set attribute 'set' only for part type
EDJE_PART_TYPE_MESH_NODE.

@fix

7 years agoelm_atspi_bridge: visible data changed signal not sent issue fix.
Shilpa Singh [Tue, 18 Oct 2016 01:56:53 +0000 (10:56 +0900)]
elm_atspi_bridge: visible data changed signal not sent issue fix.

Summary:
_visible_data_changed_signal_send function checks for wrong object,
hence always returns with out actually sending signal.

The state is set to pd->object_broadcast_mask and not
pd->object_children_broadcast_mask in _set_broadcast_flag function.

Test Plan:
Send the visible data changed signal from any widget, but signal
is not sent.

Reviewers: cedric, lukasz.stanislawski, kimcinoo

Reviewed By: kimcinoo

Subscribers: rajeshps, govi, jpeg

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

7 years agoedje_edit: refactor eet file usage
Andrii Kroitor [Mon, 17 Oct 2016 15:51:59 +0000 (18:51 +0300)]
edje_edit: refactor eet file usage

Summary:
Move opening for read/write/read-write and error message to internal method
Reuse eet file from Edje instead of opening it again in read-only mode
Add wrapper for eet_close to skip closing if internal file was used

Reviewers: NikaWhite

Subscribers: cedric, jpeg, #eflete

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

7 years agoelementary: Fix call to offer_supports_mime function
Chris Michael [Mon, 17 Oct 2016 14:43:43 +0000 (10:43 -0400)]
elementary: Fix call to offer_supports_mime function

As this function was misnamed in Ecore_Wl2, update the code here to
use the proper API function.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Fix typo in API function name
Chris Michael [Mon, 17 Oct 2016 14:43:27 +0000 (10:43 -0400)]
ecore-wl2: Fix typo in API function name

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agomap: Fix elm_map usage (typo)
Jean-Philippe Andre [Mon, 17 Oct 2016 10:28:14 +0000 (19:28 +0900)]
map: Fix elm_map usage (typo)

7 years agoEmile: use stronger ssl cipher
Simon Lees [Mon, 17 Oct 2016 10:28:04 +0000 (20:58 +1030)]
Emile: use stronger ssl cipher

Follows on from 356a1aa87a04a8d1c43e01fa861270d0947069c0 emile
didn't exist when this work was done originally

7 years agoecore_ssl: Use stricter cipher suites
Simon Lees [Mon, 17 Oct 2016 03:28:32 +0000 (13:58 +1030)]
ecore_ssl: Use stricter cipher suites

Thanks to Victor Pereira from the SUSE Security team for auditing
this and recommending better options.
This has been discussed several times but knowone ever got to
commiting it.

7 years agoevas/map: do nothing when same map is set again
Subhransu Mohanty [Fri, 14 Oct 2016 10:45:42 +0000 (19:45 +0900)]
evas/map: do nothing when same map is set again

Reviewers: cedric, Hermet, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

7 years agoELM: sync "clicked" usage with other places in the lib
Shuhrat Dehkanov [Fri, 14 Oct 2016 10:37:46 +0000 (19:37 +0900)]
ELM: sync "clicked" usage with other places in the lib

Summary: In all other places "clicked" is defined as a local variable.

Reviewers: tasn, jpeg

Reviewed By: jpeg

Subscribers: cedric, minkyu

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

7 years agoEmotion: prefer ratio to calculate sizes
Dave Andreoli [Sat, 15 Oct 2016 18:59:57 +0000 (20:59 +0200)]
Emotion: prefer ratio to calculate sizes

Instead of calculate the ratio from the sizes, calc the width from the ratio,
as ratio seems always accurate.
Fallback to the old code if ratio not available (tbh I never see this case)

@Fix EMOTION_ASPECT_KEEP_BOTH with some rare strams, mostly DVD and online stuff

7 years agofix edje_cc segv when compiling bling bling theme
Carsten Haitzler (Rasterman) [Sat, 15 Oct 2016 02:28:01 +0000 (11:28 +0900)]
fix edje_cc segv when compiling bling bling theme

accessed parts out of range for the part table. check part count first
before checking. fixes segv. @fix

blinblng: http://enform.haxlab.org/files/blingbling_e21.tgz

7 years agoevas gl x11 engine - Wrap eglCreateImage
Derek Foreman [Fri, 14 Oct 2016 21:03:47 +0000 (16:03 -0500)]
evas gl x11 engine - Wrap eglCreateImage

eglCreateImage and eglCreateImageKHR have different parameters - the
attribute list is EGLint for one and EGLAttrib for the other.  Since
EGLAttrib is long, on a 64-bit system it's a different size than EGLint.

This was causing a crash in Enlightenment's wl_x11 on 64-bit machines when
trying to use a gl client.

Add a thin wrapper to use whichever is available and pass the appropriate
sized data.

7 years agoecore_evas_wayland: Don't use frame callbacks on windows with no shell surface
Derek Foreman [Fri, 14 Oct 2016 21:02:45 +0000 (16:02 -0500)]
ecore_evas_wayland: Don't use frame callbacks on windows with no shell surface

If we set a frame callback on a window with no shell surface (ie: and unmapped
window), the frame callback will never fire.  This was preventing some
applications like rage from ever posting a frame.

7 years agoecore_wl2: add API for testing if a window has a shell surface
Derek Foreman [Fri, 14 Oct 2016 21:01:54 +0000 (16:01 -0500)]
ecore_wl2: add API for testing if a window has a shell surface

7 years agoeolian gen: better checks for whether to add space after type
Daniel Kolesa [Fri, 14 Oct 2016 13:31:23 +0000 (15:31 +0200)]
eolian gen: better checks for whether to add space after type

7 years agoexamples: eolian_cxx: adapt code generation to changed eolian_gen commandline
Stefan Schmidt [Fri, 14 Oct 2016 10:36:25 +0000 (12:36 +0200)]
examples: eolian_cxx: adapt code generation to changed eolian_gen commandline

The commandline options have changed for eolian_gen to generate the code. Adapt
the makefile helpers to fix the build break in examples

7 years agofix possible eina file shutdown issue
Carsten Haitzler (Rasterman) [Fri, 14 Oct 2016 07:20:22 +0000 (16:20 +0900)]
fix possible eina file shutdown issue

i am not sure as i cannto reproduce this, but i hope this fixes T4677
by ensuring if eina_file_shutdown is called it cannto double-free a
hash.

7 years agoevas/module: add a new module in vg_saver for eet
Subhransu Mohanty [Fri, 14 Oct 2016 06:52:51 +0000 (15:52 +0900)]
evas/module: add a new module in vg_saver for eet

Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

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

7 years agoevas: Fix evas_object_smart_clipped_clipper_get
Jean-Philippe Andre [Thu, 13 Oct 2016 08:59:13 +0000 (17:59 +0900)]
evas: Fix evas_object_smart_clipped_clipper_get

This was broken for smart objects that are not "clipped smart
objects". This fixes the example evas_smart_object.

NOTE: This EAPI was removed in efl-1.18!
/!\ This was an uncaught API break between 1.17 and 1.18 /!\

@fix

7 years agoevas: Improve render debug logs
Jean-Philippe Andre [Thu, 13 Oct 2016 08:42:38 +0000 (17:42 +0900)]
evas: Improve render debug logs

Compiled out by default

7 years agoecore_evas - fix setting urgent immediately after show
Carsten Haitzler (Rasterman) [Fri, 14 Oct 2016 02:08:45 +0000 (11:08 +0900)]
ecore_evas - fix setting urgent immediately after show

fixes T4726

7 years agoecore-wl2: Fix input and opaque region setting
Derek Foreman [Thu, 13 Oct 2016 22:40:38 +0000 (17:40 -0500)]
ecore-wl2: Fix input and opaque region setting

Bad y co-ordinate resulted in broken shadows after session recovery.

@fix

7 years agoelementary: Fix issue of using uninitialized values
Chris Michael [Thu, 13 Oct 2016 16:52:43 +0000 (12:52 -0400)]
elementary: Fix issue of using uninitialized values

Coverity reports that Evas_Coord_Rectangles were being used here without being
initialized so declare those variables with some initial values

Fixes CID1362984

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas: Fix directly dereferencing pointer which may be NULL
Chris Michael [Thu, 13 Oct 2016 16:50:12 +0000 (12:50 -0400)]
evas: Fix directly dereferencing pointer which may be NULL

Coverity reports this as a dereference before null check which implies
that 'cur' May be null here, so let's not use it before we check it.

Fixes CID1363765

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas: Fix directly dereferencing pointer which may be NULL
Chris Michael [Thu, 13 Oct 2016 16:47:38 +0000 (12:47 -0400)]
evas: Fix directly dereferencing pointer which may be NULL

Coverity reports this as a dereference before null check which implies
that 'pd' May be null here, so let's not use it before we check it.

Fixes CID1364114

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas: Fix missing varargs cleanup
Chris Michael [Thu, 13 Oct 2016 16:43:44 +0000 (12:43 -0400)]
evas: Fix missing varargs cleanup

This patch fixes Coverity CID1364123 which reports that (in some
cases) va_end was not being called for var args. As they were
previously initialized with va_start, then va_end should be getting
called.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agogengrid: call this on the pam class not on the normal class
Marcel Hollerbach [Thu, 13 Oct 2016 14:25:37 +0000 (16:25 +0200)]
gengrid: call this on the pam class not on the normal class

this fixes gengrid.

7 years agoeolian gen: use the new data type API to simplify the code
Daniel Kolesa [Thu, 13 Oct 2016 13:03:50 +0000 (15:03 +0200)]
eolian gen: use the new data type API to simplify the code

7 years agoeolian: add API to get the C class datatype
Daniel Kolesa [Thu, 13 Oct 2016 12:54:12 +0000 (14:54 +0200)]
eolian: add API to get the C class datatype

7 years agoFix use of undeclared type in C++ tests compilation
Felipe Magno de Almeida [Thu, 13 Oct 2016 08:51:52 +0000 (17:51 +0900)]
Fix use of undeclared type in C++ tests compilation

Moved Evas_Object_Intercept_Cb_Type; typedef declaration after enum
_Evas_Object_Intercept_Cb_Type definition

7 years agocxx: Fix Makefiles for C++ compilation and installation
Felipe Magno de Almeida [Wed, 12 Oct 2016 05:53:46 +0000 (14:53 +0900)]
cxx: Fix Makefiles for C++ compilation and installation

7 years agoecore: free futures which are still pending on shutdown
Marcel Hollerbach [Thu, 13 Oct 2016 08:27:06 +0000 (10:27 +0200)]
ecore: free futures which are still pending on shutdown

otherwise we are leaking a eina list.

This was discovered while running the elm_suite with CK_FORK=no, since
ecore and eina are init´ed and shutdown´ed, after the shutdown this list
points to freeed memory pools. So in the next testcase the list is
invalid and crashes. This fixes it with freeing the list on shutdown.

7 years agoevas/module: add a new module in vg_loader for eet
Subhransu Mohanty [Thu, 13 Oct 2016 08:09:39 +0000 (17:09 +0900)]
evas/module: add a new module in vg_loader for eet

Reviewers: jpeg

Subscribers: cedric, jpeg

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

7 years agoevas: Use proper type in smart objects API (eo)
Jean-Philippe Andre [Thu, 13 Oct 2016 01:25:03 +0000 (10:25 +0900)]
evas: Use proper type in smart objects API (eo)

7 years agoeolian gen: use the C get function name getter instead of manual concat
Daniel Kolesa [Wed, 12 Oct 2016 13:08:37 +0000 (15:08 +0200)]
eolian gen: use the C get function name getter instead of manual concat

7 years agoeolian gen: utilize the new class C name getter instead of manual concat
Daniel Kolesa [Wed, 12 Oct 2016 13:05:46 +0000 (15:05 +0200)]
eolian gen: utilize the new class C name getter instead of manual concat

7 years agoeolian: add an API to get the C name used to access the class
Daniel Kolesa [Wed, 12 Oct 2016 12:56:22 +0000 (14:56 +0200)]
eolian: add an API to get the C name used to access the class

7 years agoedje_edit: new API for generate source code for color classes
Vyacheslav Reutskiy [Wed, 12 Oct 2016 12:00:05 +0000 (15:00 +0300)]
edje_edit: new API for generate source code for color classes

Extend edje edit deberate source API. Add two new API.
 - edje_edit_object_color_class_list_get return a list of used color classes for
   given object
 - edje_edit_color_classes_source_generate is generate code for given
   color classes list

7 years agoedje_edit: add API for get source code of global block data
Vyacheslav Reutskiy [Tue, 11 Oct 2016 12:50:10 +0000 (15:50 +0300)]
edje_edit: add API for get source code of global block data

This API is annex for edje_edit_object_source_generate. Together this
API's provide a mechanism for generate source for custom groups from
a edj file or more.

7 years agoedje_edit: add API for generate group source code without 'collection'
Vyacheslav Reutskiy [Tue, 11 Oct 2016 11:38:34 +0000 (14:38 +0300)]
edje_edit: add API for generate group source code without 'collection'

7 years agoevas/module: Added a new module vg_loader for svg
Subhransu Mohanty [Wed, 12 Oct 2016 09:39:10 +0000 (18:39 +0900)]
evas/module: Added a new module vg_loader for svg

Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

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

7 years agoelm_widget: Remove unnecessary set{} get{} in eo file
Jean-Philippe Andre [Wed, 12 Oct 2016 09:14:58 +0000 (18:14 +0900)]
elm_widget: Remove unnecessary set{} get{} in eo file

7 years agoedje: fix memory leak
Jean Guyomarc'h [Wed, 12 Oct 2016 06:07:25 +0000 (08:07 +0200)]
edje: fix memory leak

7 years agoevas: Mark group_add/del as internal
Jean-Philippe Andre [Wed, 12 Oct 2016 02:31:17 +0000 (11:31 +0900)]
evas: Mark group_add/del as internal

Lacking a proper internal tag, I'm using both protected (it is
in fact a protected access function) and beta (to mark as unstable,
not real API).

New smart objects based on EO only should rely on constructor,
finalize and destructor exclusively. In theory, this should be fine.

Unfortunately it may be impossible to inherit from the Efl.Ui.Win
class as it uses a really bad hack and calls super.constructor
inside the finalize method.

7 years agoevas/elm: Remove function group_resize
Jean-Philippe Andre [Tue, 11 Oct 2016 07:54:31 +0000 (16:54 +0900)]
evas/elm: Remove function group_resize

This is an override of efl_gfx_size_set. Same as before, the
order of operations matter so it is possible that a corner
case will break. In particular, legacy code was:
 - intercept
 - smart resize (do stuff), super, super, super
 - evas object resize

The new code is more like:
 - intercept
 - super, super, super, evas object resize
 - do stuff

But unfortunately this broke elm_widget (read: all widgets) as
the internal resize was done before the object resize. So,
inside the resize event cb, the resize_obj size would not match
the smart object size. >_<

7 years agoevas/elm: Remove function group_move
Jean-Philippe Andre [Tue, 11 Oct 2016 03:39:05 +0000 (12:39 +0900)]
evas/elm: Remove function group_move

This is an override of efl_gfx_position_set.
As for the other patches, I hope I didn't break anything.

A problem likely to happen is that the super call was inserted
too early or too late in the call flow. For instance:

  _myclass_position_set(obj, x, y) {
    position_set(super(obj), x, y);
    position_get(obj, &prevx, &prevy);
    do_something_with_delta_xy();
  }

The above code flow is obvisouly wrong, but may have crept in this
patch (such a bug sneaked in inside smart object, breaking
everything at first).

7 years agoevas: Move move_children_relative to legacy only
Jean-Philippe Andre [Tue, 11 Oct 2016 03:02:20 +0000 (12:02 +0900)]
evas: Move move_children_relative to legacy only

While this kind of API seems to make sense with smart objects
(relative coordinates), it is currently not used apart from
the smart object class itself.

So, for now, I'm moving this to legacy to clean up Efl.Canvas.Group
and we can later add the equivalent in a clean "group" API.

7 years agoevas/elm: Remove group_show and group_hide
Jean-Philippe Andre [Mon, 10 Oct 2016 09:59:42 +0000 (18:59 +0900)]
evas/elm: Remove group_show and group_hide

These should be just overrides of Efl.Gfx.visible.set. Many
widgets were handling smart show() and hide() manually, which
means this patch is quite large.

Hopefully this doesn't break anything, obviously. But here are
some widgets known to be problematic, as the old code flow was
really strange (sometimes not calling the efl_super function):
 - window
 - notify

7 years agoevas: Move clip_unset to legacy, remove group_clip
Jean-Philippe Andre [Mon, 10 Oct 2016 07:44:48 +0000 (16:44 +0900)]
evas: Move clip_unset to legacy, remove group_clip

Similarly to group_color_set, group_clip_[un]set should not
exist and should be a result of efl_super and inheritance.

This patch also removes clip_unset from the EO API and keeps
only clip_set(NULL). The reason is that it will avoid bad overrides
of clip_unset() vs. clip_unset(NULL). This also simplifies the code
a bit. Ideally we should be able to reintroduce clip_unset in EO
if we can have a "@final" tag (like java's final keyword), to
prevent overrides.

7 years agoevas: Remove inexisting private function declarations
Jean-Philippe Andre [Mon, 10 Oct 2016 09:24:20 +0000 (18:24 +0900)]
evas: Remove inexisting private function declarations

7 years agoevas: Remove method group_color_set
Jean-Philippe Andre [Fri, 7 Oct 2016 07:25:49 +0000 (16:25 +0900)]
evas: Remove method group_color_set

Widgets should simply override efl_gfx_color_set and call
super all the way up to evas object.

Legacy compatibility with call interceptors and early call
abortion (eg. delete_me or obj->layer == NULL) are implemented
with an internal call. See the previous commit introducing the
API.

7 years agoevas: Add pseudo-internal API to intercept basic calls
Jean-Philippe Andre [Fri, 7 Oct 2016 03:43:21 +0000 (12:43 +0900)]
evas: Add pseudo-internal API to intercept basic calls

This is a poor man's solution to get rid of group functions such
as clip_set, clip_unset, color_set, etc... See the following
commits.

This API needs to be EAPI for elementary but shouldn't be used
outside EFL. This is required purely for legacy compatibility.

Here's the call flow, inside show(obj):
1. if (intercept_show(obj)) return;
2. show(super(obj));
3. do other stuff

7 years agoevas: Simplify code with intercept macros
Jean-Philippe Andre [Fri, 7 Oct 2016 03:34:24 +0000 (12:34 +0900)]
evas: Simplify code with intercept macros

7 years agoevas: Move intercept function types to legacy header
Jean-Philippe Andre [Fri, 7 Oct 2016 02:37:00 +0000 (11:37 +0900)]
evas: Move intercept function types to legacy header

7 years agoevas_data: Fix safety checks in evas_object_data
Jean-Philippe Andre [Wed, 7 Sep 2016 07:44:03 +0000 (16:44 +0900)]
evas_data: Fix safety checks in evas_object_data

This relies on efl_isa rather than the broken magic check
(by broken I mean it only checks for NULL).

7 years agoevas: Move group color_set after checking for change
Jean-Philippe Andre [Wed, 7 Sep 2016 05:47:33 +0000 (14:47 +0900)]
evas: Move group color_set after checking for change

I can't see why the group (smart object) color_set function
was called even if the color hadn't change. Let's test and
see if this breaks anything :)

7 years agoevas: Small simplification of object color_set
Jean-Philippe Andre [Tue, 6 Sep 2016 12:03:11 +0000 (21:03 +0900)]
evas: Small simplification of object color_set

7 years agogroup: Replace group_no_render by object no_render
Jean-Philippe Andre [Tue, 6 Sep 2016 11:02:34 +0000 (20:02 +0900)]
group: Replace group_no_render by object no_render

Most of the smart functions "Efl.Canvas.Group.group_xxx" should
not exist and be overrides of the base object function instead.
Cleaning this up is necessary if we want an EO API for custom
smart objects. This patch is the first attempt at removing a
method (the simplest one).

As for no_render, I wonder if propagating to the children
really is necessary. evas_render should skip them already.

7 years agoecore-drm2: Free Output modes on destroy
Chris Michael [Tue, 11 Oct 2016 15:30:13 +0000 (11:30 -0400)]
ecore-drm2: Free Output modes on destroy

When we destroy outputs, we should be freeing the Output's Modes also
as that was previously allocated memory.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-drm2: Use Atomic Modesetting for resolution changes
Chris Michael [Tue, 11 Oct 2016 15:22:40 +0000 (11:22 -0400)]
ecore-drm2: Use Atomic Modesetting for resolution changes

Since we have atomic properties now, we can use those to set given
Output modes (resolutions).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoedje_calc: add rounding pixel calculation for transition.
Hosang Kim [Tue, 11 Oct 2016 12:11:14 +0000 (21:11 +0900)]
edje_calc: add rounding pixel calculation for transition.

Summary: when transition animation is working, sometimes one pixels loss occurs.

Reviewers: cedric, woohyun, jpeg, raster

Subscribers: jpeg

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

7 years agoedje_edit: proper work with part id's on part restack and del for map fields
Vitalii Vorobiov [Tue, 11 Oct 2016 11:54:24 +0000 (14:54 +0300)]
edje_edit: proper work with part id's on part restack and del for map fields

@fix

7 years agoevas: Fix no update issue if visiblity of smart object has change
jiin.moon [Tue, 11 Oct 2016 12:08:29 +0000 (21:08 +0900)]
evas: Fix no update issue if visiblity of smart object has change

Summary: If child has change about visibility, can't check it correctly.

Reviewers: jypark, cedric, jpeg, Hermet

Reviewed By: Hermet

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

7 years agowindows: remove expicit -levil flag
Andrii Kroitor [Tue, 11 Oct 2016 08:42:21 +0000 (11:42 +0300)]
windows: remove expicit -levil flag

Summary:
Built from sources version of evil is already added to linker flags and
adding extra -levil makes build fail if evil is not already installed in system.
Looks like this flag was here from old times when all efl libraries were separated.

Reviewers: vtorri, NikaWhite

Reviewed By: NikaWhite

Subscribers: cedric, jpeg

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

7 years agoevas: Fix not update issue with TBM surface
jiin.moon [Tue, 11 Oct 2016 00:28:52 +0000 (08:58 +0830)]
evas: Fix not update issue with TBM surface

Summary:
If the pixels of image object has updates
via native_suface_set api with TBM surface,
does not update on screen(no rendering)

Reviewers: jpeg, cedric

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

7 years agoMerge branch 'devs/iscaro/osx'
Bruno Dilly [Mon, 10 Oct 2016 18:25:33 +0000 (15:25 -0300)]
Merge branch 'devs/iscaro/osx'

Some fixes for OS X.

This series fixes two problems pointed by jayji and some other
compiler warnings.

Patches by iscaro.
Differential Revision: https://phab.enlightenment.org/D4339

7 years agoEcore Evas Cocoa: Properly unregister the window events.
Guilherme Iscaro [Sun, 9 Oct 2016 21:43:28 +0000 (18:43 -0300)]
Ecore Evas Cocoa: Properly unregister the window events.

Fix T4624

7 years agoEet example: Add the correct variable in the hash.
Guilherme Iscaro [Sun, 9 Oct 2016 17:52:02 +0000 (14:52 -0300)]
Eet example: Add the correct variable in the hash.

7 years agoEfl UI Win: Avoid unused variable.
Guilherme Iscaro [Sun, 9 Oct 2016 17:12:03 +0000 (14:12 -0300)]
Efl UI Win: Avoid unused variable.

It's only used under X11 and Wayland backends.

7 years agoEcore_Thread: Avoid compiler warning
Guilherme Iscaro [Sun, 9 Oct 2016 16:51:53 +0000 (13:51 -0300)]
Ecore_Thread: Avoid compiler warning

Use PRIuPTR to print the Eina_Thread handle.

7 years agoEcore Cocoa: Add missing modifiers field to Ecore Events
Guilherme Iscaro [Sat, 8 Oct 2016 20:29:08 +0000 (17:29 -0300)]
Ecore Cocoa: Add missing modifiers field to Ecore Events

Fix T4477

7 years agoEcore_Cocoa: Fix repeat modifers keys.
Guilherme Iscaro [Sat, 8 Oct 2016 20:20:28 +0000 (17:20 -0300)]
Ecore_Cocoa: Fix repeat modifers keys.

Some values were repeated.

7 years agoecore_ipc: fix typos in documentation group names
Jee-Yong Um [Mon, 10 Oct 2016 04:57:42 +0000 (13:57 +0900)]
ecore_ipc: fix typos in documentation group names

Summary: fix typos in documentation group names to grouping APIs correctly

Reviewers: cedric, jpeg, Hermet

Reviewed By: Hermet

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

7 years agoFDO icons: add missing system-file-manager icon
Dave Andreoli [Sun, 9 Oct 2016 19:42:53 +0000 (21:42 +0200)]
FDO icons: add missing system-file-manager icon

Fix T4638

(cherry picked from commit 3fe1429eee5568ef7af7bc47a9dc43ce65e084ca)

7 years agoelm_code: Don't allow cursor to be placed mid-tab
Andy Williams [Sat, 8 Oct 2016 13:44:02 +0000 (14:44 +0100)]
elm_code: Don't allow cursor to be placed mid-tab