platform/upstream/efl.git
7 years agoecore_events: inarray should be flushed before return
WooHyun Jung [Wed, 26 Jul 2017 09:57:37 +0000 (18:57 +0900)]
ecore_events: inarray should be flushed before return

@fix

7 years ago ecore_evas_wayland: fix bug ecore_evas cannot update the evas when rotation
Jiyoun Park [Wed, 26 Jul 2017 06:28:02 +0000 (15:28 +0900)]
ecore_evas_wayland: fix bug ecore_evas cannot update the evas when rotation

    usecase:
    show -> rotation -> hide -> show
    ecore_evas_wayland didn't check the rotation.
    when ee is landscapemode, it cannot update the right area of evas.

7 years agoelm_code: Fix missing middle button selection paste
Andy Williams [Tue, 25 Jul 2017 22:54:21 +0000 (23:54 +0100)]
elm_code: Fix missing middle button selection paste

Resolves task T5520
@fix

7 years agoelput: Close fds when asked to
Derek Foreman [Tue, 25 Jul 2017 21:51:21 +0000 (16:51 -0500)]
elput: Close fds when asked to

Our close callback tells logind we're done with a device, but it should
also actually close the fd it's passed, or we end up leaking piles of
fds on VC switch.

see weston commit 8f5acc2f3a29c3831af4ddd6bed57f703c98dc77
and subsequent regression in commit 72dea06d7952e3ce8dd8057f7106186da4fa2678
and pending fix in https://patchwork.freedesktop.org/patch/168992/

7 years agoedje_cc: fix wrong comment about lazEDC norequired.
Sungtaek Hong [Tue, 25 Jul 2017 05:44:39 +0000 (14:44 +0900)]
edje_cc: fix wrong comment about lazEDC norequired.

Summary: - norequired; stands for required: 0

Reviewers: conr2d, jpeg

Reviewed By: jpeg

Subscribers: cedric

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

7 years agoelm: Move calls to efl_destructor(efl_super()) to the end
Jean-Philippe Andre [Thu, 20 Jul 2017 09:00:15 +0000 (18:00 +0900)]
elm: Move calls to efl_destructor(efl_super()) to the end

When destroying any object, its parent class destructor should
be called after the subclass destructor has been called. Only
some extremely limited work may be done after the super call.

This commit makes sure that all efl_destructor() overrides in
elementary are doing operations in the right order.

Also, remove a return void.

7 years agoelm_widget: only emit events when there is really a changed manager
Marcel Hollerbach [Mon, 24 Jul 2017 21:35:26 +0000 (23:35 +0200)]
elm_widget: only emit events when there is really a changed manager

A manager change to NULL is to be used as "this object is not registered
anymore" call, which will happen quite regular during shutdown.

7 years agoelm_widget: call the events after eval outself with new manager/parent
Marcel Hollerbach [Mon, 24 Jul 2017 15:58:13 +0000 (17:58 +0200)]
elm_widget: call the events after eval outself with new manager/parent

otherwise we might end up with a node_get error, since the widget where
the event is called on is still registered in the wrong manager

7 years agoelm_widget: only set focus.manager if we are really registering
Marcel Hollerbach [Mon, 24 Jul 2017 15:54:31 +0000 (17:54 +0200)]
elm_widget: only set focus.manager if we are really registering

otherwise we might set focus.manager even if we are not registered

7 years agoelm_widget: give feedback if registration was successfull or not
Marcel Hollerbach [Thu, 20 Jul 2017 15:37:03 +0000 (17:37 +0200)]
elm_widget: give feedback if registration was successfull or not

with this we can whipe out the focus.manager field in elm.widget so for
the case that something goes wrong we only get the error message where
actually something went wrong, and not the whole bunch of follow ups
where the code assumes its registered but it isnt.

7 years agoelput: Fix multiple open/close of drm devices
Derek Foreman [Mon, 24 Jul 2017 21:03:10 +0000 (16:03 -0500)]
elput: Fix multiple open/close of drm devices

When I added the code to probe drm devices to ensure they're
modeset capable (ref 414d406b3b442216543cdaef112787696ae09898)
I didn't realize elput didn't allow us to open and close more than
one drm device at startup without blowing up libinput.

This is a somewhat dirty hack to rough that in.

The problem is that open/close the device during startup will
result in an async "gone" callback from logind, which then kicks
off an input shutdown.  We need to try harder to only do that
shutdown when it makes sense.

7 years agoecore-wl2: handle null offer drags more effectively
Mike Blumenkrantz [Mon, 24 Jul 2017 12:28:39 +0000 (08:28 -0400)]
ecore-wl2: handle null offer drags more effectively

this is valid and refers to an offer with no types; a leave event
with no enter is a protocol error, however

fix T5770

@fix

7 years agoRevert "ecore wl2 - dnd - handle NULL drags... shouldnt happen but does"
Mike Blumenkrantz [Mon, 24 Jul 2017 12:28:39 +0000 (08:28 -0400)]
Revert "ecore wl2 - dnd - handle NULL drags... shouldnt happen but does"

This reverts commit 85e585846600742a7f395751816f348b4152269f.

please do not randomly add null checks for the purpose of quickly closing tickets.

7 years agoecore wl2 - dnd - handle NULL drags... shouldnt happen but does
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 09:53:33 +0000 (18:53 +0900)]
ecore wl2 - dnd - handle NULL drags... shouldnt happen but does

this should fix T5770

@fix

7 years agoefl net server udp - report erro on alloc failure
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 08:44:22 +0000 (17:44 +0900)]
efl net server udp - report erro on alloc failure

unwind nicely and complain

7 years agoecore con proxy helper - complain when realloc fails
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 08:35:13 +0000 (17:35 +0900)]
ecore con proxy helper - complain when realloc fails

so you know why things might be failing... complain about out of
memory errors.

7 years agoecore exe - pisix - handle malloc fails
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 07:59:53 +0000 (16:59 +0900)]
ecore exe - pisix - handle malloc fails

handle malloc fails better
@fix

7 years agoecore win32 exe handling - check realloc and malloc returns
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 07:57:22 +0000 (16:57 +0900)]
ecore win32 exe handling - check realloc and malloc returns

handle out of memory errors better
@fix

7 years agoecore_exe - handle realloc failures by complaining and rolling back
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 05:10:17 +0000 (14:10 +0900)]
ecore_exe - handle realloc failures by complaining and rolling back

@fix

7 years agoembryo_cc - be sensible about realloc returns so analysers are happy
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 04:46:30 +0000 (13:46 +0900)]
embryo_cc - be sensible about realloc returns so analysers are happy

assingto tmp var then assign to real one after a check to analysers
dont complain.

7 years agoefreetd cache create - fix reallocs to bail on out of memory cleanly
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 04:37:57 +0000 (13:37 +0900)]
efreetd cache create - fix reallocs to bail on out of memory cleanly

7 years agoedje_cc - make svg loader (still beta) handle out of memory nicely
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 04:26:28 +0000 (13:26 +0900)]
edje_cc - make svg loader (still beta) handle out of memory nicely

print ERR and abort.

7 years agoedje convert - make realloc fatal and complain about it
Carsten Haitzler (Rasterman) [Mon, 24 Jul 2017 04:09:26 +0000 (13:09 +0900)]
edje convert - make realloc fatal and complain about it

cleaner error handling

7 years agoedje_cc out: fix div by 0 correctly
Amitesh Singh [Mon, 24 Jul 2017 00:50:05 +0000 (09:50 +0900)]
edje_cc out: fix div by 0 correctly

7 years agoelm_code: Fix crash with long lines
Andy Williams [Sun, 23 Jul 2017 20:30:35 +0000 (21:30 +0100)]
elm_code: Fix crash with long lines

Also fixes issue where widget would sometimes blank when scrolling
@fix

7 years agoedje_cc out - fix theoretical div by 0
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:48:16 +0000 (19:48 +0900)]
edje_cc out - fix theoretical div by 0

fixes CID 1371125

7 years agoedje_cc out ... fix theoretical div by zero...
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:46:17 +0000 (19:46 +0900)]
edje_cc out ... fix theoretical div by zero...

if files size was 0... which would basically make a lot fail before...
it could be a divide by zero. fix and just assume minimum size of 1.

fix CID 1371127

7 years agoefl ui grid - handle invalid 0x0 fully if the grid size fails to do it
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:42:06 +0000 (19:42 +0900)]
efl ui grid - handle invalid 0x0 fully if the grid size fails to do it

if efl_pack_grid_size_set is overridden and somehow allows 0x0 to
still happen then handle this caase and skip the layout.

fix CID 1374317

7 years agoedje_cc out ... check more iui list element ptrs to help coverity
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:36:41 +0000 (19:36 +0900)]
edje_cc out ... check more iui list element ptrs to help coverity

fix CID 1374482 ... and others i hope.

7 years agoedje_cc out - double check list element ptr to make coverity happy
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:33:58 +0000 (19:33 +0900)]
edje_cc out - double check list element ptr to make coverity happy

fix CID 1374483

7 years agoevas seat focus add - handle other case where layer may be null
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:30:31 +0000 (19:30 +0900)]
evas seat focus add - handle other case where layer may be null

fix CID 1377522

7 years agoeina debug timer - handle fail wakeup write with error complaint
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:26:56 +0000 (19:26 +0900)]
eina debug timer - handle fail wakeup write with error complaint

fix CID 1377528

7 years agoadd comment about poll high/medium/low implementation of events
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:18:55 +0000 (19:18 +0900)]
add comment about poll high/medium/low implementation of events

not brilliant as it stands. :(

7 years agoecore main - fix division to remain a double/float as expected
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:12:32 +0000 (19:12 +0900)]
ecore main - fix division to remain a double/float as expected

1/60 != 1.0/60.0 ... the first is an integer which is 0... the second
is 0.016666666 .... a float/double. fix CID 1377532

7 years agoeina debug - don't try and collect stats on more than a million threads
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 10:09:11 +0000 (19:09 +0900)]
eina debug - don't try and collect stats on more than a million threads

sanity check... just in case.

7 years agoelm cnp - check if selbuf is null or not and skip copying if null
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 09:56:43 +0000 (18:56 +0900)]
elm cnp - check if selbuf is null or not and skip copying if null

this should fix CID 1377536

7 years agoevas callbacks - check if obj->events is valid because it's cow alloced
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 09:53:46 +0000 (18:53 +0900)]
evas callbacks - check if obj->events is valid because it's cow alloced

it COULD be null and we do have other checks for it being not-null and
we dont check if the alloc fails...  so check. this SHOULD fix
CID 1377547

7 years agoeina debug - add comments to cpu debug using locks to pause sysmon
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 09:43:58 +0000 (18:43 +0900)]
eina debug - add comments to cpu debug using locks to pause sysmon

this is intended so leave comments saying so. coverity doesn't like it
with CID 1377549

7 years agoeina debug - check return value of syscall for errors
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 09:40:04 +0000 (18:40 +0900)]
eina debug - check return value of syscall for errors

this should fix CID 1377550

7 years agoefl canvas image - dbug ingo get - dont get if no root dbg info supplied
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 09:36:44 +0000 (18:36 +0900)]
efl canvas image - dbug ingo get - dont get if no root dbg info supplied

if root dbg info is null we'll leak and not have anything useful
stored somewhere for fetching anyway.

this should fix CID 1365656

7 years agoevas module load add comments pointing out this is intentional ptr loss
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 09:29:57 +0000 (18:29 +0900)]
evas module load add comments pointing out this is intentional ptr loss

7 years agoefreetd cache - fix leak of strbuf when error conditions abort save
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 09:11:26 +0000 (18:11 +0900)]
efreetd cache - fix leak of strbuf when error conditions abort save

fix CID 1374951

7 years agoefreetd cache - handle queue case leaking strbuf
Carsten Haitzler (Rasterman) [Sun, 23 Jul 2017 09:09:39 +0000 (18:09 +0900)]
efreetd cache - handle queue case leaking strbuf

fix CID 1374954

7 years agoecore_audio headers conflict with app have ifdefs
Carsten Haitzler (Rasterman) [Sat, 22 Jul 2017 08:59:11 +0000 (17:59 +0900)]
ecore_audio headers conflict with app have ifdefs

Ecore_Audio.h had #ifdef HAVE_PULSE ... and that is just so wrong as
this is something an ap[p may or may not set in its config.h ... but
this certainly hase no place in our public headers. the api's there
should always be there... symbols always... just imtplementation may
be empty ... though ecore_audio doesnt build at all without pulse...
so it's moot.

so fix this build issue i found when fixing e build issues with meson
changes etc.

@fix

7 years agoefl_wl - also add xkbcommon as it's actually used
Carsten Haitzler (Rasterman) [Fri, 21 Jul 2017 08:37:33 +0000 (17:37 +0900)]
efl_wl - also add xkbcommon as it's actually used

7 years agoecore_drm2: Ensure device we find can mode set
Derek Foreman [Fri, 21 Jul 2017 21:40:17 +0000 (16:40 -0500)]
ecore_drm2: Ensure device we find can mode set

Some systems have dri devices that can't mode set, and if they're first in
the directory they'll get picked by our code and things fall apart later.

So, open the potential device and ensure it has basic functionality before
selecting it.

This is a little inefficient as it gets the device via elput twice before
it can be used - this will be addressed later as the changes are a little
more invasive to optimize.

7 years agoecore_drm2: Open elput manager before drm device
Derek Foreman [Fri, 21 Jul 2017 21:36:06 +0000 (16:36 -0500)]
ecore_drm2: Open elput manager before drm device

We're going to need to access the device as part of the find process,
so we need a manager.

7 years agohover: Return valid slot for main_menu_submenu
Jean-Philippe Andre [Fri, 21 Jul 2017 03:14:44 +0000 (12:14 +0900)]
hover: Return valid slot for main_menu_submenu

Fixes T5760

7 years agoecore-evas-wayland: destroy frame callback on hide
Mike Blumenkrantz [Fri, 21 Jul 2017 20:17:55 +0000 (16:17 -0400)]
ecore-evas-wayland: destroy frame callback on hide

ensure cursor surfaces can render again after being hidden

 #TheDisappointer

@fix

7 years agoeldbus: print full filename when codegen write fails
Mike Blumenkrantz [Fri, 21 Jul 2017 20:17:55 +0000 (16:17 -0400)]
eldbus: print full filename when codegen write fails

7 years agowayland: stop creating 1x1 surfaces on init
Mike Blumenkrantz [Fri, 21 Jul 2017 20:17:55 +0000 (16:17 -0400)]
wayland: stop creating 1x1 surfaces on init

fix T5226

 #IGot99TicketsBut1x1AintOne

7 years agoelm_win: instantiate csd frame after creating pointer surface
Mike Blumenkrantz [Fri, 21 Jul 2017 20:17:55 +0000 (16:17 -0400)]
elm_win: instantiate csd frame after creating pointer surface

csd attempts to create sw cursors if the pointer surface doesn't exist,
so create the pointer surface before the csd to avoid duplicate cursors

 #TheDisappointer

7 years agoelm_win: do not set invalid geometries on the window object
Mike Blumenkrantz [Fri, 21 Jul 2017 20:17:55 +0000 (16:17 -0400)]
elm_win: do not set invalid geometries on the window object

clamping to 1x1 is not valid, neither is trying to always position at 0,0

 #IGot99TicketsBut1x1AintOne

7 years agoelm_win: hide pointer surface on mouse out
Mike Blumenkrantz [Fri, 21 Jul 2017 20:17:55 +0000 (16:17 -0400)]
elm_win: hide pointer surface on mouse out

this should be unmapped so edje stops trying to render to it, though
at some point it could be optimized to not hide and just reuse the buffer
when showing again

 #IGot99TicketsBut1x1AintOne

7 years agoelm_win: show pointer canvas after setting cursor
Mike Blumenkrantz [Fri, 21 Jul 2017 20:17:55 +0000 (16:17 -0400)]
elm_win: show pointer canvas after setting cursor

setting cursor calls resize, which is what sets the surface size

 #IGot99TicketsBut1x1AintOne

7 years agoevas sw x11: formatting
Mike Blumenkrantz [Fri, 21 Jul 2017 20:17:55 +0000 (16:17 -0400)]
evas sw x11: formatting

7 years agogl_drm: half fix eglGetPlatformDisplayEXT usage
Derek Foreman [Fri, 21 Jul 2017 19:00:51 +0000 (14:00 -0500)]
gl_drm: half fix eglGetPlatformDisplayEXT usage

Just because the #define is present doesn't mean the extension is, so we're
BAILing on egl completely on some systems for no good reason at all. (saw
this on an SGX stack)

This is still wrong.  I don't want to try too hard until after the upcoming
release, though.

We should actually be testing for the presence of client extensions before
attempting to do any of this.  It's entirely possible that a gl stack will
return bogus functions for these from eglGetProcAddress

7 years agoefreet - dont complain if INTERNAL x extension hash of desktop is NULL
Carsten Haitzler (Rasterman) [Fri, 21 Jul 2017 08:02:43 +0000 (17:02 +0900)]
efreet - dont complain if INTERNAL x extension hash of desktop is NULL

asking for an x- field from a desktop shouldnt result in null safety
checks IF the x hash is null - it's fine if it's null - that field
just doesn't eixst. if other fields were in the x hash but the desired
one wasn't it'd not complain, so why complain if there is just no x
hash?

7 years agoevas xpm loader - don't error print for files that cant be mmaped
Carsten Haitzler (Rasterman) [Fri, 21 Jul 2017 07:35:21 +0000 (16:35 +0900)]
evas xpm loader - don't error print for files that cant be mmaped

no point complaining because we can't mmap... it'd be an unloadable
file.

7 years agoefl_wl - add wayland-server pkgconfig dep for headers from wayland
Carsten Haitzler (Rasterman) [Fri, 21 Jul 2017 03:28:43 +0000 (12:28 +0900)]
efl_wl - add wayland-server pkgconfig dep for headers from wayland

7 years agoefreet - remove noisy debug printfs
Carsten Haitzler (Rasterman) [Thu, 20 Jul 2017 09:13:53 +0000 (18:13 +0900)]
efreet - remove noisy debug printfs

7 years agoEvas textblock: add definition to 'cursor_equal'
Daniel Hirt [Thu, 20 Jul 2017 16:18:20 +0000 (19:18 +0300)]
Evas textblock: add definition to 'cursor_equal'

This is a follow-up to c4ea25cbdbfb027d5119880ddcf0bf5ba6a5720b to fix
legacy API.
The definition was missing, so adding it.

7 years agoeldbus: codegen: free allocated strbuf in error path
Stefan Schmidt [Thu, 20 Jul 2017 14:15:32 +0000 (16:15 +0200)]
eldbus: codegen: free allocated strbuf in error path

fname would have been leaked if we failed to get a file_handler.
Also make sure we always create a new fname strbuf even without
a output_dir present to fix a potential unbalance between creating
and freeing.

CID: 1378112

7 years agorelease: Update NEWS and bump version for 1.20.0-beta3 release
Stefan Schmidt [Thu, 20 Jul 2017 11:46:36 +0000 (13:46 +0200)]
release: Update NEWS and bump version for 1.20.0-beta3 release

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.