platform/upstream/efl.git
7 years agoelm_widget: do not check for the visibility
Marcel Hollerbach [Thu, 20 Jul 2017 10:00:13 +0000 (12:00 +0200)]
elm_widget: do not check for the visibility

it seems like the visibility is evalulated from different parent
relations, Just because the box (that is a container of a element) is
not visible, does not mean that the element in it is also not visible,
this somehow comes back to the box beeing deleted, the children beeing
reparented in evas, but not in elm. This is for now just a quickfix,
since those calls are just for optimization.

This fixes a load of errors once the elm_test window is closed

@fix

7 years agoeina_list: Ensure single init
Jean-Philippe Andre [Thu, 20 Jul 2017 08:42:14 +0000 (17:42 +0900)]
eina_list: Ensure single init

This fixes a crash in make check when --profile=dev is explicitely
enabled. eina_list_init() is called by the standard eina_init() loop
and by eina_debug_init() as well.

Honestly I'm not sure why it doesn't crash for other people as
well...

The crash was in eolian_suite during the second eina_init (called
from eolian_init).

7 years agoevas: Fix a crash in emotion with GL
Jean-Philippe Andre [Thu, 20 Jul 2017 07:43:52 +0000 (16:43 +0900)]
evas: Fix a crash in emotion with GL

Ooops! When mapping for writing we can't use the same code
path as when tofree is true. This restores the path for image
writing. This basically fixes rage with GL engine.

See also 45c8e5e983

7 years agoslider: fix jumping handler bug.
Hosang Kim [Thu, 20 Jul 2017 06:21:34 +0000 (15:21 +0900)]
slider: fix jumping handler bug.

Summary:
Actual slider value is not changed.
So when user release mouse or touch, slider value is returned
to the value by user set.

This is a partial revert of f41e2761608fff7b070d630a738

Fixes T5745

Test Plan: elementary_test -> slider

Reviewers: jpeg

Subscribers: cedric

Maniphest Tasks: T5745

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

7 years agoevas: Restore flag pre_render_done in render_mapped
Jean-Philippe Andre [Thu, 20 Jul 2017 05:35:48 +0000 (14:35 +0900)]
evas: Restore flag pre_render_done in render_mapped

Some objects don't go through render_pre (unchanged, child
of mapped parents), even though they will go through
evas_render_mapped. Those were marked as pre_render_done
inside evas_render_mapped since it seemed to fix some issues
a long time ago.

Unfortunately, if those objects are changed their flag may
not be reset to false, which means they never go through
render_pre, leading to render issues.

I believe simply restoring the value of the pre_render_done
flag should be good enough. I don't know why it is set to
true inside evas_render_mapped but I also don't want to find
out :)

See 9ac13e4aec83ea6dadfa62e4253b1db4ffe167e8 (old)
See 87e5e70a9d888ce93ed807bb0d39d1738241ad9b (older)

Patch made with @jiin.moon

7 years agoevas: Avoid infinite loop on evas shutdown
Jean-Philippe Andre [Thu, 20 Jul 2017 05:04:10 +0000 (14:04 +0900)]
evas: Avoid infinite loop on evas shutdown

If an object fails to call efl_destructor() on all the parent
classes, then it may never be removed from the layer object
inlist and never would its data be deleted either (eo keeps
it safely alive).

Here's how to test: add a "return;" statement inside an object's
destructor (eg. the window class).

Fixes T5680

7 years agoevas focus: Fix crash when shutting down with errors
Jean-Philippe Andre [Thu, 20 Jul 2017 05:22:07 +0000 (14:22 +0900)]
evas focus: Fix crash when shutting down with errors

Example test: add many evas_object_ref() to a window and click
on its X to close it.

7 years agoelm: Fix a safety error message
Jean-Philippe Andre [Wed, 19 Jul 2017 08:12:35 +0000 (17:12 +0900)]
elm: Fix a safety error message

Happens when shutting down E

7 years agoevas gl: Rename secsym_ to eglsym_
Jean-Philippe Andre [Thu, 20 Jul 2017 04:25:16 +0000 (13:25 +0900)]
evas gl: Rename secsym_ to eglsym_

eglDestroyImage has nothing to do with SEC...
This is a cosmetic change.

7 years agoevas gl: Check EGL version before using dlsym
Jean-Philippe Andre [Thu, 20 Jul 2017 04:16:50 +0000 (13:16 +0900)]
evas gl: Check EGL version before using dlsym

A recent commit broke texture_from_pixmap for NVIDIA EGL
(again), because eglCreateImage is a symbol in libEGL.so
but isn't in fact implemented by the driver.

That's because eglCreateImage() is exposed by libglvnd but
the underlying EGL implementation is NVIDIA and its version
is only 1.4, not 1.5 (where the API was introduced as core).

Instead of reverting the patch, it's better to cover our
bases properly and use dlsym() only if the version is right.

Note that GetProcAddress() may return garbage function
pointers for ALL functions as dynamic virtual functions may
be created on the fly by libglvnd. So it is absolutely
necessary to check the extension string as well.

See 0255f14dc2189c71776408b00307b8488bfa4dc5

7 years agogl_common: extsn is no longer unused
Derek Foreman [Wed, 19 Jul 2017 18:05:53 +0000 (13:05 -0500)]
gl_common: extsn is no longer unused

Also, we should throw an error when it's NULL, since it's important
for finding symbols for extended egl/gl.

7 years agogl_common: Prefer unextended eglCreateImage
Derek Foreman [Wed, 19 Jul 2017 17:24:19 +0000 (12:24 -0500)]
gl_common: Prefer unextended eglCreateImage

eglCreateImage is objectively better than eglCreateImageKHR - it allows
attributes large enough to hold pointer values.  We should use it when
available and only use the older extension version as fallback.

Also, eglCreateImage is core EGL functionality so don't depend on extensions
to be present to use it.  Theoretically we should be testing for
EGL version >= 1.5 but it's probably safe not to.

7 years agogl_common: Remove fallback hack for wayland
Derek Foreman [Wed, 19 Jul 2017 17:04:29 +0000 (12:04 -0500)]
gl_common: Remove fallback hack for wayland

This was only necessary due to bugs in the wayland_egl and gl_drm engine
that have been corrected.

Wayland has no bizarre requirements making this necessary.

7 years agogl_drm: Defer gl symbol lookups until they're possible
Derek Foreman [Wed, 19 Jul 2017 17:02:03 +0000 (12:02 -0500)]
gl_drm: Defer gl symbol lookups until they're possible

See previous commit for details.

7 years agowayland_egl: Defer gl symbol lookups until they're possible
Derek Foreman [Wed, 19 Jul 2017 17:00:07 +0000 (12:00 -0500)]
wayland_egl: Defer gl symbol lookups until they're possible

Commit 2e6587a14b adds a gl extension string to glsym_evas_gl_symbols()
to prevent using functions that are provided by extensions that aren't
available in the current gl context.

However, we can't query the extension strings until after we create an egl
context.

Split the regular symbol lookup stuff from the gl symbol lookup stuff so
we can query at the appropriate time.

7 years agowayland_egl: de-wtf the eglGetProcAddress prototype
Derek Foreman [Wed, 19 Jul 2017 16:42:42 +0000 (11:42 -0500)]
wayland_egl: de-wtf the eglGetProcAddress prototype

7 years agogl_drm: de-wtf the eglGetProcAddress prototype
Derek Foreman [Wed, 19 Jul 2017 16:41:32 +0000 (11:41 -0500)]
gl_drm: de-wtf the eglGetProcAddress prototype

This doesn't seem to serve any purpose other than rigorous proof that
typecasts can make literally anything compile.

7 years agogl_common: Stop looking for eglCreate/DestroyImageOES
Derek Foreman [Tue, 18 Jul 2017 21:10:31 +0000 (16:10 -0500)]
gl_common: Stop looking for eglCreate/DestroyImageOES

These aren't a thing.  the GL_OES_EGL_image_base extension doesn't exist
and the GL_OES_EGL_image extension doesn't extend egl, because it's a gl
extension.

So let's stop being the only google match for these nonsense strings.

7 years agoeo: Fix deadlock due to the shared mutex
Jean-Philippe Andre [Wed, 19 Jul 2017 06:25:46 +0000 (15:25 +0900)]
eo: Fix deadlock due to the shared mutex

Explicit lock / unlock of the shared mutex mixed with implicit
lock / unlock when accessing the internal Eo_Object data lead
to uncaught issues such as these.

This was found by trying to run E with gfx filters under eo_debug.

7 years agoevas: Fix cmopilation warning
Jean-Philippe Andre [Wed, 19 Jul 2017 05:01:07 +0000 (14:01 +0900)]
evas: Fix cmopilation warning

Oops I forgot to add that to the previous commit!

7 years agoevas: Fix support for image_data_get on snapshot
Jean-Philippe Andre [Wed, 19 Jul 2017 02:43:35 +0000 (11:43 +0900)]
evas: Fix support for image_data_get on snapshot

evas_object_image_data_get() is a legacy API that I made work
with snapshot objects (evas_object_image_snapshot_set()). Some
changes in the engine broke the behaviour and this patch fixes
it.

When getting the pixels from an FBO, in read-only mode, we need
to create a temporary image (pixels surface) that contains the
copy of the pixels we get from glReadPixels. This image needs
to be deleted afterwards. It is thus stored by the image object
and freed upon _image_data_set() (good) or object deletion (bad).

FBO + read-write is not supported by this API (it is supported
through buffer_map as the filters had to use that).

Fixes T5754

7 years agoevas engine gl: Add missing image unlock
Jean-Philippe Andre [Wed, 19 Jul 2017 04:19:24 +0000 (13:19 +0900)]
evas engine gl: Add missing image unlock

This is a rare error path. Unlikely and not very important as
the lock/unlock doesn't actually perform any meaningful operation.

7 years agomultibuttonentry: Fix item resource clean up logic.
Woochan Lee [Wed, 19 Jul 2017 01:35:49 +0000 (10:35 +0900)]
multibuttonentry: Fix item resource clean up logic.

Summary:
There are four cases where items are deleted.

1. Select item and push back button.
2. Delete "X" part of item.
3. Calling elm_object_item_del().
4. MBE deleted.

Previous logic is can't support for all cases.

below problems were there.

eina_list_remove() called twice.
list data free twice.

@fix

Test Plan: elementary_test -> multibuttonentry test.

Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

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

7 years agoemtoion gst1 - workaround gst break between 1.10 and 1.12
Carsten Haitzler (Rasterman) [Wed, 19 Jul 2017 01:44:23 +0000 (10:44 +0900)]
emtoion gst1 - workaround gst break between 1.10 and 1.12

so emotion was using a much older (pre 1.0) buffer map mechanism for
getting video data. a new frame map api was added to gst in 1.0 but we
didnt use it. gst broke the old buffer direct mapping for some codecs
paths between 1.10 and 1.12. since we were using a very old method/api
this broke us. this also happens to fix some vaapi issues (except
where the buffer is simply never mappable ever). so this is kind of a
fix (updating us to as more modern api) and a workaround.

@fix

7 years agoeo: clarify what extensions are.
Marcel Hollerbach [Tue, 18 Jul 2017 15:46:02 +0000 (17:46 +0200)]
eo: clarify what extensions are.

7 years agoelm_widget: do not register disabled logical nodes
Marcel Hollerbach [Tue, 18 Jul 2017 14:16:18 +0000 (16:16 +0200)]
elm_widget: do not register disabled logical nodes

this reduces the load of useless logical trees that

ref T5753

7 years agoelm_widget: eval all children if the disable property has changed
Marcel Hollerbach [Tue, 18 Jul 2017 14:15:11 +0000 (16:15 +0200)]
elm_widget: eval all children if the disable property has changed

since all children could have a new register state in the manager

fix T5753

7 years agoelm_widget: disable is a property across the tree
Marcel Hollerbach [Tue, 18 Jul 2017 14:13:57 +0000 (16:13 +0200)]
elm_widget: disable is a property across the tree

if a widget is disabled its children are also meant to be disabled.

ref T5753

7 years agoeldbus: support output dir in codegen
Mike Blumenkrantz [Mon, 17 Jul 2017 16:57:19 +0000 (12:57 -0400)]
eldbus: support output dir in codegen

@feature

7 years agoelm_test: Set label as word wrap
Jean-Philippe Andre [Tue, 18 Jul 2017 09:06:17 +0000 (18:06 +0900)]
elm_test: Set label as word wrap

This exposes an elm_win sizing bug. To test (under X):
  ELM_DISABLE_EXTERNAL_MENU=1 elementary_test -to "Main Menu"

The layout is not completely wrong 100% of the time, but it is
exactly correct 0% of the time. Window sizing is our flying
spaghetti monster.

7 years agowin: Fix main menu when not in framespace
Jean-Philippe Andre [Tue, 18 Jul 2017 05:35:40 +0000 (14:35 +0900)]
win: Fix main menu when not in framespace

On OSX the framespace and CSD (Client-Side Decorations) are not
supported at all... I am not able to test this case. This patch
restores the main menu functionality based on pre 1.19 themes,
where it was located inside win.edc (app content) and not in
border.edc (framespace).

Note that the initial size of a window may be wrong, eg as in
  elementary_test -to "Main Menu"

Fixes T5734 (hopefully!)

7 years agoecore_evas: make sure fn_post_render callback is called last.
Cedric BAIL [Mon, 17 Jul 2017 18:51:15 +0000 (11:51 -0700)]
ecore_evas: make sure fn_post_render callback is called last.

Should fix T5595.

7 years agoText: move Annotation type to Efl.Text.Annotate namespace
Daniel Hirt [Mon, 17 Jul 2017 14:38:28 +0000 (17:38 +0300)]
Text: move Annotation type to Efl.Text.Annotate namespace

7 years agoEfl text: replace all usages of cursor handle to same type
Daniel Hirt [Mon, 17 Jul 2017 09:45:36 +0000 (12:45 +0300)]
Efl text: replace all usages of cursor handle to same type

Changes cursor handle name from 'Efl.Text.Cursor.Cursor_Data' to
'Efl.Text.Cursor.Cursor'.
Also, replace all usages of Efl_Canvas_Text_Cursor
with Efl_Text_Cursor_Cursor as the handle for the cursor.

7 years agoEvas textblock: fix legacy header
Daniel Hirt [Mon, 17 Jul 2017 06:25:32 +0000 (09:25 +0300)]
Evas textblock: fix legacy header

Fix ABI changes with const qualifiers, as well as some missing docs.

7 years agoUi internal text interactive: handle signed cursor position
Daniel Hirt [Wed, 12 Jul 2017 06:52:59 +0000 (09:52 +0300)]
Ui internal text interactive: handle signed cursor position

CID 1377551.

7 years agoUi text: don't send focus action to cursor on init
Daniel Hirt [Mon, 3 Jul 2017 17:37:39 +0000 (20:37 +0300)]
Ui text: don't send focus action to cursor on init

It made the cursor animation start on init, even if widget wasn't
focused.

7 years agoUi text: add more examples to test
Daniel Hirt [Thu, 22 Jun 2017 15:03:45 +0000 (18:03 +0300)]
Ui text: add more examples to test

7 years agoUi text: set default color (white)
Daniel Hirt [Thu, 22 Jun 2017 15:03:41 +0000 (18:03 +0300)]
Ui text: set default color (white)

7 years agoCanvas text: re-add support for tabs
Daniel Hirt [Thu, 22 Jun 2017 14:59:14 +0000 (17:59 +0300)]
Canvas text: re-add support for tabs

Somehow this was left out. Fixes tabs, so you can now use "\t" and
press the "tab" key.

7 years agoUi text: use new api instead of 'style' property in the test
Daniel Hirt [Thu, 22 Jun 2017 14:17:17 +0000 (17:17 +0300)]
Ui text: use new api instead of 'style' property in the test

7 years agoOSX: fix version detection in build
Andy Williams [Mon, 17 Jul 2017 12:04:30 +0000 (13:04 +0100)]
OSX: fix version detection in build

7 years agoeolian: always generate a class initializer
Daniel Kolesa [Mon, 17 Jul 2017 09:04:29 +0000 (11:04 +0200)]
eolian: always generate a class initializer

Because there might be hidden C implements defined, we need to
always generate the appropriate class initializer. This does not
hurt anything as the contents would have been called automatically
by Eo anyway.

@fix T5736

7 years agowin: Amend previous commit about modifiers
Jean-Philippe Andre [Mon, 17 Jul 2017 07:36:19 +0000 (16:36 +0900)]
win: Amend previous commit about modifiers

The code was invalid, so making it valid now. Explicitely marking
the modifiers as unused, as mentionned in the documentation as
well.

See 9baa8752a9170e68e9430474f26cc1e672677d8e

7 years agoeina debug bt sig handle - fix build on osx for clockid_t
Carsten Haitzler (Rasterman) [Mon, 17 Jul 2017 07:02:25 +0000 (16:02 +0900)]
eina debug bt sig handle - fix build on osx for clockid_t

fix #ifdefs so it should in theory build on osx 10.11.x

@fix

7 years agoedje_signal: reduce member count when deleted edje_signal_callback is found
Sungtaek Hong [Mon, 17 Jul 2017 06:05:19 +0000 (15:05 +0900)]
edje_signal: reduce member count when deleted edje_signal_callback is found

Summary:
 - when deleted callback is found _edje_signal_callback_move_last() is called
   in order to pack match array.
 - during _edje_signal_callback_move_last() index skips when another deleted
   callback is found, but does not reduce members_count.
 - this duplicates a remaining callback and calls the callback twice.

Test Plan:
1. add multiple edje_signal_callback by edje_object_signal_callback_add()
              which have the same source, signal, func but different data.
           2. delete first and last callback by
              edje_object_signal_callback_del/edje_object_signal_callback_del_full.
           3. emit edje_signal.
           4. observe one callback is called twice.

Reviewers: SanghyeonLee, conr2d, jpeg

Subscribers: cedric, jpeg

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

7 years agowin: Fix ABI compatibility for grab modifiers
Jean-Philippe Andre [Mon, 17 Jul 2017 05:24:30 +0000 (14:24 +0900)]
win: Fix ABI compatibility for grab modifiers

This fixes an ABI change when moving from unsigned long long
modifier mask to a simple enum. This is a fix for the release
of EFL 1.20.

7 years agoecore joystick: Use const char * in API, not slstr
Jean-Philippe Andre [Mon, 17 Jul 2017 02:00:23 +0000 (11:00 +0900)]
ecore joystick: Use const char * in API, not slstr

The API eina_slstr_ is meant to look just like const
strings, wihch means here there could instead be an internal
struct holding the name, and the API would behave the same.

Note: This API is new in 1.20

7 years agoRevert "elm_widget: separate elm_widget_item codes from elm_widget.c"
WooHyun Jung [Mon, 17 Jul 2017 04:45:08 +0000 (13:45 +0900)]
Revert "elm_widget: separate elm_widget_item codes from elm_widget.c"

This reverts commit 4f8d20c8265385f5eb7412dc96327b273cadd0b6.
I'll apply this after finishing of release.
Thanks JP to give notification.

7 years agoelm_widget: separate elm_widget_item codes from elm_widget.c
WooHyun Jung [Mon, 17 Jul 2017 02:22:46 +0000 (11:22 +0900)]
elm_widget: separate elm_widget_item codes from elm_widget.c

This will help to focus on creating efl_ui_widget class work.
And, we need to change all the Elm_Widget_Item related logics to
factory or something else.

7 years agoevas-gl_cocoa: fix compilation
Jean Guyomarc'h [Sun, 16 Jul 2017 15:26:41 +0000 (17:26 +0200)]
evas-gl_cocoa: fix compilation

Booo for commit 2e6587a14b5e301e66f0ec5ef080eccb897b0fc5.

7 years agoevas gl - fix compositing/native surface with egl/gles after glvnd
Carsten Haitzler (Rasterman) [Fri, 14 Jul 2017 09:55:25 +0000 (18:55 +0900)]
evas gl - fix compositing/native surface with egl/gles after glvnd

this fixes an issue that has cropped up in the past few months - only
nvidia drivers with egl/gles in x11... and compositing won't work
(native surface) and the introduction of libglvnd

it's a combination of libglvnd lying that it has symbols it can't
later find, new features to get core functions via procaddress that we
hadn't migrated to use AND use preferring core functions that libglvnd
will expose, so switching to KHR extensions by preference. we also
need to symmetrically use destroy image khr too...

oddly enough using procaddress purely for create/destroy image makes
wayland fail ... sofor now i'm taking advantage of the fact that
wayland has no extensions string passed in at the moment and still
doing dlsym... this is odd though.

@fix

7 years agoefreet icon cache create bin - check realloc results and handle
Carsten Haitzler (Rasterman) [Thu, 13 Jul 2017 09:48:31 +0000 (18:48 +0900)]
efreet icon cache create bin - check realloc results and handle

@fix

7 years agoefreet cache create binary - check realloc results and handle failure
Carsten Haitzler (Rasterman) [Thu, 13 Jul 2017 09:48:00 +0000 (18:48 +0900)]
efreet cache create binary - check realloc results and handle failure

@fix

7 years agoeo lexer - handle malloc failure with longjmp
Carsten Haitzler (Rasterman) [Thu, 13 Jul 2017 09:12:01 +0000 (18:12 +0900)]
eo lexer - handle malloc failure with longjmp

handles possible error case nicely

7 years agoevas mesh save - use alloca for tmp strings instead of heap
Carsten Haitzler (Rasterman) [Thu, 13 Jul 2017 08:54:07 +0000 (17:54 +0900)]
evas mesh save - use alloca for tmp strings instead of heap

this reduces code and means we dont have to handle NULL exceptions as
alloca always "works".

@fix

7 years agoelm_code: add missing selection signals
Andy Williams [Sat, 15 Jul 2017 20:29:33 +0000 (21:29 +0100)]
elm_code: add missing selection signals

7 years agobuild: set tests according to profile by default
Andy Williams [Sat, 15 Jul 2017 19:00:01 +0000 (20:00 +0100)]
build: set tests according to profile by default

7 years agoecore-evas: make the window_get apis return null without errors on failure
Mike Blumenkrantz [Fri, 14 Jul 2017 22:43:06 +0000 (18:43 -0400)]
ecore-evas: make the window_get apis return null without errors on failure

the normal usage of these is something like

if (!strcmp(engine, my_engine))
  win = window_get(ee);

which is a waste of effort since the window_get() functions all check
the engine interface internally

7 years agoeina: make tiler test compare tilers which are not equal
Mike Blumenkrantz [Fri, 14 Jul 2017 22:43:06 +0000 (18:43 -0400)]
eina: make tiler test compare tilers which are not equal

7 years agoeina: fix eina_tiler_equal to not always return true
Mike Blumenkrantz [Fri, 14 Jul 2017 22:43:06 +0000 (18:43 -0400)]
eina: fix eina_tiler_equal to not always return true

ref e3f4f4457d1614912cd43fc9db3dd07a7a8fe911
broken by D996

@fix

7 years agoeina: make tiler function params const where appropriate
Mike Blumenkrantz [Fri, 14 Jul 2017 22:43:06 +0000 (18:43 -0400)]
eina: make tiler function params const where appropriate

stop throwing warnings when passing const params to functions which don't
modify the params

7 years agoexamples: elm_icon: remove no-op deprecated function call for icon lookup
Stefan Schmidt [Fri, 14 Jul 2017 12:06:34 +0000 (14:06 +0200)]
examples: elm_icon: remove no-op deprecated function call for icon lookup

The function is deprecated and actually a no-op already. Better make
sure we do not promote deprecated functions in our won examples.

7 years agotests: elm_popup: mark unused parameter as such to avoid warning
Stefan Schmidt [Fri, 14 Jul 2017 10:46:33 +0000 (12:46 +0200)]
tests: elm_popup: mark unused parameter as such to avoid warning

7 years agoefl.ui.image.zoomable: mark setter of img_region property as eo api
Amitesh Singh [Fri, 14 Jul 2017 10:32:55 +0000 (19:32 +0900)]
efl.ui.image.zoomable: mark setter of img_region property as eo api

thanks to stefan for reporting.

7 years agoedje_cc: Add copy item for proxy part
jiin.moon [Fri, 14 Jul 2017 02:29:50 +0000 (11:29 +0900)]
edje_cc: Add copy item for proxy part

Summary:
Although user use "inherit" in a state of proxy part,
the inherit function does not copy the source_visible and
the source_clip value of parent to the state.

Test Plan: {F1751132}sample

Reviewers: jpeg, cedric

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

@fix

7 years agoecore_evas: Perform a tick before a manual render if we're not ticking
Derek Foreman [Wed, 12 Jul 2017 21:31:19 +0000 (16:31 -0500)]
ecore_evas: Perform a tick before a manual render if we're not ticking

If we turned off the ticking with manual_render_set then perform a
manual render, we need animators to update.

ref T5462

7 years agoecore_evas: Don't start custom tickers for manually rendered canvases
Derek Foreman [Tue, 11 Jul 2017 21:43:33 +0000 (16:43 -0500)]
ecore_evas: Don't start custom tickers for manually rendered canvases

When a canvas is manually rendered the ticker is just a waste of cpu, and
worse - it can wake the drm back-end from dpms sleep, as the display needs
to be awake to generate vblanks.

We fire a DBG message when attempting to start an animator in this state
because it's frequently a bug that wastes battery life - (like E doing idle
cursor animations or clock updates while the display is off)

However, dpms off is not the only potential usage of manual render, so
another commit will follow shortly to fix the bug this commit introduces -
when using a backend with a custom ticker and doing manual render with
the display on, calling ecore_evas_manual_render() will not draw with
updated animator state.

Fix T5462
Again.
Really.

7 years agoecore_evas_drm: Provide a last_tick_get callback
Derek Foreman [Wed, 12 Jul 2017 21:30:07 +0000 (16:30 -0500)]
ecore_evas_drm: Provide a last_tick_get callback

Allow the drm engine to provide a tick timestamp for the previous vblank
interval.

ref T5462

7 years agoecore_evas: Add a function pointer for last_tick_get
Derek Foreman [Wed, 12 Jul 2017 21:29:17 +0000 (16:29 -0500)]
ecore_evas: Add a function pointer for last_tick_get

Engines that provide their own tickers may need to be able to provide the
time of the last tick even if they weren't sending ticks to EFL at the
time.

This is a feature added during freeze as it's necessary to resolve a bug.

ref T5462

7 years agoecore_drm2: Add a query for the next vblank time
Derek Foreman [Wed, 12 Jul 2017 20:27:52 +0000 (15:27 -0500)]
ecore_drm2: Add a query for the next vblank time

I guess this is a feature, and we're deep in freeze, but:

a) this is critical for fixing T5462 properly without any side effects.
b) ecore_drm2 is all beta api
c) this should only affect wayland users

ref T5462

7 years agoecore_evas: Refactor event catchers to call custom_tick_begin/end
Derek Foreman [Tue, 11 Jul 2017 21:13:46 +0000 (16:13 -0500)]
ecore_evas: Refactor event catchers to call custom_tick_begin/end

Make the event catcher functions call the custom_tick_begin/end helpers
instead of directly calling the engine functions.

7 years agoecore_evas engines: Add some nulls to the func arrays
Derek Foreman [Wed, 12 Jul 2017 21:24:09 +0000 (16:24 -0500)]
ecore_evas engines: Add some nulls to the func arrays

Purely cosmetic, but gets the comments back in sync with reality.

7 years agoecore_evas: protect against application holding a reference on the canvas while destr...
Cedric BAIL [Thu, 13 Jul 2017 22:34:37 +0000 (15:34 -0700)]
ecore_evas: protect against application holding a reference on the canvas while destroying the ecore_evas.

7 years agodoc: Include two missing properties
Andy Williams [Thu, 13 Jul 2017 22:19:52 +0000 (23:19 +0100)]
doc: Include two missing properties

7 years agoelm: naviframe/prefs : do not include non-public header files
Stefan Schmidt [Thu, 13 Jul 2017 11:52:35 +0000 (13:52 +0200)]
elm: naviframe/prefs : do not include non-public header files

We are not shipping those (part of the private eo header files) and thus
we can not include those either. Simply removing them fixes the problem
I see with our ABI checker and it still passes al build tests I have.

7 years agoelm: build: fix indentation of file lists
Stefan Schmidt [Thu, 13 Jul 2017 11:04:44 +0000 (13:04 +0200)]
elm: build: fix indentation of file lists

I was looking over this file for other problems but this jumped into my
eye.

7 years agoeina: inarray: remove documentation pointer to non-existing functions
Stefan Schmidt [Thu, 13 Jul 2017 09:21:59 +0000 (11:21 +0200)]
eina: inarray: remove documentation pointer to non-existing functions

These do not longer exist in our current code base (did they ever?).

Thanks a lot to Vincent Torri for spotting this!

7 years agoefl_ui_focus_manager: this whole thing is not just eo api its also beta
Marcel Hollerbach [Thu, 13 Jul 2017 08:37:34 +0000 (10:37 +0200)]
efl_ui_focus_manager: this whole thing is not just eo api its also beta

7 years agoelementary: no need to provide the new legacy api
Marcel Hollerbach [Thu, 13 Jul 2017 08:23:56 +0000 (10:23 +0200)]
elementary: no need to provide the new legacy api

The api is beta AND only usable in eo, so no need to add those apis here

7 years agowin: fix compiler warning
Amitesh Singh [Thu, 13 Jul 2017 02:16:48 +0000 (11:16 +0900)]
win: fix compiler warning

7 years agoThermal theme: Remove text from theme and quit wasting space.
Stephen 'Okra' Houston [Wed, 12 Jul 2017 18:07:22 +0000 (13:07 -0500)]
Thermal theme: Remove text from theme and quit wasting space.

7 years agoecore_anim: set the tick thread's fds CLOEXEC
Derek Foreman [Wed, 12 Jul 2017 18:01:43 +0000 (13:01 -0500)]
ecore_anim: set the tick thread's fds CLOEXEC

If we don't set them CLOEXEC then they end up in the fd space of every
client Enlightenment launches, allowing any client to write to them
and mess with animator timings or freeze the compositor.

7 years agoefl-wl: initialize variable
Mike Blumenkrantz [Wed, 12 Jul 2017 17:41:23 +0000 (13:41 -0400)]
efl-wl: initialize variable

CID 1377573

7 years agobuild: efl_wl: make sure we have the two files for efl_wl included
Stefan Schmidt [Wed, 12 Jul 2017 16:56:47 +0000 (18:56 +0200)]
build: efl_wl: make sure we have the two files  for efl_wl included

These two files coming in via EXTRA_DIST have not been included becuase
they have been living inside an ifdef which would only have them
included in a dist when configured with wayland enabled. We always want
to have these files in the dist though. Building for wayland out of a
tarball release works now again.

Problem reported by William L. Thomson Jr.

7 years agoedje_edit: fix source generation
Andrii Kroitor [Wed, 12 Jul 2017 16:21:15 +0000 (19:21 +0300)]
edje_edit: fix source generation

7 years agoefl-wl: change x11 atom name var to normal char*
Mike Blumenkrantz [Wed, 12 Jul 2017 16:00:52 +0000 (12:00 -0400)]
efl-wl: change x11 atom name var to normal char*

7 years agoefl-wl: free atom name when sending selection
Mike Blumenkrantz [Wed, 12 Jul 2017 16:00:52 +0000 (12:00 -0400)]
efl-wl: free atom name when sending selection

CID 1377542

7 years agoefl-wl: free x11 pipe read buf on read fail
Mike Blumenkrantz [Wed, 12 Jul 2017 16:00:52 +0000 (12:00 -0400)]
efl-wl: free x11 pipe read buf on read fail

CID 1377520

7 years agoefl-wl: return if pipe reading fails in x11 bridge
Mike Blumenkrantz [Wed, 12 Jul 2017 16:00:52 +0000 (12:00 -0400)]
efl-wl: return if pipe reading fails in x11 bridge

CID 1377526, 1377534

7 years agoefl-wl: check returns in x11 selection request handler
Mike Blumenkrantz [Wed, 12 Jul 2017 16:00:52 +0000 (12:00 -0400)]
efl-wl: check returns in x11 selection request handler

CID 1377518

7 years agoefl-wl: mmap byte for nul terminator in keymap string
Mike Blumenkrantz [Wed, 12 Jul 2017 16:00:52 +0000 (12:00 -0400)]
efl-wl: mmap byte for nul terminator in keymap string

CID 1377545

7 years agoefl-wl: check return of ecore_main_fd_handler_fd_get
Mike Blumenkrantz [Wed, 12 Jul 2017 16:00:52 +0000 (12:00 -0400)]
efl-wl: check return of ecore_main_fd_handler_fd_get

CID 1377541, 1377546, 1377519, 1377529, 1377543

7 years agoefl_wl: check mkstemp return
Mike Blumenkrantz [Wed, 12 Jul 2017 16:00:52 +0000 (12:00 -0400)]
efl_wl: check mkstemp return

CID 1377533

7 years agoefl_wl: error and cleanup on CLOEXEC fail
Mike Blumenkrantz [Wed, 12 Jul 2017 16:00:52 +0000 (12:00 -0400)]
efl_wl: error and cleanup on CLOEXEC fail

CID 1377530, 1377531

7 years agoefl_wl: Fix resource leak
Chris Michael [Wed, 12 Jul 2017 15:24:37 +0000 (11:24 -0400)]
efl_wl: Fix resource leak

Coverity reports that 'name' is leaked here, so free the return
ecore_x_atom_name_get.

Fixes CID1377537

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Fix resource leak
Chris Michael [Wed, 12 Jul 2017 15:02:16 +0000 (11:02 -0400)]
elput: Fix resource leak

Coverity CID1377539 says that we leak the eldbus reply here when we
error out, so be sure to cleanup 'reply'

Fixes CID1377539

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore: Fix coverity resource leak
Chris Michael [Wed, 12 Jul 2017 14:58:28 +0000 (10:58 -0400)]
ecore: Fix coverity resource leak

Coverity CID1377544 reports that poller is leaked here if we error out
and return null. As poller is created with calloc, we should free it
before returning.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoedje: give proper width to entry's cursor according to its theme
Youngbok Shin [Wed, 12 Jul 2017 09:37:50 +0000 (18:37 +0900)]
edje: give proper width to entry's cursor according to its theme

Summary:
evas_object_textblock_cursor_geometry_get() always return 0 as cursor's width
for BEFORE type cursor. It casued different cursor width when cursor_fg2 was shown.
The cursor_fg and cursor_fg2 must have same width according to its min width.

Also, the patch will enclose code for cursor_fg2 by cursor_fg code.
It is used when only there is cursor_fg.
@fix

Test Plan:
1. Give bigger width to entry's cursor by changing its theme.
2. See the width cursor_fg, cursor_fg2 when there is [LTR text + RTL text].

Reviewers: raster, herdsman, cedric, jpeg

Subscribers: stefan_schmidt

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

7 years agoevas_smart: Fix evas_smart_callback_description_find
Jean-Philippe Andre [Wed, 12 Jul 2017 08:19:28 +0000 (17:19 +0900)]
evas_smart: Fix evas_smart_callback_description_find

bsearch was returnign a cb** not a cb*

Fixes T4540