Commit Graph

52806 Commits

Author SHA1 Message Date
Cedric BAIL 0e8a20a0a6 ecore_drm: avoid crash during shutdown due to Ecore_Event queue. 2017-03-09 16:17:58 -08:00
Cedric BAIL af7a5ef5d9 ecore_cocoa: avoid crash during shutdown due to Ecore_Event queue. 2017-03-09 16:17:58 -08:00
Cedric BAIL deb6f0d2cd ecore_con: avoid potential crash during shutdown due to Ecore_Event queue. 2017-03-09 16:17:58 -08:00
Cedric BAIL b80cfb38a1 ecore: avoid potential crash on shutdown in Ecore_Exe 2017-03-09 16:17:58 -08:00
Cedric BAIL 614c255f3b ecore: add ecore_event_type_flush.
During shutdown it is possible that some event are still in ecore events
queue and get processed after the shutdown of the module that did emit them.
This would lead to crash in some case. The answer to this problem is to
normally manually track all ecore event in the queue and destroy them
before shutdown... Of course that make the API difficult to use and
basically nobody got it right.

This new API do actually as it says remove all the ecore event of a
certain type from ecore events queue. It is to be called on shutdown.

@fix
2017-03-09 16:17:58 -08:00
Jean Guyomarc'h adf9608387 ecore_cocoa: fix windows initial rendering
We need to refresh the Cocoa's content view when showing the window.
In some particular cases (including the elementary_test initial window),
the content view is redrawn because of external events (the entry
animator). When no action at all is performed, the window and the
content view are resized... nice... but not drew...

Such a simple fix for this hell of a bug!

Fixes T5210
2017-03-09 23:16:16 +01:00
Jean Guyomarc'h c1604cdac8 ecore_evas_cocoa: better debugging log 2017-03-09 23:16:16 +01:00
Jean Guyomarc'h fd7f878320 ecore_cocoa: factorize a little access to the cocoa window 2017-03-09 23:16:16 +01:00
Jean Guyomarc'h 7ef27a4669 eldbus: don't abs() an unsigned value
clang complained about abs() being used on an unsigned integer.
Calling abs() is actually unnecessary.
2017-03-09 23:16:16 +01:00
Jean Guyomarc'h 660259b46d eio: fix printf format error 2017-03-09 23:16:16 +01:00
Jean Guyomarc'h 9ba17f6902 edje: better error message when a po file does not exist 2017-03-09 23:16:16 +01:00
Jean Guyomarc'h a0a957bb7d edje: make sure the po files are well-copied once 2017-03-09 23:16:16 +01:00
Jean Guyomarc'h 8d2c6189fa edje: use portable cp options
The -u option is GNU-specific.
2017-03-09 23:16:16 +01:00
Derek Foreman 5e7456a315 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.
2017-03-09 16:11:56 -06:00
Derek Foreman 4f1c858928 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
2017-03-09 12:21:09 -06:00
Derek Foreman aedf55073a 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...
2017-03-09 12:21:09 -06:00
Derek Foreman e1ffb46a0e 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.
2017-03-09 12:21:08 -06:00
Derek Foreman a1b90cf4d7 Revert "ecore-evas-wayland: Fix issue of apps not starting up in fullscreen mode"
This reverts commit dfb1877500.

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.
2017-03-09 12:21:08 -06:00
Chris Michael ad1e5ead40 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>
2017-03-09 08:51:18 -05:00
Derek Foreman 033187c1d3 Revert "ecore_input - dont try update modifiers and locks on mouse events"
This reverts commit f654714d75.

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.
2017-03-09 07:42:28 -06:00
Jean-Philippe Andre 815e53ee35 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
2017-03-09 17:39:39 +09:00
Ivan Furs c1a2c89ac8 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
2017-03-09 17:39:39 +09:00
Taehyub Kim 425a04beb3 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
2017-03-09 17:39:39 +09:00
Carsten Haitzler f654714d75 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
2017-03-09 16:52:44 +09:00
JEONGHYUN YUN 3147066865 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
2017-03-09 16:11:34 +09:00
Bryce Harrington b9c8c9c08c 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
2017-03-09 15:47:43 +09:00
Carsten Haitzler d550190d6b 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
2017-03-09 11:21:19 +09:00
Stephen 'Okra' Houston 1a5563ab63 Luncher theme: Prepare to size engage correctly. 2017-03-08 18:20:10 -06:00
Jean Guyomarc'h 27a62edd68 gl_cocoa: use triple buffering
Interestingly enough, this makes some graphical artifacts vanish...
2017-03-09 00:57:56 +01:00
Jean Guyomarc'h f6a44e6bc1 ecore_evas_cocoa: fix invalid initial requested width 2017-03-09 00:57:56 +01:00
Jean Guyomarc'h 863077ce9a ecore_evas_cocoa: use ecore_event to match windows 2017-03-09 00:57:55 +01:00
Jean Guyomarc'h 88e352efe8 ecore_cocoa: pass the right window to ecore_evas 2017-03-09 00:57:55 +01:00
Jean Guyomarc'h 79e7e2628a ecore_evas_cocoa: remove more pointless code 2017-03-09 00:57:55 +01:00
Cedric Bail 4766316935 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
2017-03-08 12:24:41 -08:00
Bryce Harrington 8ed9aec49b 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
2017-03-08 14:13:01 -06:00
Youngbok Shin f83ce20e1c 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>
2017-03-08 19:35:03 +09:00
Jean-Philippe Andre 437ae4a3d3 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?
2017-03-08 19:21:24 +09:00
Jean-Philippe Andre 49e7a8ee69 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.
2017-03-08 18:36:03 +09:00
Youngbok Shin a7b501d947 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
2017-03-08 17:26:59 +09:00
Jean-Philippe Andre 99d21f6d9c 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
2017-03-08 17:04:57 +09:00
Jean Guyomarc'h b9ab5f68af 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...
2017-03-08 08:59:59 +01:00
Jean Guyomarc'h 1c772ddd3d ecore_evas_cocoa: set the render func at initialization 2017-03-08 08:59:59 +01:00
Jean Guyomarc'h 85110c7dd9 ecore_evas: process mouse move even when there is no cursor 2017-03-08 08:59:59 +01:00
Jean-Philippe Andre 8b9361e75c 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.
2017-03-08 15:51:02 +09:00
Jean-Philippe Andre 265c851a8f 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).
2017-03-08 15:44:39 +09:00
Jean-Philippe Andre 9dcf2d3965 evas: Set thread name for preload
This can be useful during debugging.
2017-03-08 11:25:40 +09:00
Jean Guyomarc'h 566b23dcb8 ecore_evas/x: don't mark as unused a used parameter 2017-03-07 20:23:12 +01:00
Jean Guyomarc'h 6f80616a4d ecore_evas/cocoa: fix cursor's visibility
Fixes T5238
2017-03-07 20:23:12 +01:00
Cedric BAIL 4e1567b41e 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.
2017-03-07 11:08:52 -08:00
Daniel Kolesa bf7b3e5dfc docgen: include C usage snippet on event pages 2017-03-07 17:15:24 +01:00