platform/upstream/efl.git
7 years agoecore_input - dont try update modifiers and locks on mouse events
Carsten Haitzler (Rasterman) [Thu, 9 Mar 2017 07:52:44 +0000 (16:52 +0900)]
ecore_input - dont try update modifiers and locks on mouse events

mouse events have nothing to do with modifiers or locks, so dont try
modify them on mouse events. a total waste of cpu and time.

this should also fix T5251

7 years agomultibuttonentry : fix box indicated item correctly in item_insert_before and item_in...
JEONGHYUN YUN [Thu, 9 Mar 2017 07:11:33 +0000 (16:11 +0900)]
multibuttonentry : fix box indicated item correctly in item_insert_before and item_insert_after

Summary:
If user added item with item_insert_before and item_insert_after, item was not displayed.
For this reason, fixed box indicated item correctly from reference->button to VIEW(reference).
Additionally, remove the unused variable button in _Multibuttonentry_Item struct.

Reviewers: woohyun, CHAN, cedric, jpeg

Reviewed By: CHAN

Subscribers: cedric, jpeg

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

7 years agoevas: Check for null pointer deref
Bryce Harrington [Thu, 9 Mar 2017 06:45:03 +0000 (15:45 +0900)]
evas: Check for null pointer deref

Summary:
Earlier places in the function are testing if obj->layer is null, so
should be checked here as well before it's used.

@fix CID1371826

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

7 years agoevas image cache - add lots more locking to try stamp out any thread bug
Carsten Haitzler (Rasterman) [Thu, 9 Mar 2017 02:18:32 +0000 (11:18 +0900)]
evas image cache - add lots more locking to try stamp out any thread bug

this definitely fixes T5223 because it adds an engine lock around the
code segemtnt that does compare time stamps... and hopefulyl a few
more things too.

@fix

7 years agoLuncher theme: Prepare to size engage correctly.
Stephen 'Okra' Houston [Thu, 9 Mar 2017 00:20:10 +0000 (18:20 -0600)]
Luncher theme: Prepare to size engage correctly.

7 years agogl_cocoa: use triple buffering
Jean Guyomarc'h [Wed, 8 Mar 2017 23:31:51 +0000 (00:31 +0100)]
gl_cocoa: use triple buffering

Interestingly enough, this makes some graphical artifacts vanish...

7 years agoecore_evas_cocoa: fix invalid initial requested width
Jean Guyomarc'h [Wed, 8 Mar 2017 21:36:30 +0000 (22:36 +0100)]
ecore_evas_cocoa: fix invalid initial requested width

7 years agoecore_evas_cocoa: use ecore_event to match windows
Jean Guyomarc'h [Wed, 8 Mar 2017 21:09:37 +0000 (22:09 +0100)]
ecore_evas_cocoa: use ecore_event to match windows

7 years agoecore_cocoa: pass the right window to ecore_evas
Jean Guyomarc'h [Wed, 8 Mar 2017 21:06:35 +0000 (22:06 +0100)]
ecore_cocoa: pass the right window to ecore_evas

7 years agoecore_evas_cocoa: remove more pointless code
Jean Guyomarc'h [Wed, 8 Mar 2017 20:20:55 +0000 (21:20 +0100)]
ecore_evas_cocoa: remove more pointless code

7 years agoeina: force copy of not copied virtualized file while doing an eina_file_dup.
Cedric Bail [Wed, 8 Mar 2017 18:13:36 +0000 (10:13 -0800)]
eina: force copy of not copied virtualized file while doing an eina_file_dup.

The other way around is pretty much impossible as you don't know who does
an eina_file_dup and for how long they keep there reference.

T5234

7 years agoecore-wl2: Clarify post-condition for global lookup in _ecore_wl2_shell_bind
Bryce Harrington [Wed, 8 Mar 2017 20:13:01 +0000 (14:13 -0600)]
ecore-wl2: Clarify post-condition for global lookup in _ecore_wl2_shell_bind

Summary:
The !global test is a post-condition that _ecore_wl2_global_find
provided valid data, so the code is clearer if this is kept separate
from the subsequent if chain for looking up the shell.  Since this
post-condition returns from the function on error, it can stand alone.

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewers: devilhorns, ManMower

Reviewed By: ManMower

Subscribers: jpeg, cedric

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

7 years agoevas: clean up GL images for emojis when GL context is free'd
Youngbok Shin [Wed, 8 Mar 2017 10:33:15 +0000 (19:33 +0900)]
evas: clean up GL images for emojis when GL context is free'd

If GL context is free'd before processing font shutdown,
textures for emoji glyph's GL images will be free'd without clean
up its GL images. It causes eina mempool infinite loop issue when
emoji's GL images are free'd in shutdown process.

So, the patch will make a list for emoji's GL images in context and
clean up them when the context is free'd. Just like font textures in
context.

@fix

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

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
7 years agoelm_test: Add a test case for Emojis
Jean-Philippe Andre [Wed, 8 Mar 2017 10:19:36 +0000 (19:19 +0900)]
elm_test: Add a test case for Emojis

Yay to full color characters. The list of selected emojis is
quite random. Some more could be added.

Just two remarks:
- Aren't they supposed to scale down?
- Why is my grinning face always ugly?

7 years agoevas gl: Add missing GLES 3.1 definitions
Jean-Philippe Andre [Wed, 8 Mar 2017 09:34:09 +0000 (18:34 +0900)]
evas gl: Add missing GLES 3.1 definitions

Evas_GL_API supports the GLES 3.1 functions but the required
macros were not present. Thanks Brokenshakles for the tip.

7 years agonaviframe: keep unfocusable state of item before finishing item push/pop
Youngbok Shin [Wed, 8 Mar 2017 05:15:56 +0000 (14:15 +0900)]
naviframe: keep unfocusable state of item before finishing item push/pop

If item pop was started without focus at a naviframe object
and the naviframe object got focus before finising item pop,
the naviframe object could give focus to its first object of prev item.
It could ruin focus orders and failed to restore previous focused
object in the item.
To keep consistency of focus policy, same logic will be applied to
item push scenario.
@fix

Change-Id: Ia74bdce3620bd59622ef32a0cedf5fbd84815400

7 years agoevas: Print CRI message in case of bad event usage
Jean-Philippe Andre [Wed, 8 Mar 2017 07:54:45 +0000 (16:54 +0900)]
evas: Print CRI message in case of bad event usage

This will abort E when using Bryce and EINA_LOG_ABORT is enabled
(it is enabled by default when running a non-release version of E).
That's on purpose, as that code needs fixing :)

Ref T3144

7 years agoecore_evas_cocoa: remove a lot of useless code
Jean Guyomarc'h [Wed, 8 Mar 2017 07:57:37 +0000 (08:57 +0100)]
ecore_evas_cocoa: remove a lot of useless code

I still don't know what's going on with the rendering problems, but
at least now  I have less dead code in my way...

7 years agoecore_evas_cocoa: set the render func at initialization
Jean Guyomarc'h [Tue, 7 Mar 2017 22:07:07 +0000 (23:07 +0100)]
ecore_evas_cocoa: set the render func at initialization

7 years agoecore_evas: process mouse move even when there is no cursor
Jean Guyomarc'h [Tue, 7 Mar 2017 21:16:24 +0000 (22:16 +0100)]
ecore_evas: process mouse move even when there is no cursor

7 years agotests: Don't print garbage
Jean-Philippe Andre [Wed, 8 Mar 2017 06:51:02 +0000 (15:51 +0900)]
tests: Don't print garbage

GLView tends to print some random garbage when using the
GLView Gears test. That's because we're allocating and printing
a 0 byte buffer. Don't do that.

7 years agoevas gl: Fix version detection for GLES 3.1
Jean-Philippe Andre [Wed, 8 Mar 2017 02:52:59 +0000 (11:52 +0900)]
evas gl: Fix version detection for GLES 3.1

It was assumed that GLES 3 would only work with EGL but in fact
OpenGL 4.3 & 4.5 are supersets of GLES 3.0 & 3.1 respectively. So
GLX should also support GLES 3.0 or GLES 3.1 for evas gl, if the
driver supports it, of course.

Of course while doing this patch things didn't go like they were
supposed to go. I'm currently using NVIDIA's proprietary driver,
that conveniently provides EGL with GLES 3.2. But wait, there's
a catch: GL_VERSION is "OpenGL ES 3.2 NVIDIA" except that none
of the functions of GLES 3.1 or GLES 3.2 are actually supported.
Those functions are only present in the GLX/OpenGL variant of the
driver. Thanks so much for making my life easier...

So yeah, this patch contains a hack for those invalid versions
of GLES 3.x. What was supposed to be a small fix became a huge
mess.

Also add a comment about the possibly invalid auto-upgrade from
GLES 2 to GLES 3.

This adds a test case in elm_test, but only to verify that
elm_glview_version_add(3) actually works. We need a proper GLES 3
test case, eventually (and 3.1, 3.2 of course).

7 years agoevas: Set thread name for preload
Jean-Philippe Andre [Tue, 7 Mar 2017 10:42:20 +0000 (19:42 +0900)]
evas: Set thread name for preload

This can be useful during debugging.

7 years agoecore_evas/x: don't mark as unused a used parameter
Jean Guyomarc'h [Tue, 7 Mar 2017 19:22:11 +0000 (20:22 +0100)]
ecore_evas/x: don't mark as unused a used parameter

7 years agoecore_evas/cocoa: fix cursor's visibility
Jean Guyomarc'h [Tue, 7 Mar 2017 19:19:53 +0000 (20:19 +0100)]
ecore_evas/cocoa: fix cursor's visibility

Fixes T5238

7 years agoecore: switch back to use ecore_thread_wait.
Cedric BAIL [Tue, 7 Mar 2017 19:04:42 +0000 (11:04 -0800)]
ecore: switch back to use ecore_thread_wait.

We need to make sure that we wait properly on the animator thread
otherwise we end up with the animator finish callback being called
later on during the shutdown process which means trouble.

7 years agodocgen: include C usage snippet on event pages
Daniel Kolesa [Tue, 7 Mar 2017 16:15:24 +0000 (17:15 +0100)]
docgen: include C usage snippet on event pages

7 years agodocgen: better event C info, show private/protected in listing
Daniel Kolesa [Tue, 7 Mar 2017 15:42:04 +0000 (16:42 +0100)]
docgen: better event C info, show private/protected in listing

7 years agoecore-wl2: Remove some debugging printouts
Chris Michael [Tue, 7 Mar 2017 13:19:26 +0000 (08:19 -0500)]
ecore-wl2: Remove some debugging printouts

These prints were left over from
5b9374583e3fd450ac53c566095c398f0d6c5cfe and should not have been pushed.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoedje_cc_parse: Support edje_cc in path containing space character
Jaehyun Cho [Tue, 7 Mar 2017 06:15:29 +0000 (15:15 +0900)]
edje_cc_parse: Support edje_cc in path containing space character

Previously, edje_cc in a path containing space character was not
supported. (e.g. "/usr/local/s p a c e/bin/edje_cc")

Now, to resolve above issue, edje_cc path is treated with double
quotation marks.

On Windows, if command begins with double quotation marks, then the
first and the last double quotation marks may be either deleted or not.
(See "help cmd" on Windows.)
Therefore, to preserve the string between the first and the last double
quotation marks, "cmd /S /C" and additional outer double quotation marks
are added.

7 years agoremoving duplicates winsock2.h
Ivan Furs [Tue, 7 Mar 2017 04:58:13 +0000 (13:58 +0900)]
removing duplicates winsock2.h

Summary:
winsock2.h included in Ecore.h
But Ecore.h ' is included in
/bin/efreet/efreet_desktop_cache_create.c
src/bin/efreet/efreet_mime_cache_create.c
src/tests/ecore_con/ecore_con_test_efl_net_ip_address.c

Reviewers: NikaWhite, cedric, raster, an.kroitor

Reviewed By: raster

Subscribers: artem.popov, cedric, jpeg

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

7 years agoevas: Fix layer usage count and deletion
Jean-Philippe Andre [Mon, 6 Mar 2017 14:01:07 +0000 (23:01 +0900)]
evas: Fix layer usage count and deletion

When using smart objects (quite likely, isn't it?), the internal
layer usage count was not perfectly tracked. This was especially
true if layer_set() was called on a (top-level) smart object.
As a consequence, there could be no objects in the layer but the
usage would still be > 0. Thus, the layer was not deleted, not
removed from the inlist of layers, and efl_gfx_stack_above_get()
could return NULL as the layer above a certain object was empty.

Fixes T5201

7 years agoelementary: fix tests build.
Cedric Bail [Tue, 7 Mar 2017 01:03:03 +0000 (17:03 -0800)]
elementary: fix tests build.

7 years agoecore: fix build when debugging threads
Jean Guyomarc'h [Mon, 6 Mar 2017 23:48:16 +0000 (00:48 +0100)]
ecore: fix build when debugging threads

7 years agoeina_file: delete handle->fm(handel of function CreateFileMapping)
Ivan Furs [Mon, 6 Mar 2017 10:18:46 +0000 (19:18 +0900)]
eina_file: delete handle->fm(handel of function CreateFileMapping)

Summary: CreateFileMapping return handle. The handle before use is always closed. This handle can be immediately closed after use.

Reviewers: cedric, raster, vtorri, rimmed, an.kroitor, FurryMyad, NikaWhite

Reviewed By: raster

Subscribers: artem.popov, cedric, jpeg

Tags: #windows

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

7 years agoeet_lib: changed unlink to eina_file_unlink
Ivan Furs [Mon, 6 Mar 2017 08:38:13 +0000 (17:38 +0900)]
eet_lib: changed unlink to eina_file_unlink

Summary: changed unlink to eina_file_unlink

Reviewers: cedric, raster, an.kroitor, rimmed, FurryMyad, NikaWhite, vtorri

Subscribers: artem.popov, cedric, jpeg

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

7 years agoevas: Fix non-disappearance of text entry cursor
Jean-Philippe Andre [Mon, 6 Mar 2017 07:45:24 +0000 (16:45 +0900)]
evas: Fix non-disappearance of text entry cursor

The mouse cursor in a text entry tends to not disappear even when
the mouse moves out of the entry. This seems to happen more when
the cursor was visible for a single frame only (although I'm not
100% sure about this condition).

One important difference with previous versions of EFL is that
the cursor is now part of the theme, so it is an image object
and not set by the compositor (it looks vastly different).

Anyway, when processing the list of pending_objects, we look at
the flags render_pre and rect_del which were (re)set during the
previous frame. Those flags are then (re)set during phase 1 which
happens after processing the pending objects list... only if
needed. So, phase 1 sets the condition to invalidate the current
lists of objects but that condition is checked for before phase 1.

This patch adds a check on delete_me which should hopefully make
it a rare enough case, for performance, but still force correct
rendering.

This is all spaghetti code, sorry if this explanation also reads
like pasta.

Note that exactness tests may still be broken because earlier
versions of EFL simply did not have the cursor inside the canvas
itself.

Fixes T5231

7 years agotests: Remove CPU affinity from all threads
Jean-Philippe Andre [Thu, 2 Mar 2017 11:37:32 +0000 (20:37 +0900)]
tests: Remove CPU affinity from all threads

I believe that all the threads created in our test suite should
be spawned without any special CPU affinity. The default parameter
is not 0 (corresponds to the first CPU, known as CPU 0) but -1.

Similarily the default priority is NORMAL (1), not 0 (URGENT).

This also affects two unused code paths: evas render2 and gl preload.

@fix

7 years agoecore_evas_extn: add shared lock mode to the ecore_extn.
Jiyoun Park [Mon, 6 Mar 2017 03:39:53 +0000 (12:39 +0900)]
ecore_evas_extn: add shared lock mode to the ecore_extn.

Currently, ecore_evas_extn only use exclusive lock.
so if there are many ecore_extn_plugs , there is competition among the ecore_extn_plugs.
since the ecore_extn_plugs dont need to use exclusive lock, add the shred lock mode.

7 years agoelm_code: Fix missing syntax for .eo files
Andy Williams [Sat, 4 Mar 2017 15:39:24 +0000 (15:39 +0000)]
elm_code: Fix missing syntax for .eo files

This was accidentally removed in the transition from edi.
using text/x-eolian which is not well reported by the FS yet.
@fix

7 years agoecore_evas_wayland: fix session recovery crash with async render
Derek Foreman [Thu, 2 Mar 2017 21:50:24 +0000 (15:50 -0600)]
ecore_evas_wayland: fix session recovery crash with async render

We need a display unset path for software render to prevent an async
render completing after a disconnect from posting a frame and crashing
us.

As of this commit both software and gl session recovery work for me.

fix T5005

 #SessionRecoveryWorksHere

7 years agoecore_evas_wayland: Use surface from engine info
Derek Foreman [Fri, 3 Mar 2017 19:13:14 +0000 (13:13 -0600)]
ecore_evas_wayland: Use surface from engine info

Calling ecore_wl2_window_surface_get() has the side effect of creating
a new wayland surface if we don't already have one.  If we do that
during a session recovery, we can try to create a new surface while
we have no connection to a compositor - that's Bad.

So we just use the one we already have stored - which we NULL out on
disconnect.

7 years agowayland_egl: recreate outbuf on session restore
Derek Foreman [Fri, 3 Mar 2017 19:04:06 +0000 (13:04 -0600)]
wayland_egl: recreate outbuf on session restore

If we get an eng_update with no outbuf, try to create one.

7 years agowayland_egl: Destroy the outbuf when we lose our surface
Derek Foreman [Fri, 3 Mar 2017 19:03:24 +0000 (13:03 -0600)]
wayland_egl: Destroy the outbuf when we lose our surface

This way we properly shut down when we get disconnected from the
compositor, and can reconnect later.

7 years agowayland_egl: Don't crash when asked to dump with no outbuf
Derek Foreman [Fri, 3 Mar 2017 19:01:23 +0000 (13:01 -0600)]
wayland_egl: Don't crash when asked to dump with no outbuf

Another session recovery corner case.

7 years agowayland_egl: Don't crash if gl context queried when no outbuf
Derek Foreman [Fri, 3 Mar 2017 18:58:30 +0000 (12:58 -0600)]
wayland_egl: Don't crash if gl context queried when no outbuf

We can get here on session restore when we haven't had a chance
to recreate the outbuf yet.

7 years agogl_generic: Add null checks in some cache functions
Derek Foreman [Fri, 3 Mar 2017 18:45:58 +0000 (12:45 -0600)]
gl_generic: Add null checks in some cache functions

When wayland session recovery happens, we can end up down this path
with no gl context when elm reprocesses its config file.

That callback fires long before we've re-set up our wayland connection
so we can't possibly have a valid gl context yet.

Prevent that from crashing.

7 years agoRevert "ecore: forcefully flush pending event when ecore_shutdown is called."
Mike Blumenkrantz [Fri, 3 Mar 2017 16:55:44 +0000 (11:55 -0500)]
Revert "ecore: forcefully flush pending event when ecore_shutdown is called."

This reverts commit 2c6808e4eed28d5b93d2f10b558b168aa365364e.

this breaks a number of expectations and guarantees in efl:

* causes unexpected event iteration during app startup before main loop begins
  - leads to event loss
* causes unexpected event iteration during app shutdown after main loop quits
  - leads to invalid memory access
* causes recursive event iteration during event handler callbacks
  - leads to ?????????????????????????????????????????????????????????????????

all of these can be easily seen by running enlightenment, and all of these cause
unexpected behaviors in enlightenment including, but not limited to, a lot of crashes

fix T5232

7 years agodocgen: run types/vars together with classes in parallel script
Daniel Kolesa [Fri, 3 Mar 2017 16:51:50 +0000 (17:51 +0100)]
docgen: run types/vars together with classes in parallel script

7 years agodocgen: add a simple script that does doc generation in parallel
Daniel Kolesa [Fri, 3 Mar 2017 16:43:19 +0000 (17:43 +0100)]
docgen: add a simple script that does doc generation in parallel

7 years agodocgen: only parse the necessary class when generating only one
Daniel Kolesa [Fri, 3 Mar 2017 16:34:30 +0000 (17:34 +0100)]
docgen: only parse the necessary class when generating only one

7 years agodocgen: do not generate foreign classes' functions and events
Daniel Kolesa [Fri, 3 Mar 2017 15:36:47 +0000 (16:36 +0100)]
docgen: do not generate foreign classes' functions and events

Only generate the classes' own funcs/events (and overridden). Let other
classes generate their own stuff. This prevents some files from being
generated multiple times, which more than halves generation time.

7 years agodocgen: add a pass to generate individual classes
Daniel Kolesa [Fri, 3 Mar 2017 15:26:04 +0000 (16:26 +0100)]
docgen: add a pass to generate individual classes

7 years agodocgen: add clist pass to list all classes
Daniel Kolesa [Fri, 3 Mar 2017 15:18:21 +0000 (16:18 +0100)]
docgen: add clist pass to list all classes

7 years agodocgen: initial support for multipass gen
Daniel Kolesa [Fri, 3 Mar 2017 15:16:05 +0000 (16:16 +0100)]
docgen: initial support for multipass gen

7 years agodocgen: move stats and keyref build into later stage
Daniel Kolesa [Fri, 3 Mar 2017 14:53:31 +0000 (15:53 +0100)]
docgen: move stats and keyref build into later stage

That way we can multipass the doc build without worrying about stats.

7 years agoecore_evas_wayland: remove useless code
Jiyoun Park [Fri, 3 Mar 2017 03:44:35 +0000 (12:44 +0900)]
ecore_evas_wayland: remove useless code

7 years agoecore_evas_wayland: remove useless code
Jiyoun Park [Fri, 3 Mar 2017 02:28:52 +0000 (11:28 +0900)]
ecore_evas_wayland: remove useless code

7 years agoecore_evas_wayland: fix bug ee's width and height were updated wrong place.
Jiyoun Park [Fri, 3 Mar 2017 01:27:00 +0000 (10:27 +0900)]
ecore_evas_wayland: fix bug ee's width and height were updated wrong place.

ecore evas manages the width and height using the ee->w/h and ee->req.w/h.
but sometimes only ee->req value can be updated.

7 years agoecore_imf/xim: Fix memory leak
Jihoon Kim [Fri, 3 Mar 2017 01:12:28 +0000 (10:12 +0900)]
ecore_imf/xim: Fix memory leak

64 bytes in 1 blocks are definitely lost in loss record 152 of 258
   at 0x4C2AB80: malloc (vg_replace_malloc.c:296)
   by 0xC786A77: ??? (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
   by 0xC78747B: _XimDecodeIMATTRIBUTE (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
   by 0xC77A7EF: ??? (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
   by 0xC767771: XGetIMValues (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
   by 0x113CFE09: ???
   by 0x113D08F7: ???
   by 0x83DD329: ecore_imf_context_client_window_set (ecore_imf_context.c:240)
   by 0x530779D: _edje_entry_real_part_init (edje_entry.c:2937)
   by 0x5311C20: _edje_object_file_set_internal (edje_load.c:1079)
   by 0x5328665: _edje_object_efl_file_mmap_set (edje_smart.c:438)
   by 0x775BD3A: efl_file_mmap_set (in /usr/local/lib/libefl.so.1.18.4)

7 years agoecore_thread: do not override the data field of a thread
Marcel Hollerbach [Thu, 2 Mar 2017 17:32:40 +0000 (18:32 +0100)]
ecore_thread: do not override the data field of a thread

otherwise a currently executed ecore_thread is going to pass a complete
wrong data to its callbacks.

fix T5175
fix T5173

7 years agoEfl.Canvas.Object: Multi-seat API should not be exposed to legacy.
Guilherme Iscaro [Thu, 2 Mar 2017 19:06:15 +0000 (11:06 -0800)]
Efl.Canvas.Object: Multi-seat API should not be exposed to legacy.

Summary: This new kind of APIs should be EO only.

Reviewers: jpeg, cedric, barbieri, bdilly, stefan_schmidt

Reviewed By: cedric, barbieri

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agodocgen: add info about protected/private methods/properties in listing
Daniel Kolesa [Thu, 2 Mar 2017 15:34:22 +0000 (16:34 +0100)]
docgen: add info about protected/private methods/properties in listing

7 years agoevas: Fix double clipping issue with map
jiin.moon [Thu, 2 Mar 2017 06:53:03 +0000 (15:53 +0900)]
evas: Fix double clipping issue with map

If object's parent has map and object also has map, the evas
clip would be applied twice.

The context already applied clip area when drawing on map_surface.
So don't need more clipping when drawing map_image.

Also, make sure to apply the framespace clip when drawing the map
surface onto the final canvas. Thanks @jiin.moon for the initial
patch (see D4694).

@fix

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
7 years agogenlist: Remove weird behavior about item_show, bring_in
Jiwon Kim [Thu, 2 Mar 2017 06:36:00 +0000 (15:36 +0900)]
genlist: Remove weird behavior about item_show, bring_in

Summary:
When if item_show / bring_in is proceeded as 'deferred_show'
sequence, Scrollto_Type does not be checked perfectly.
As a result,
ELM_GENLIST_ITEM_SCROLLTO_NONE and any other integer values
are worked such as ELM_GENLIST_ITEM_SCROLLTO_BRING_IN.

As doxygen of Elm_Genlist_Item_Scrollto_Type,
ELM_GENLIST_ITEM_SCROLLTO_NONE and other incorrect number
should not work.

Fixes T4854

@fix

Reviewers: SanghyeonLee, woohyun, jpeg

Reviewed By: jpeg

Subscribers: id213sin, conr2d, cedric

Maniphest Tasks: T4854

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

7 years agoemotion - fix empty video data frame update when using vdpau accel
Carsten Haitzler (Rasterman) [Thu, 2 Mar 2017 06:29:54 +0000 (15:29 +0900)]
emotion - fix empty video data frame update when using vdpau accel

fixes a segfault when using vdpau+gst and where the first frame seems to
be empty/zero.

@fix

7 years agodoc: Fix invalid group classification for Edje_Audio
Jeeyong Um [Thu, 2 Mar 2017 05:59:34 +0000 (14:59 +0900)]
doc: Fix invalid group classification for Edje_Audio

Summary: Edje_Audio group should belong to Edje group.

Reviewers: cedric, jpeg

Reviewed By: jpeg

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

7 years agoecore: Fix typo in error message
Bryce Harrington [Thu, 2 Mar 2017 02:52:22 +0000 (11:52 +0900)]
ecore: Fix typo in error message

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: jpeg, cedric

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

7 years agoecore_imf/ibus: Fix memory leak allocated by ibus_bus_new
Jihoon Kim [Thu, 2 Mar 2017 01:19:53 +0000 (10:19 +0900)]
ecore_imf/ibus: Fix memory leak allocated by ibus_bus_new

7 years agoecore-evas-wayland: Fix yet another wayland session recovery break
Derek Foreman [Wed, 1 Mar 2017 20:39:32 +0000 (14:39 -0600)]
ecore-evas-wayland: Fix yet another wayland session recovery break

commit 81783ec75caf4e4314abd8baf362718379b86570 combined two "identical"
pieces of code that weren't identical.  The removed code never checked
if the evas was visible before performing operations to make it so,
the code left behind would bail if the evas was visible.

Reset the visible status during disconnect to make sure we properly show
windows after a session recovery.

ref https://phab.enlightenment.org/T5005

@fix

Session works on the software engines at this point.  Use this as a bisect
point next time someone fubars it.

GL still broken.  Window geometry seems like it doesn't get updated right
either, but at least clients reconnect again.

 #SessionRecoveryWorksHere

7 years agoecore_wl2: Fix a wayland session recovery breaker... again
Derek Foreman [Wed, 1 Mar 2017 19:49:02 +0000 (13:49 -0600)]
ecore_wl2: Fix a wayland session recovery breaker... again

We need to bind a shell on reconnect, but dfb2af697 made sure
we only bind a single shell per wayland display for the life of
the display object - which lives longer than the connection.

That means when session recovery tries to reconnect it never bothers
to bind a shell, so the client can never post buffers.

ref https://phab.enlightenment.org/T5226
ref https://phab.enlightenment.org/T5005

@fix

7 years agoRevert "ecore-wl2: Send surface_commit after ack_configure"
Chris Michael [Wed, 1 Mar 2017 18:14:50 +0000 (13:14 -0500)]
Revert "ecore-wl2: Send surface_commit after ack_configure"

Reverting this as apparently one source says to send a commit after
ack_configure, and another source says its wrong...

This reverts commit 1187035fe669d2bfc77f600d2e5a8700eb1ff194.

7 years agoRevert "ecore-evas-wayland: Don't register animators until window gets shown"
Chris Michael [Wed, 1 Mar 2017 18:13:46 +0000 (13:13 -0500)]
Revert "ecore-evas-wayland: Don't register animators until window gets shown"

Reverting this as apparently it broke session recovery for some odd
ass reason...

This reverts commit 38f3854f45bcfca566feee882919d7a66f92ce13.

7 years agoecore-wl2: Fix efl apps crashing on close in wayland
Chris Michael [Wed, 1 Mar 2017 17:08:09 +0000 (12:08 -0500)]
ecore-wl2: Fix efl apps crashing on close in wayland

Commit c6b59be1da ensured display cleanup after roundtrips, however we
cannot call the display_cleanup function After the display has been
disconnected ... oopsie. Essentially the call to the cleanup function
was in the wrong place here so fix.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Remove duplicated code
Chris Michael [Wed, 1 Mar 2017 16:43:11 +0000 (11:43 -0500)]
ecore-evas-wayland: Remove duplicated code

As we already call the same functions inside
_ecore_evas_wl_common_show, there is no need to duplicate the same
code when we have defer_show set...just call the show function.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Fix issue of apps not starting up in fullscreen mode
Chris Michael [Wed, 1 Mar 2017 16:30:15 +0000 (11:30 -0500)]
ecore-evas-wayland: Fix issue of apps not starting up in fullscreen mode

Calls to make a window fullscreen do require the window to already
have a shell surface with which to fullscreen. If an app sets the
window fullscreen property when the window is not shown yet, then the
app would never startup fullscreen. This patch fixes that issue by
adding a 'defer_fullscreen' flag to Ecore_Evas (wayland) so that when
the window does finally get shown, we can show it in fullscreen.
Addresses part of the T5044 ticket...

ref T5044

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore: Don't use logging domains with spaces
Chris Michael [Wed, 1 Mar 2017 15:50:52 +0000 (10:50 -0500)]
ecore: Don't use logging domains with spaces

Small patch to change the name of the ecore_animator logging domain.
Names with spaces in them make it impossible to export
EINA_LOG_LEVELS_GLOB inside a bashrc

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Send surface_commit after ack_configure
Chris Michael [Wed, 1 Mar 2017 15:25:35 +0000 (10:25 -0500)]
ecore-wl2: Send surface_commit after ack_configure

Small patch to ensure we send a surface commit after sending the
ack_configure. This fixes an issue where E-WL internal windows would
not maximize.

Fixes T5192

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Ensure display cleanup after roundtrips
Chris Michael [Wed, 1 Mar 2017 13:32:18 +0000 (08:32 -0500)]
ecore-wl2: Ensure display cleanup after roundtrips

Commit ee52a28d041dfb02da0f2deca0714beb5eaa51fd added a roundtrip to
ensure and pending wl events were handled before we disconnected the
display. While this ensures some things like session recovery destroy
work again, it lead to an issue where the _ecore_wl2_display_cleanup
function was called BEFORE we processed pending events. This (in turn)
causes crashes due to processing of pending events that relied on
things like Ecore_Wl2_Input existing. As the display cleanup function
clears inputs & outputs, we need to defer calling that until the
display_roundtrip has dispatched and handled pending events.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelm_cnp: allocate space for null terminator in _wl_targets_converter
Derek Foreman [Tue, 28 Feb 2017 23:23:03 +0000 (17:23 -0600)]
elm_cnp: allocate space for null terminator in _wl_targets_converter

strcat needs room for a string terminator.

7 years agoecore: improve debugging of animator.
Cedric BAIL [Tue, 28 Feb 2017 19:01:09 +0000 (11:01 -0800)]
ecore: improve debugging of animator.

7 years agoecore_evas: rely as much as possible on display source for animator to reduce spuriou...
Cedric BAIL [Tue, 28 Feb 2017 00:56:45 +0000 (16:56 -0800)]
ecore_evas: rely as much as possible on display source for animator to reduce spurious tick.

7 years agoecore-wl2: Cleanup function for finding global
Chris Michael [Tue, 28 Feb 2017 17:36:05 +0000 (12:36 -0500)]
ecore-wl2: Cleanup function for finding global

As per Mike, the iterator macro already does the casting for us, so we
can cleanup the code here and not do casting, plus we can remove an
extra variable...bonus ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Use EINA_ITERATOR_FOREACH macro
Chris Michael [Tue, 28 Feb 2017 17:28:02 +0000 (12:28 -0500)]
ecore-wl2: Use EINA_ITERATOR_FOREACH macro

Small patch to change from while (iterator) to using the
EINA_ITERATOR_FOREACH macro...that I had forgotten about...thanks Mike
;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Ensure we only bind one wayland shell
Chris Michael [Tue, 28 Feb 2017 17:17:02 +0000 (12:17 -0500)]
ecore-wl2: Ensure we only bind one wayland shell

This patch adds prioritizing to our wayland shell binding code so that
we only bind One shell that the compositor advertises. During the
global_add callback, the shells get added to the 'globals' hash, and
when sync is done, we will search for shells to bind based on priority
so that we can ensure we always bind to the latest supported shell.

ref T5226

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoRevert "ecore-wl2: Only bind one shell"
Chris Michael [Tue, 28 Feb 2017 16:37:15 +0000 (11:37 -0500)]
Revert "ecore-wl2: Only bind one shell"

Reverting this in favor of a better approach (using a priority list)
as discussed on IRC.

This reverts commit 0e93f03636ec10710547513fb865ef2703e937a4.

7 years agoelementary: Don't update opaque/input regions if not visible
Chris Michael [Tue, 28 Feb 2017 16:29:24 +0000 (11:29 -0500)]
elementary: Don't update opaque/input regions if not visible

Small patch to reduce calls to setting opaque/input regions in
wayland. Basically, if the window is not shown then there is no point
in updating these regions until such time that the window is actually
visible and the regions will get committed.

ref T5226

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-imf-wayland: Reduce calls to set_cursor_rectangle
Chris Michael [Tue, 28 Feb 2017 15:22:58 +0000 (10:22 -0500)]
ecore-imf-wayland: Reduce calls to set_cursor_rectangle

Avoid calls to zwp_text_input_v1_set_cursor_rectangle if we do not
need to. Previous code here would always call this function even if
the cursor rectangle was in the same position. Now we set a flag on
the cursor_location field to let us know that it needs updating.

ref T5226

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Actually update input/opaque regions
Chris Michael [Tue, 28 Feb 2017 15:12:31 +0000 (10:12 -0500)]
ecore-wl2: Actually update input/opaque regions

Previous commit f8f71d05cdc7a8578329f75b0101662220390f20 to avoid resetting
opaque & input regions was not totally complete as it did not update
the actual values...small patch to fix that.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-imf-wayland: Remove duplicate header include
Chris Michael [Tue, 28 Feb 2017 14:28:24 +0000 (09:28 -0500)]
ecore-imf-wayland: Remove duplicate header include

wayland_imcontext.h already includes this header, so no need to
re-include. Also add missing (void) to function declaration

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-imf-wayland: Formatting fixes
Chris Michael [Tue, 28 Feb 2017 14:16:22 +0000 (09:16 -0500)]
ecore-imf-wayland: Formatting fixes

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Avoid resetting opaque & input regions if they match
Chris Michael [Tue, 28 Feb 2017 13:51:21 +0000 (08:51 -0500)]
ecore-wl2: Avoid resetting opaque & input regions if they match

Small patch to avoid setting the same opaque/input regions if they
already match what is being requested.

ref T5226

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Only bind one shell
Chris Michael [Tue, 28 Feb 2017 13:40:26 +0000 (08:40 -0500)]
ecore-wl2: Only bind one shell

Since we only ever use One shell at a time, let's not bind all of them
as that is useless.

ref T5226

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoeina: move the _eina_main_loop set before we init anything
Marcel Hollerbach [Tue, 28 Feb 2017 10:46:56 +0000 (11:46 +0100)]
eina: move the _eina_main_loop set before we init anything

otherwise we could get into problems.

fix T4891

@fix

7 years agoeina_value: Fix min/max values of long for Windows
Jean-Philippe Andre [Tue, 28 Feb 2017 07:24:05 +0000 (16:24 +0900)]
eina_value: Fix min/max values of long for Windows

long is 32 bit on Windows (both 32, 64 bit).

I wonder why eina_value doesn't simply use LONG_MIN/MAX O_o

Fixes T5204

7 years agoeina:list: Fix resource leak
Flavio Ceolin [Tue, 28 Feb 2017 07:00:45 +0000 (16:00 +0900)]
eina:list: Fix resource leak

Summary:
The usage of the macro EINA_MAGIC_CHECK_LIST can
lead (in some cases) to leaks.

Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>
Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

7 years agoevas: Reset state to GL_TEXTURE_2D
Jean-Philippe Andre [Tue, 28 Feb 2017 04:04:31 +0000 (13:04 +0900)]
evas: Reset state to GL_TEXTURE_2D

This should fix an ERR message under gl_drm and probably an
actual bug.

This reverts 8f2cfdf4900e8e8b13f48c213512041e5f.

I don't think the texture target should be part of the context
information. It should instead be a property of the texture.

Fixes T5171

7 years agoevas: Drop duplicate macro definitions SETUP_LINE_*
Bryce Harrington [Tue, 28 Feb 2017 02:41:12 +0000 (11:41 +0900)]
evas: Drop duplicate macro definitions SETUP_LINE_*

Summary:
SETUP_LINE_SHALLOW and SETUP_LINE_STEEP are each identically defined
(except whitespace) in evas_line_main.c

Reviewers: cedric, jpeg

Subscribers: jpeg, cedric

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

7 years agoecore_imf/ibus: fix memory leak
Jihoon Kim [Tue, 28 Feb 2017 02:24:39 +0000 (11:24 +0900)]
ecore_imf/ibus: fix memory leak

7 years agoecore_evas: animator eo event are not a legacy event.
Cedric BAIL [Mon, 27 Feb 2017 23:12:11 +0000 (15:12 -0800)]
ecore_evas: animator eo event are not a legacy event.