platform/upstream/efl.git
7 years agoecore-wl2: Remove incorrect EINA_UNUSED
Chris Michael [Tue, 10 Jan 2017 16:49:10 +0000 (11:49 -0500)]
ecore-wl2: Remove incorrect EINA_UNUSED

These parameters are actually used inside this function so remove the
EINA_UNUSED

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Use 'serial' directly from wayland call
Chris Michael [Tue, 10 Jan 2017 16:48:18 +0000 (11:48 -0500)]
ecore-wl2: Use 'serial' directly from wayland call

As we cannot rely on window->display->serial to be accurate (it is
only set when there is input going on), we should be getting the
'serial' values here directly from a wayland function call.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Ensure pending configure is handled before rendering
Chris Michael [Tue, 10 Jan 2017 16:28:40 +0000 (11:28 -0500)]
ecore-evas-wayland: Ensure pending configure is handled before rendering

With the change to xdg_shell v6, we need to wait for any pending
configure to be handled before we can render. This patch addresses
that issue and makes Elementary_Test work again under Weston :)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add flag to indicate pending configure
Chris Michael [Tue, 10 Jan 2017 16:27:10 +0000 (11:27 -0500)]
ecore-wl2: Add flag to indicate pending configure

With the change to xdg_shell v6 we need to indicate that a window has
a pending configure event, and not show the window if a configure is
pending. In order to handle this, we add a flag to the window
structure and can check it inside ecore_evas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland Fix formatting
Chris Michael [Tue, 10 Jan 2017 14:44:53 +0000 (09:44 -0500)]
ecore-evas-wayland Fix formatting

NB: No functional changes (yet), just formatting cleanup so this is
more readable.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Use correct serial value
Chris Michael [Tue, 10 Jan 2017 13:49:24 +0000 (08:49 -0500)]
ecore-wl2: Use correct serial value

When we get a configure event, we should be using the current display
serial to set as the window configure serial value. Previous code
would always end up setting the window configure_serial to 0 as
win->display->serial was not getting updated.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelm_code: Selections of word break on quotes too
Andy Williams [Tue, 10 Jan 2017 12:53:21 +0000 (12:53 +0000)]
elm_code: Selections of word break on quotes too

7 years agogengrid: fix highlight bug in disabled item
SangHyeon Lee [Tue, 10 Jan 2017 04:59:42 +0000 (13:59 +0900)]
gengrid: fix highlight bug in disabled item

Summary:
if item is disabled, item must be not highlighted by touch events.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
7 years agoElm theme: Center previews again in the luncher theme.
Stephen 'Okra' Houston [Mon, 9 Jan 2017 20:49:43 +0000 (14:49 -0600)]
Elm theme: Center previews again in the luncher theme.

7 years agocpu + mem gadget: implemented vertical layouts
Dave Andreoli [Mon, 9 Jan 2017 19:59:55 +0000 (20:59 +0100)]
cpu + mem gadget: implemented vertical layouts

7 years agodmabuf: Make failure a DBG instead of an ERR
Derek Foreman [Mon, 9 Jan 2017 14:30:25 +0000 (08:30 -0600)]
dmabuf: Make failure a DBG instead of an ERR

It's not really an error - fallback to shm will be attempted.

7 years agoecore_con - move libproxy to a slave binary with stdin/out msging
Carsten Haitzler (Rasterman) [Sun, 8 Jan 2017 13:57:54 +0000 (22:57 +0900)]
ecore_con - move libproxy to a slave binary with stdin/out msging

so here's the ugly problem. libproxy. yes. we've discussed memory
usage (e.g. it may have to execute javascript and pull in lots of deps
etc.) but we dlopene'd on the fly. ok... but this didn't solve another
issue i hit:

libproxy was causing enlightenment to abort(). some internal bit of
libproxy was raising a c++ exception. this wasn't caught. this causes
an abort(). takes down your entire desktop. FANTASTIC. this is bad. i
wouldnt' expect a library we depend on to be THIS anti-social but
libproxy seemingly is. it SHOULd catch its error sand just propagate
back to us so we can handle gracefully.

there reall is no way around this - isolate libproxy. it's even worse
that libproxy can load arbitrary modules that come from anywhere sho
who knows what issues this can cause. isolation is the best solution i
can think of.

so this makes an elf+net_proxy_helper we spawn the first time we need
a proxy lookup. we re-use that binary again and again until it exits
(it should exit after 10 seconds of being idle with no requests coming
in/pending). it'll respawn again later if needed. this involves now
the efl net threads having to marshall back to mainloop to do the
spawn and to write to the proxy process (reading is done by async exe
data events and the data is passed down a thread queue to the waitng
efl net thread). if the exe dies with pending requests unanswered then
it's respawned again and the req's are re-sent to it... just in case.
it has a limit on how often it'll respawn quickly.

this seems to work in my limited testing. this ALSO now isolates
memory usage of libproxy to another slave process AND this process
will die taking its memory with it once it's been idle for long
enough. that;s also another good solution to keeping libproxy impact
at bay.

7 years agoecore_imf: remove unnecessary exported symbols in immodules
Jihoon Kim [Mon, 9 Jan 2017 01:19:51 +0000 (10:19 +0900)]
ecore_imf: remove unnecessary exported symbols in immodules

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
7 years agoevas-gl-common: Fix incorrect expression
Chris Michael [Mon, 9 Jan 2017 00:48:26 +0000 (19:48 -0500)]
evas-gl-common: Fix incorrect expression

Coverity reports this as in incorrect expression because it was
checking cache_entry width <= 0 twice. Fairly safe to assume that the
proper check should be width || height.

Fix CID1368336

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoNew theme for the new cpu gadget
Dave Andreoli [Sun, 8 Jan 2017 19:32:27 +0000 (20:32 +0100)]
New theme for the new cpu gadget

7 years agomem gadget: update to use a single msg from c code
Dave Andreoli [Sun, 8 Jan 2017 18:06:32 +0000 (19:06 +0100)]
mem gadget: update to use a single msg from c code

7 years agoA new theme for the new E memory gadget
Dave Andreoli [Sun, 8 Jan 2017 16:56:37 +0000 (17:56 +0100)]
A new theme for the new E memory gadget

hope you will like the new design

7 years agoE module themes: Improve sizing wrt to text.
Stephen 'Okra' Houston [Sat, 7 Jan 2017 17:29:13 +0000 (11:29 -0600)]
E module themes: Improve sizing wrt to text.

7 years agoecore_drm2 - work with broken kernels that EBUSY on drm page flip
Carsten Haitzler (Rasterman) [Sat, 7 Jan 2017 04:16:06 +0000 (13:16 +0900)]
ecore_drm2  - work with broken kernels that EBUSY on drm  page flip

so thelatest rpi kernels available e.g. in raspbian contain no fixes
for this yet so thatmeans basically ALL users would be affected, so
best to have a small workaround in ecore_drm2 to try the page flip a
few times until it works. this actually works. i try a usleep for 100
then try again. up to 500 times max then give up. actual numbers show
that betwee 1 to about 60 tries gets the flip to happen when these
glitches happen. log an error when this happens so we know it's
happening and a workaround is kicking in.

technically this would be much nicer if swapping had a dedicated
thread that could stall in this case and keep trying, but the odd
times it happens (seems to happen on average maybe once every 30
seconds) it wouldnt stall the mainloop or rendering and JUSt stall a
dedicated swapper thread. this requires a lot mor work to implement
though and we'd have to then ensure swaps ARe async with the swap
result coming back as an event etc... so a lot more work.

this at least makes rendering on the rpi stable and i can dig into
other issues like libproxy throws exceptions and causes a whole
process abort() as a result, or the latest mesa pkgs have totally
broken partial gl rnedering with all non-rendered areas being black
(it used to work though... until i updated).

@fix

7 years agoecore_con: use the right type for prototype.
Cedric BAIL [Fri, 6 Jan 2017 23:58:26 +0000 (15:58 -0800)]
ecore_con: use the right type for prototype.

7 years agocxx: fix example with recent change.
Cedric BAIL [Fri, 6 Jan 2017 23:37:49 +0000 (15:37 -0800)]
cxx: fix example with recent change.

7 years agoeina: add test for all float/double util function.
Cedric BAIL [Fri, 6 Jan 2017 23:19:41 +0000 (15:19 -0800)]
eina: add test for all float/double util function.

7 years agoeina: include forgotten test file in release tarball.
Cedric BAIL [Fri, 6 Jan 2017 23:19:13 +0000 (15:19 -0800)]
eina: include forgotten test file in release tarball.

7 years agoeina: move to use memcmp and rename eina_{flt,dbl}eq to eina_{flt,dbl}_exact.
Cedric BAIL [Fri, 6 Jan 2017 19:33:20 +0000 (11:33 -0800)]
eina: move to use memcmp and rename eina_{flt,dbl}eq to eina_{flt,dbl}_exact.

7 years agoeina: switch to equal FP_ZERO with fpclassify.
Cedric BAIL [Fri, 6 Jan 2017 19:18:49 +0000 (11:18 -0800)]
eina: switch to equal FP_ZERO with fpclassify.

7 years agoeina: rename EINA_{FLT,DBL}_CMP to EINA_{FLT,DBL}_EQ.
Cedric BAIL [Fri, 6 Jan 2017 17:57:46 +0000 (09:57 -0800)]
eina: rename EINA_{FLT,DBL}_CMP to EINA_{FLT,DBL}_EQ.

7 years agoElm Theme: Add style alias for no inset shadow on scroller.
Stephen 'Okra' Houston [Fri, 6 Jan 2017 23:15:07 +0000 (17:15 -0600)]
Elm Theme: Add style alias for no inset shadow on scroller.

7 years agoTheme: Add necessary theme files for the new sysinfo gadget.
Stephen 'Okra' Houston [Fri, 6 Jan 2017 22:08:25 +0000 (16:08 -0600)]
Theme: Add necessary theme files for the new sysinfo gadget.

7 years agoeina: add macros for determining whether floats are nonzero
Mike Blumenkrantz [Fri, 6 Jan 2017 17:57:46 +0000 (12:57 -0500)]
eina: add macros for determining whether floats are nonzero

this is a commonly-used functionality, so make it faster to write

@feature

7 years agoeina: add functions for warningless exact comparisons of floats
Mike Blumenkrantz [Fri, 6 Jan 2017 17:57:46 +0000 (12:57 -0500)]
eina: add functions for warningless exact comparisons of floats

in some cases a user does want to check exact values, so these functions
should be used to indicate this intent

needs windows support

@feature

7 years agoevas-wayland-shm: Fix formatting
Chris Michael [Fri, 6 Jan 2017 14:33:58 +0000 (09:33 -0500)]
evas-wayland-shm: Fix formatting

NB: No functional changes, just reformatting so that this insane
one-liner wraps to 80...

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoeina: fix up last commit
Marcel Hollerbach [Fri, 6 Jan 2017 12:02:37 +0000 (13:02 +0100)]
eina: fix up last commit

i am sorry. I missed that i just freed the string and not the complete
buf. This now really frees the buf.

7 years agoeina_buf: replace eina_strbuf_free_return with eina_xXxbuf_release
Marcel Hollerbach [Fri, 6 Jan 2017 11:18:32 +0000 (12:18 +0100)]
eina_buf: replace eina_strbuf_free_return with eina_xXxbuf_release

The api name free_return wasnt a good choice so it is changed to
release. This also moves the implementation to binbuf template so it is
available in all buf types.

7 years agoeina - fix redefinition of word size if already defined
Carsten Haitzler (Rasterman) [Fri, 6 Jan 2017 10:25:25 +0000 (19:25 +0900)]
eina - fix redefinition of word size if already defined

7 years agoelm_code: Add 2 spaces auto indent after keywords
YeongJong Lee [Fri, 6 Jan 2017 09:38:02 +0000 (09:38 +0000)]
elm_code: Add 2 spaces auto indent after keywords

Summary:
When insert newline, check the previous line has keyword.
If so, insert 2 spaces indent more.

Test Plan:
1. run elementry_test - Code Editor or Edi.
2. Type some code with keywords.
3. Type <Return>.
4. Check that the indentation of newline is correct.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

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

7 years agoevas gl - avoid a possible crash of tex upload of invalid sized image
Carsten Haitzler (Rasterman) [Fri, 6 Jan 2017 08:42:44 +0000 (17:42 +0900)]
evas gl - avoid a possible crash of tex upload of invalid sized image

so i had a crash where my bt said the image size is 1x1 but the img
struct said its 0x0, so put in protection to not upload a texture from
a 0x0 image... just for now... because this is odd - the image data is
a real ptr i can access and there should be at least 1 pixel... but i
can't be sure this fixes it as this is one of those "one offs" i cant
reproduce...

@fix

7 years agoevas image preload - fix race condition that stops preloads
Carsten Haitzler (Rasterman) [Fri, 6 Jan 2017 07:35:09 +0000 (16:35 +0900)]
evas image preload - fix race condition that stops preloads

so if you queue a preload while a cancel is still pending the new
preload never happens. this fixes that. now it does but checking for
leftover tasks in the cancel cb and rescheduling a preload thread.

@fix

7 years agoedje_edit: fix set the images set as image.normal value.
Mykyta Biliavskyi [Fri, 6 Jan 2017 08:30:19 +0000 (10:30 +0200)]
edje_edit: fix set the images set as image.normal value.

Added ability to set the images set by name into image
part image.normal attribute.
Add search the images set id for case when the image id doesn't find in
image entries list.

@fix

7 years agoevas_image_main: fix memory leak of camera app -PLM[P161206-03545]
Jiyoun Park [Fri, 6 Jan 2017 06:40:09 +0000 (15:40 +0900)]
evas_image_main: fix memory leak of camera app -PLM[P161206-03545]

In gl engine, image objects try to unload image's pixel data after creating or updating the texture.
but image entry's reference is still 1, it is added to the pending_unloads list,
and it is cleaned when evas render function.

If elm image use preload feature, preload_done flag is true, so this image data cannot be removed from
pending_unloads list, it cause memory leak.

I think it is better to free image's pixel data in evas_cache_image_unload_data,
(not add to the pending_unloads list)
but it it complicated to modify.

so I'll remove the code to check preload_done flag in  evas_common_rgba_pending_unloads_cleanup function.
this flag check was added because of gl preloading, but now gl preloading feature is disabled.
this flag is related with https://phab.enlightenment.org/D2823

I tested photocam, but crash doesn't occur anymore, even though removing flag check.

7 years agoevas image skip header - more fixes for when images fail to load
Carsten Haitzler (Rasterman) [Fri, 6 Jan 2017 00:37:40 +0000 (09:37 +0900)]
evas image skip header - more fixes for when images fail to load

this fixes some more issues i have found in using skip header like if
the file doesn't exist etc. recent feature add so not a fix.

7 years agoeina: try to provide __WORDSIZE to system that don't have it aka OpenBSD.
Cedric BAIL [Fri, 6 Jan 2017 00:33:29 +0000 (16:33 -0800)]
eina: try to provide __WORDSIZE to system that don't have it aka OpenBSD.

7 years agowayland_shm: Yeah I dunno
Derek Foreman [Thu, 5 Jan 2017 19:38:25 +0000 (13:38 -0600)]
wayland_shm: Yeah I dunno

This doesn't make any sense to me so it can't be right, right?

Fixes session recovery.  If it breaks something else talk to devilhorns. :)

7 years agowayland_shm: Add a way to update the stored wayland objects
Derek Foreman [Thu, 5 Jan 2017 19:36:35 +0000 (13:36 -0600)]
wayland_shm: Add a way to update the stored wayland objects

On session recovery the engine needs to be given new copies of the
surface, dmabuf, and shm objects to run in the new connection.

This fixes session recovery breakage introduced when we stopped recreating
the outbuf on reconfigure.

7 years agowayland_shm: Add a force flag to surface reconfigure
Derek Foreman [Thu, 5 Jan 2017 19:33:19 +0000 (13:33 -0600)]
wayland_shm: Add a force flag to surface reconfigure

We're going to need a way to force reconfigure unconditionally to make
session recovery work again.

7 years agoecore_wl2: Fix accidental re-use of tmp var
Derek Foreman [Wed, 4 Jan 2017 23:20:05 +0000 (17:20 -0600)]
ecore_wl2: Fix accidental re-use of tmp var

Oops, same tmp var for a nested inlist traverse.  That won't end well.

7 years agoecore_wl2: Don't request shell surfaces for all window types
Derek Foreman [Wed, 4 Jan 2017 19:12:56 +0000 (13:12 -0600)]
ecore_wl2: Don't request shell surfaces for all window types

Now that cursors are "windows", this results in a mess.  So skip at least
NONE and DND for now.

7 years agoecore_wl2: Prevent use after free on input deletion
Derek Foreman [Wed, 4 Jan 2017 17:40:17 +0000 (11:40 -0600)]
ecore_wl2: Prevent use after free on input deletion

Window structs keep inputs around, so we should sweep through them
and NULL out any stale ones on a delete.

7 years agoecore_wl2: Remove the rest of the cursor frame callback
Derek Foreman [Wed, 4 Jan 2017 16:33:34 +0000 (10:33 -0600)]
ecore_wl2: Remove the rest of the cursor frame callback

Oops, I made a clean spot, now I need to clean up the rest of this.

ref 641dfab516b8de1cf27ca07671ff73de6c8d32bf

7 years agoeolian: stricter implement/constructor verification
Daniel Kolesa [Thu, 5 Jan 2017 14:58:55 +0000 (15:58 +0100)]
eolian: stricter implement/constructor verification

The system now verifies whether the class of an implement or
constructor exists within the inheritance hierarchy. It also
properly checks duplicates everywhere and prints better error
messages.

7 years agoeina_strbuf: add eina_strbuf_free_return
Marcel Hollerbach [Tue, 3 Jan 2017 09:52:27 +0000 (10:52 +0100)]
eina_strbuf: add eina_strbuf_free_return

Summary:
For a function which just composes a string with strbuf its quite
usefull to return the string while its freed.

This makes a function like:

{
   Eina_Strbuf *buf;
   char *path;

   buf = eina_strbuf_new();
   eina_strbuf_append(buf, "test");
   eina_strbuf_append_printf(buf, "%s-%d.edj", "test", 0);
   path = eina_strbuf_string_steal(buf);
   eina_strbuf_free(buf);
   return path;
}

To:

{
   Eina_Strbuf *buf;

   buf = eina_strbuf_new();
   eina_strbuf_append(buf, "test");
   eina_strbuf_append_printf(buf, "%s-%d.edj", "test", 0);
   return eina_strbuf_free_return(buf);
}

Which is a bit more handy.

Test Plan: just run make check

Reviewers: raster, cedric

Subscribers: jpeg

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

7 years agoelm_panel: Add _scrollable_layout_resize internal funcion for refactoring
JEONGHYUN YUN [Thu, 5 Jan 2017 08:26:32 +0000 (17:26 +0900)]
elm_panel: Add _scrollable_layout_resize internal funcion for refactoring

Summary:
Remove duplicated code in _elm_panel_efl_gfx_size_set
and _elm_panel_scrollable_content_size_set.

Reviewers: jpeg, woohyun, eunue, jypark

Subscribers: cedric, jpeg

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

7 years agocolorselector: Switch to Efl.Ui.Box internally
Jean-Philippe Andre [Thu, 5 Jan 2017 08:15:42 +0000 (17:15 +0900)]
colorselector: Switch to Efl.Ui.Box internally

This doesn't change anything (in theory) but was to test the
box implementation. Conclusion: it's not much better than
elm_box. Also, homogenous mode isn't set because the layout
is completely broken (+ sets a min size equal to the object
size, thus can not resize down ever). The palette's objects
have the same size anyway.

7 years agoevas: Slightly optimize size hints
Jean-Philippe Andre [Thu, 5 Jan 2017 07:14:27 +0000 (16:14 +0900)]
evas: Slightly optimize size hints

Object size hints are stored in a specially allocated struct
(from a mempool) and even a call to size_hint_set(default_values)
will allocate this struct. This patch avoids unnecessary allocations.

Originally I was trying to fix an infinite recalc loop but it
magically vanished...

7 years agobutton: Add support for efl_text_set
Jean-Philippe Andre [Wed, 4 Jan 2017 11:17:21 +0000 (20:17 +0900)]
button: Add support for efl_text_set

For now a very quick and dirty solution, relying on elm_layout
legacy APIs.

7 years agoRevert "elm_layout: Implement Efl.Text"
Jean-Philippe Andre [Wed, 4 Jan 2017 11:07:42 +0000 (20:07 +0900)]
Revert "elm_layout: Implement Efl.Text"

This reverts commit 584e17ae84750b0c8a9bc92f41c767073a41fc94.

After talking to @herdsman (before xmas) we concluded that we
didn't necessarily want a generic version of efl_text_set/get
for elm_layout. Instead, each widget that should have a default
text part should implement text_set/get themselves (very simple).

Note that Efl.Ui.Text somehow does not "implement" efl_text when
looking at the eolian files. It works by composition.

7 years agoelm_panel: Add get function in scrollable_content_size property
JEONGHYUN YUN [Thu, 5 Jan 2017 01:26:29 +0000 (10:26 +0900)]
elm_panel: Add get function in scrollable_content_size property

Summary:
Added get function for getting the size of the scrollable panel.
Additionally, added some exception handling code in scrollable_content_size_set

Reviewers: woohyun, eunue

Subscribers: cedric, jpeg

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

7 years agoelementary: Support xdg_shell version 6 show_window_menu function
Chris Michael [Wed, 4 Jan 2017 19:23:52 +0000 (14:23 -0500)]
elementary: Support xdg_shell version 6 show_window_menu function

As we now support xdg_shell version 6 on the client-side, we need to
use the zxdg_toplevel_v6 function call to show window menus.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Support zxdg_shell version 6 configure_ack
Chris Michael [Wed, 4 Jan 2017 19:22:46 +0000 (14:22 -0500)]
ecore-evas-wayland: Support zxdg_shell version 6 configure_ack

Small patch to support configure acknowledgement with xdg_shell
version 6.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add support for xdg shell version 6
Chris Michael [Wed, 4 Jan 2017 19:20:42 +0000 (14:20 -0500)]
ecore-wl2: Add support for xdg shell version 6

This patch adds support (client-side) for xdg_shell version 6.
Enlightenment is currently using this version as it's desktop shell,
so we need to support it client-side also.

fixes T4998

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Fix formatting
Chris Michael [Wed, 4 Jan 2017 16:08:49 +0000 (11:08 -0500)]
ecore-wl2: Fix formatting

NB: No functional changes, just cleaning up formatting before the
serious work begins.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agowayland_shm: Shut up coverity
Derek Foreman [Wed, 4 Jan 2017 14:54:03 +0000 (08:54 -0600)]
wayland_shm: Shut up coverity

Quite cosmetic, but I suppose this is better than flagging as false
positive.

CID1368209

7 years agoevas-gl-generic: Mark 'data' parameter as unused
Chris Michael [Wed, 4 Jan 2017 13:12:21 +0000 (08:12 -0500)]
evas-gl-generic: Mark 'data' parameter as unused

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoefl header skip with preload - fix seg on invalid file
Carsten Haitzler (Rasterman) [Wed, 4 Jan 2017 11:18:42 +0000 (20:18 +0900)]
efl header skip with preload - fix seg on invalid file

for invalid files we didn't handle this case, so fix it - recent
commit/feature add.

7 years agowayland egl - unbork after manmower broke rendering removing swapinterval
Carsten Haitzler (Rasterman) [Wed, 4 Jan 2017 10:21:02 +0000 (19:21 +0900)]
wayland egl - unbork after manmower broke rendering removing swapinterval

so removing eglSwapInterval() is a very poor idea as then... who knwos
what it is? this broke at least nouveau (under weston AND under
enlightenment). a very skillful b0rk here than i luckily caught
quickly! :)

7 years agoopenssl 1.1 build break fixes
Carsten Haitzler (Rasterman) [Wed, 4 Jan 2017 08:44:13 +0000 (17:44 +0900)]
openssl 1.1 build break fixes

this fixes building against openssl 1.1 since it broke api in various
ways by hiding structs and deprecating api's (this causes warnings not
breaks unlike the struct hiding). this adapts to these changes and
makes efl build again.

@fix

7 years ago[Evas GL Thread 1] evas: Fixed indentation of evas_thread_render.c
Haegeun Park [Wed, 4 Jan 2017 02:45:56 +0000 (11:45 +0900)]
[Evas GL Thread 1] evas: Fixed indentation of evas_thread_render.c

Summary:
@fix

Change-Id: I411fe6d75dc7b15c0d7f19f165ea4b0cc3b28c12

Reviewers: sung, jpeg, cedric, raster

Subscribers: cedric, jpeg

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

7 years agoedje_cc: Keep lookups for removed program
Jee-Yong Um [Wed, 4 Jan 2017 02:14:46 +0000 (11:14 +0900)]
edje_cc: Keep lookups for removed program

Summary:
Program lookups triggered by removed edje program should be removed when removing
edje program, but program lookups for removed program should be kept to check
exitence of removed program.
This patch keeps lookups for removed program.

Reviewers: cedric, jpeg

Reviewed By: jpeg

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

7 years agoEvas Canvas: Remove focused_objects property.
Guilherme Iscaro [Wed, 4 Jan 2017 01:49:22 +0000 (10:49 +0900)]
Evas Canvas: Remove focused_objects property.

Summary:
This property is not needed and it will only increase the API size.
One can simple achieve the same behaviour by simple doing:

//C code...

Eina_List *l;
Evas_Device *dev;

devices = evas_device_list(evas, NULL);

EINA_LIST_FOREACH(devices, l, dev)
{
   Evas_Object *obj;

   if (evas_device_class_get(dev) != EVAS_DEVICE_CLASS_SEAT)
      continue;
   obj = evas_canvas_seat_focus_get(dev);
   //Do something with the focused object.....
}
//More C code...

Reviewers: bdilly, barbieri, conr2d, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

7 years agogengrid: adding sizing eval when gengrid min size is changed
SangHyeon Lee [Wed, 4 Jan 2017 05:46:46 +0000 (14:46 +0900)]
gengrid: adding sizing eval when gengrid min size is changed

Adding sizing eval when gengrid min width and height is changed,
so need to re-evaluate properly.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
7 years agogenlist : fixing wrong item realize bug when block is changed
SangHyeon Lee [Wed, 4 Jan 2017 05:32:11 +0000 (14:32 +0900)]
genlist : fixing wrong item realize bug when block is changed

Summary :
If current realized item is changed to another block which
was unrealized, item still stay in realized states because
new block is unrealized.
so when adding item to new block, adding realized state check
to change block realized state correctly.

Test Plan :
The issue is happen in eflete edc group list view.
when you expand and contract the tree view, if child is
bigger then block size, items under the current tree still
floating on the child items.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
7 years agogenlist : initialize disabled content for reusing
SangHyeon Lee [Tue, 3 Jan 2017 10:16:06 +0000 (19:16 +0900)]
genlist : initialize disabled content for reusing

initialize disabled content for reusing again.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
7 years agowayland_egl: Stop setting swap interval to 0
Derek Foreman [Tue, 3 Jan 2017 23:07:54 +0000 (17:07 -0600)]
wayland_egl: Stop setting swap interval to 0

We have some "vsync" variable cargo culted from somewhere that is never
properly set, so is always 0 because it's in a calloced structure.

It's then used to set eglSwapInterval() to 0 always, which results
in mesa using wl_display_sync() instead of wl_surface_frame() for
its frame ready callback mechanism.

Remove it entirely and use the sensible default swapinterval.

7 years agowayland: Fix cursor surface frame calls
Derek Foreman [Tue, 3 Jan 2017 22:40:21 +0000 (16:40 -0600)]
wayland: Fix cursor surface frame calls

The common code was skipping frame callback when no shell surface was
present - cursors aren't shell surfaces.

Add the frame callback to the common path and remove the bespoke callback
from the cursor code.

7 years agoevas_shm: Fix dmabuf failure
Derek Foreman [Tue, 3 Jan 2017 20:20:18 +0000 (14:20 -0600)]
evas_shm: Fix dmabuf failure

This keeps us from accidentally going through the fallback path twice and
crashing.  It also clears up some refcounting problems that would have led
to leaked memory in the crash case.

fix T5037

7 years agoecore_fb: allow ecore_fb to not setup VT.
Gustavo Sverzut Barbieri [Tue, 3 Jan 2017 14:23:43 +0000 (12:23 -0200)]
ecore_fb: allow ecore_fb to not setup VT.

Some systems won't allow VT to be setup due permissions to KDSETMODE
to KD_GRAPHICS.

Introduce $ECORE_FB_NO_VT envvar to allow skip that setup.

7 years agoecore_fb_init(): use 'name' parameter similar to ecore_evas_fb_new().
Gustavo Sverzut Barbieri [Tue, 3 Jan 2017 14:41:07 +0000 (12:41 -0200)]
ecore_fb_init(): use 'name' parameter similar to ecore_evas_fb_new().

Instead of assuming /dev/fb/0 or /dev/fb0, use the given 'name'
parameter in a similar way to ecore_evas_fb_new(): a number to be
parsed with 'strtoul()'.

Without this calling ecore_evas_fb_new() or ecore_evas_new() with
'display=1' will produce incorrect results.

@fix

7 years agoevas: Add code to change the object's chage flag in evas_object_image_data_set
Jaeyong Hwang [Tue, 3 Jan 2017 07:08:56 +0000 (16:08 +0900)]
evas: Add code to change the object's chage flag in evas_object_image_data_set

Summary:
When using evas_object_image_data_set(obj, data), if you give the value of data to NULL, the image data is free.
However, Since you have not set a flag in the image object to be modified, it will not be processed in the next render loop.
Eventually, the image data is erased, but you see the image before it was erased.
If evas_object_image_data_update_add() is used to solve this problem, the operation of the function is skipped because the values of w and h in image are 0.
So, If data is NULL, I modified it to call evas_object_change() in evas_object_image_data_set().

Test Plan:
Sample code

{F61599}
{F61601}

Reviewers: Hermet, jiin.moon, eunue, jpeg

Reviewed By: jpeg

Subscribers: jpeg, cedric

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

7 years agogengrid : enable layout sizing eval and content min limit feature in gengrid
SangHyeon Lee [Tue, 3 Jan 2017 08:35:35 +0000 (17:35 +0900)]
gengrid : enable layout sizing eval and content min limit feature in gengrid

Summary :
As the child of layout and scroll interface user,
gengrid need to support content min limit feature to set min size
by layout sizing eval.

Test Plan :
Set elm_scroller_content_min_limit to gengrid and get min size off
gengrid object.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
7 years agoevas: fix adjustment logic about image border
Jiwon Kim [Mon, 2 Jan 2017 09:38:59 +0000 (18:38 +0900)]
evas: fix adjustment logic about image border

Summary:
If border left+right >= image width, center area does not rendered.
Although adjusement logic, _draw_image()'s src_w can be a 0.
This commit try to secure center area at least 1 pixel.

This should fix T5057

@fix

Reviewers: raster, jypark, jpeg

Subscribers: cedric

Maniphest Tasks: T5057

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

7 years agoElm.Widget: rename "event.*" methods to solve name conflict
Jee-Yong Um [Mon, 2 Jan 2017 07:48:17 +0000 (16:48 +0900)]
Elm.Widget: rename "event.*" methods to solve name conflict

Summary:
Elm.Widget.event_callback_add conflicts with Efl.Object.event_callback_add.
To solve this problem, "widget_" prefix is added to methods starting with
"event".

Reviewers: cedric, jpeg

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

7 years agoelementary_config: make compare of web_backend more secure
Marcel Hollerbach [Mon, 2 Jan 2017 16:18:31 +0000 (17:18 +0100)]
elementary_config: make compare of web_backend more secure

web_backend can get NULL when there is a error with the entry. Make sure
the pointers are different, or they are not NULL and the string contents
are different.

7 years agoeolian: correctly set the empty/auto flags in implements
Daniel Kolesa [Mon, 2 Jan 2017 15:25:26 +0000 (16:25 +0100)]
eolian: correctly set the empty/auto flags in implements

7 years agoeolian: disallow duplicate implements
Daniel Kolesa [Mon, 2 Jan 2017 15:09:04 +0000 (16:09 +0100)]
eolian: disallow duplicate implements

7 years agoeolian: fill ctor class early on
Daniel Kolesa [Mon, 2 Jan 2017 14:28:26 +0000 (15:28 +0100)]
eolian: fill ctor class early on

7 years agoeolian: no need to fill func in eolian_implement_function_get
Daniel Kolesa [Mon, 2 Jan 2017 14:00:38 +0000 (15:00 +0100)]
eolian: no need to fill func in eolian_implement_function_get

All implements are now filled in the previous stage.

7 years agoeolian: partially clean up implement filling logic
Daniel Kolesa [Mon, 2 Jan 2017 13:35:17 +0000 (14:35 +0100)]
eolian: partially clean up implement filling logic

7 years agoeolian: require specification of either get or set in property impls
Daniel Kolesa [Mon, 2 Jan 2017 13:02:44 +0000 (14:02 +0100)]
eolian: require specification of either get or set in property impls

7 years agoevas loader - don't stat NULL file paths
Carsten Haitzler (Rasterman) [Mon, 2 Jan 2017 13:58:24 +0000 (22:58 +0900)]
evas loader - don't stat NULL file paths

something i found valgrinding my recent async improvments. statting
null path. fix it.

7 years agoedje_cc_parse: Fix to insert missing double quotation marks
Jaehyun Cho [Mon, 2 Jan 2017 10:59:06 +0000 (19:59 +0900)]
edje_cc_parse: Fix to insert missing double quotation marks

7 years agoedje_cc_parse: Compile EDC file whose path contains space character.
Jaehyun Cho [Mon, 2 Jan 2017 10:25:45 +0000 (19:25 +0900)]
edje_cc_parse: Compile EDC file whose path contains space character.

Previously, edje_cc could not compile EDC file whose path contains space
character since edje_cc interpreted the EDC file as separate 2 inputs.
(i.e. "input file.edc" was interpreted as "input" and "file.edc")

This patch enables edje_cc to interpret above case correctly.

7 years agoevas generic loader - expand buffers in case of weird install location
Carsten Haitzler (Rasterman) [Sun, 1 Jan 2017 23:40:37 +0000 (08:40 +0900)]
evas generic loader - expand buffers in case of weird install location

so we had just 128 bytes for path to generic loader utility. in most
cases this is plenty but if you have bizarre symlinks and long paths
we may run out of space, so move up to 4k buffers as this is
realistically the max path len anyway on a system.

@fix

7 years agoevas image async preload - add option to also make header load async
Carsten Haitzler (Rasterman) [Sun, 1 Jan 2017 13:15:24 +0000 (22:15 +0900)]
evas image async preload - add option to also make header load async

to date if you use async preload we still load the header
synchronously and this can be horrible especially with generic
loaders. there is no way to farm this off to the preload thread. now
there is. youhave to set it as a skip head load option before doing a
file_set AND you need to issue a preload ... but now it's possible.

@feature

7 years agoevas cutouts - quickly avoid huge per issues with large nos of cutouts
Carsten Haitzler (Rasterman) [Fri, 30 Dec 2016 09:55:55 +0000 (18:55 +0900)]
evas cutouts - quickly avoid huge per issues with large nos of cutouts

i found evas_common_draw_context_apply_cutouts() was procsessing 300+
cutouts and as it's O(n^2)/2 to try and merge adjacent rects for
cutouts this really performs like complete junk. we apply cutout rects
a LOT. this is not the best solution, but it's quick and much faster
than doing the clipouts which drop framerate to like 1-2fps or so in the
nasty case i say (tyls -m of photos in a dir with a 2160 high
terminal).

this figures out the target area to limit the count of rects
significantly so O(n^2) is far far better when n is now < 10 most of
the time. and for the few operations where it's a high value this now
uses qsort to speed up merges etc. etc.

@optimize

7 years agoelm_naviframe: resize previous view before item pop transition.
Sungtaek Hong [Mon, 2 Jan 2017 06:41:20 +0000 (15:41 +0900)]
elm_naviframe: resize previous view before item pop transition.

Summary:
 - In commit rEFL9f5e9ec7ca120242a92ac97fb20016263c152d8e
   previous view is raised after item pop transition
   so that current view's pop animation can be shown.
 - But, previous view has to be in it's proper size
   during transition because some of animation might
   show previous view.

Reviewers: Jaehyun_Cho

Subscribers: cedric, conr2d, jpeg

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

7 years agoEvas GL:Bind texture to correct one.
Minkyoung Kim [Mon, 2 Jan 2017 06:29:48 +0000 (15:29 +0900)]
Evas GL:Bind texture to correct one.

Summary:
If user bind textureA and want to use it continuously, do not call glBindTexture(textureA) again.
But expect that textureA will be binding.
So EvasGL sould not change binded texture silently.
Restore texture to previous bound one after allocating new texture.
And when destroy texture, reset texture to 0 if it is current bound texture.

Test Plan: Tizen 3.0

Reviewers: wonsik, dkdk, cedric, jpeg

Reviewed By: jpeg

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

7 years agoevas: initalize orient property in file_set()
Jiwon Kim [Mon, 2 Jan 2017 06:22:04 +0000 (15:22 +0900)]
evas: initalize orient property in file_set()

Summary:
Someone calls evas_object_image_file_set() and set orient,
and then re-set another file.
At that time, there is a mismatch between Evas_Image_Data's
cur->orient and engine's orient data.

So, "file_set(a) -> orient_set(90) -> file_set(b) -> orient_set(90)"
is not working now.

Therefore, when a file_set() is finished, initialization is needed.

@fix

Reviewers: jypark, jpeg

Reviewed By: jpeg

Subscribers: cedric

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

7 years agoelm_index: apply mirrored layout for index box
Sungtaek Hong [Mon, 2 Jan 2017 06:19:51 +0000 (15:19 +0900)]
elm_index: apply mirrored layout for index box

Summary:
 - When mirrored is set, horizontal box packs item
   reversely, from right to left. However, index box
   packs index item the same as before, from left to right.
   This commit changes index box custom layout to sync
   with other box.

Test Plan:
 - enable mirrored UI, or use elm_config_mirrored_set(EINA_TRUE);
   run elementary_test, "Index Horizontal".
 - Observe index item packs in a same direction with box contents.

Reviewers: cedric, Hermet, jpeg

Subscribers: conr2d

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

7 years agoevas_events: add checking NULL logic to source mouse event.
Hosang Kim [Mon, 2 Jan 2017 06:17:40 +0000 (15:17 +0900)]
evas_events: add checking NULL logic to source mouse event.

Summary:
When the proxy's source is updated, the proxy's event list will be
updated, too. But there is no way now. So add defensive code for
protecting segment fault.

@fix

Reviewers: woohyun, raster, jpeg

Reviewed By: jpeg

Subscribers: cedric

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

7 years agoelm_config: fix for dereferencing after comparing to NULL
Alok Mishra [Mon, 2 Jan 2017 06:14:13 +0000 (15:14 +0900)]
elm_config: fix for dereferencing after comparing to NULL

Summary:
arr has been checked earlier so as to avoid when it is NULL.
If there is a possibility of being NULL earlier
then it should be checked even when freeing.
So added the NULL check before free.

@fix

Reviewers: singh.amitesh, bu5hm4n, tasn, cedric, raster, atulfokk, hyunseok, minkyu, Hermet, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

7 years agoelm_code: remove unneeded init code.
Andy Williams [Sun, 1 Jan 2017 20:10:07 +0000 (20:10 +0000)]
elm_code: remove unneeded init code.

Move elm_code init to the main elementary as that's where it lives