platform/upstream/efl.git
7 years agoecore_evas_cocoa: better debugging log
Jean Guyomarc'h [Thu, 9 Mar 2017 21:58:50 +0000 (22:58 +0100)]
ecore_evas_cocoa: better debugging log

7 years agoecore_cocoa: factorize a little access to the cocoa window
Jean Guyomarc'h [Thu, 9 Mar 2017 21:56:47 +0000 (22:56 +0100)]
ecore_cocoa: factorize a little access to the cocoa window

7 years agoeldbus: don't abs() an unsigned value
Jean Guyomarc'h [Thu, 9 Mar 2017 21:19:03 +0000 (22:19 +0100)]
eldbus: don't abs() an unsigned value

clang complained about abs() being used on an unsigned integer.
Calling abs() is actually unnecessary.

7 years agoeio: fix printf format error
Jean Guyomarc'h [Thu, 9 Mar 2017 21:18:10 +0000 (22:18 +0100)]
eio: fix printf format error

7 years agoedje: better error message when a po file does not exist
Jean Guyomarc'h [Thu, 9 Mar 2017 21:17:43 +0000 (22:17 +0100)]
edje: better error message when a po file does not exist

7 years agoedje: make sure the po files are well-copied once
Jean Guyomarc'h [Thu, 9 Mar 2017 21:17:11 +0000 (22:17 +0100)]
edje: make sure the po files are well-copied once

7 years agoedje: use portable cp options
Jean Guyomarc'h [Thu, 9 Mar 2017 20:30:26 +0000 (21:30 +0100)]
edje: use portable cp options

The -u option is GNU-specific.

7 years agoecore_wl2: Fix up xdgv6 ack_configures
Derek Foreman [Thu, 9 Mar 2017 22:11:56 +0000 (16:11 -0600)]
ecore_wl2: Fix up xdgv6 ack_configures

We've been immediately acking configure with the correct serial number, then
later at commit time sending an incorrect serial (generating a new one).

Remove the extra ack, and save that serial for later, and don't overwrite
it with a current serial when we get a toplevel configure.

Oddly, compositors were letting us get away with this behaviour, so this
probably looks functionally the same as before.

7 years agoecore_wl2: Fix initial maximized/fullscreen state
Derek Foreman [Wed, 8 Mar 2017 20:10:10 +0000 (14:10 -0600)]
ecore_wl2: Fix initial maximized/fullscreen state

This defers the fullscreen/maximized states if we don't have a shell
surface, and sets them in the first shell surface commit.

ref T5044

7 years agoecore_wl2: Rename badly named API
Derek Foreman [Thu, 9 Mar 2017 17:05:28 +0000 (11:05 -0600)]
ecore_wl2: Rename badly named API

Oops, I broke naming convention with this, but it's unreleased and beta so
I hope nobody notices as long as I change it now...

7 years agoecore_wl2: Remove wl_shell client support
Derek Foreman [Wed, 8 Mar 2017 19:40:41 +0000 (13:40 -0600)]
ecore_wl2: Remove wl_shell client support

We're never going to encounter a compositor without at least xdg v5
support, so remove wl_shell support.

7 years agoRevert "ecore-evas-wayland: Fix issue of apps not starting up in fullscreen mode"
Derek Foreman [Wed, 8 Mar 2017 18:45:07 +0000 (12:45 -0600)]
Revert "ecore-evas-wayland: Fix issue of apps not starting up in fullscreen mode"

This reverts commit dfb18775002c5130b60bdc03ed60b7de356e6012.

This did fix the problem of "rage -f" not starting properly, but it
broke toggling between fullscreen and !fullscreen for other apps.

They'd resize to a large, but not quite fullscreen, size, then render with decor
present, and big black bars on the right/bottom edges (which were offscreen due
to the client size and position)

This isn't really the right place to fix this - it's a protocol usage bug, not
a canvas bug.

7 years agoecore-anim: Remove unused variable
Chris Michael [Thu, 9 Mar 2017 13:51:18 +0000 (08:51 -0500)]
ecore-anim: Remove unused variable

Gcc reports 'i' as unused here and checking the code confirms that, so
remove unused variable.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoRevert "ecore_input - dont try update modifiers and locks on mouse events"
Derek Foreman [Thu, 9 Mar 2017 13:42:28 +0000 (07:42 -0600)]
Revert "ecore_input - dont try update modifiers and locks on mouse events"

This reverts commit f654714d75afdd07ad851bf278a39ddf8de6caba.

Modifiers do influence mouse events, though a mouse input can't change them...

This commit broke modifer+drag on windows in E, so I'm reverting it.

7 years agoevas filters: Save selected render op of the final object
Jean-Philippe Andre [Thu, 9 Mar 2017 08:36:39 +0000 (17:36 +0900)]
evas filters: Save selected render op of the final object

If an object is meant to use COPY mode (for evil purposes,
most likely), then its filtered output should also be using
COPY mode.

@fix

7 years agowin32: removed duplicate winsock2.h and added WIN32_LEAN_AND_MEAN in Ecore.h
Ivan Furs [Thu, 9 Mar 2017 07:39:42 +0000 (16:39 +0900)]
win32: removed duplicate winsock2.h and added WIN32_LEAN_AND_MEAN in Ecore.h

Summary: winsock2.h is dublicate in src/lib/ecore/ecore_main.c

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

Subscribers: cedric, jpeg

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

7 years agopopup: hides the popup when hide effect is finished
Taehyub Kim [Thu, 9 Mar 2017 07:36:20 +0000 (16:36 +0900)]
popup: hides the popup when hide effect is finished

Summary:
When popup hides and shows fast, sometimes popup is not shown
because of the difference visible value between popup and notify
(case: popup visible state: 1, popup_notify visible state: 0)
To sync this value I added the visible set code in elc_popup.c

@fix

Test Plan:
1. run elementary_text -to popup
2. shows the hide popup
3. hides popup using the hide button
4. repeat 2,3 step
5. popup will be shown well

Reviewers: jpeg, cedric, Hermet, raster

Subscribers: Blackmole, woohyun

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

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>