Commit Graph

64 Commits

Author SHA1 Message Date
Vincent Torri f5b01ac5ce all: Simplify definition of EAPI
This will help in the transition from Autotools to Meson. This has been
tested on Windows for which EFL_XXX_BUILD were first introduced.
2018-01-18 18:04:03 +09:00
Mike Blumenkrantz 4d32334f21 Revert "efl wl - fix segv where garbage ptr to comp surface is still there"
This reverts commit 574ef9a5e5.

this should be resolved by 863a6e159e99c5f69ecc7461106aba2102f1da11 and is
only a possible case when an unmapped surface was activated, something which
is prevented by spec and can only occur if bugs exist elsewhere
2018-01-17 17:33:23 -05:00
Mike Blumenkrantz 4fb807dd20 efl-wl: only perform mouse-out operations for a seat if the mouse was "in"
this could lead to cases where the original application's cursor was permanently
lost

@fix

 #TheDisappointer
2018-01-17 17:04:20 -05:00
Mike Blumenkrantz 9ccf88e326 efl-wl: ensure parent surface is mapped before attempting to revert activation 2018-01-17 17:03:48 -05:00
Mike Blumenkrantz beb430a00b efl-wl: immediately unset a destroyed surface's cursor
@fix
2018-01-17 17:01:01 -05:00
Mike Blumenkrantz c13ae0a630 efl-wl: enforce xdg-shell spec requiring a commit to an unmapped surface
a separate commit is required for a newly-unmapped surface in order for
the surface to be able to attach a buffer and be mapped
2018-01-17 16:55:35 -05:00
Mike Blumenkrantz 02af7e8210 efl-wl: only send keyboard enter and activation for mapped surfaces
setting active for unmapped surfaces bypasses the expected path for
unsetting activate during surface unmap if the surface is destroyed
while active and unmapped

@fix
2018-01-17 16:52:34 -05:00
Mike Blumenkrantz f6d045ea8d efl-wl: remove some broken logic for activating toplevel parents
parents of parents should not be marked as activated...probably

@fix
2018-01-17 16:42:31 -05:00
Mike Blumenkrantz 11a9ed301d efl-wl: set event ON_HOLD flag when they are sent to a surface
use a flag to indicate when processed events have been internally processed

@fix
2018-01-17 16:41:41 -05:00
Mike Blumenkrantz b7eba8af7b efl-wl: propagate surface activation back to parent if child is hidden
a toplevel child will always be stacked right above its parent

@fix
2018-01-17 16:39:44 -05:00
Mike Blumenkrantz 45191ff294 efl-wl: send more mouse buttons to clients
@fix
2018-01-17 16:39:44 -05:00
Mike Blumenkrantz 742e20a002 efl-wl: split case for toplevel vs popup during surface hide activate propagation
this should have no functional differences due to spec, but make sure it reads
more clearly
2018-01-17 16:39:44 -05:00
Mike Blumenkrantz 17b0db9ed3 efl-wl: add lots of null checks to egl init
ref T6617
2018-01-16 18:38:25 -05:00
Carsten Haitzler 574ef9a5e5 efl wl - fix segv where garbage ptr to comp surface is still there
comp surface destruction doesnt clear the pointer to one in the comp
struct that then is garbage later. fix.
2018-01-16 17:49:52 +09:00
Mike Blumenkrantz abc88c498e efl-wl: multiply axis events by 10 to send normalized values
ref T6443
2018-01-12 16:03:12 -05:00
Mike Blumenkrantz 60028fafb7 efl-wl: unset cursor role on existing cursor surface if new cursor is set
this avoids killing clients which replace cursors

@fix
2018-01-12 15:49:06 -05:00
Mike Blumenkrantz d176fbc806 efl-wl: return NULL without error when non-extracted parent is found
in  efl_wl_extracted_surface_extracted_parent_get()
2018-01-12 14:58:34 -05:00
Mike Blumenkrantz 571702aebb efl-wl: do not modify extracted surface visibility during commit
extracted surfaces are wholly managed externally, so this should not be modified

ref T6443

@fix
2018-01-10 14:21:03 -05:00
Mike Blumenkrantz 79ca67d8a5 efl-wl: move to xdg-shell vfinal
@feature
2018-01-10 11:39:52 -05:00
Mike Blumenkrantz cca561e94e efl-wl: add function to get the parent of an extracted surface
@feature
2018-01-03 18:46:54 -05:00
Derek Foreman 49fefaf1bc efl_wl: Silence ridiculous warning
Including wayland client code before wayland server code causes
spurious "struct wl_buffer deprecated" nonsense.

Recent ecore_wl2 changes brought wayland client code into Ecore_Wl2.h
which caused the warning to trigger here.

Simply re-ordering the include files should resolve with no functional
change.
2017-11-27 11:33:53 -06:00
Derek Foreman 51da93da28 efl_wl: Add missing @since to new functions
These ones were introduced for 1.21.
2017-11-09 12:41:22 -06:00
Mike Blumenkrantz e7faa2c820 efl-wl: send configures when extracted popups are resized 2017-10-25 10:44:16 -04:00
Mike Blumenkrantz 2b3c8d7f3f efl-wl: don't randomly set min/max size hints on popup surface objects
this is misleading since popups don't have min/max size hints
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz 42c56cc33b efl_wl: do not propagate hints to main widget for child surfaces
the top-most parent should be the surface from which hints are obtained

@fix
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz ed30f41de8 wayland: add support for efl weight hint propagation from elm_win to efl_wl
@feature
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz e9572a6537 efl_wl: add function for returning the evas object for an extracted surface
@feature
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz c7f9f2eef1 efl_wl: destroy extant shell surface upon surface deletion
avoid invalid reads later

@fix
2017-10-25 10:44:16 -04:00
Mike Blumenkrantz 6006fab98d efl_wl: more closely follow wl spec for input regions
@fix
2017-10-25 10:44:16 -04:00
Derek Foreman 0ad6c47ec2 efl_wl: Stop queuing buffer release events
This was an optimization that caused more pain than benefit in the
long term.  Weston no longer does it, so we're just following suit.
2017-09-26 11:39:19 -05:00
Mike Blumenkrantz 72e9d604a3 ecore-x: reject successive MappingNotify events if they are identical
in some cases loading an xmodmap on enlightenment startup can trigger an infinite
number of identical events which hard locks the xserver for a very, very long time

@fix
2017-09-22 10:10:07 -04:00
Mike Blumenkrantz 2510afe821 efl-wl: match nested wl seats based on display ordering
a nested compositor will have a mismatch between canvas seat id and
compositor seat id, so this attempts to perform matching based on the
order that they are listed, which should be identical

@fix
2017-08-25 14:48:11 -04:00
Mike Blumenkrantz e40435a1b0 efl-wl: max size of 0x0 from shell is -1x-1 in efl 2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 0303805ef7 efl-wl: initialize seat keymap fd to -1
@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 302237fa77 efl-wl: handle case where eglBindWaylandDisplay fails
@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 8052b90d20 efl-wl: always dismiss popups on hide
@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 60449b48dc efl-wl: use correct accessor method for keyboard resource hash
@fix
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz 2d1e5da35d efl-wl: add functionality for extracting surfaces for external use
@feature
2017-08-11 18:43:13 -04:00
Mike Blumenkrantz dc250e6101 efl-wl: add EFL_WL_DEBUG env variable for enabling wayland debug
@feature
2017-08-11 18:43:13 -04:00
Derek Foreman 49bdba8505 efl_wl: Update to latest dmabuf protocol version
Weston's dmabuf code continues to be modular enough that we can pull
it in with little change.

This updates us to version 3 of the protocol.

Currently only contains stubs for format queries.
2017-08-10 11:36:38 -05:00
Mike Blumenkrantz fb153fc57a efl-wl: no-op the re-setting of minmax/aspect handling 2017-08-04 16:17:33 -04:00
Mike Blumenkrantz 29b99a8e88 efl-wl: add handling for external protocol interfaces
@feature
2017-08-04 16:17:33 -04:00
Mike Blumenkrantz be20f7d96c efl-wl: support min/max hinting
@feature
2017-08-04 16:17:33 -04:00
Mike Blumenkrantz 9a189d29d0 wayland: add efl-hints protocol for setting aspect on surfaces
@feature
2017-08-04 16:15:43 -04:00
Mike Blumenkrantz 106e1d4318 efl-wl: set cursor surface roles
ensure cursor surfaces without buffers will be mapped if a buffer is
attached

@fix
2017-08-04 16:10:49 -04:00
Mike Blumenkrantz 514fefe2d4 efl-wl: add handling for commit during canvas render
prevent release of pre-existing buffers during a render cycle

@fix
2017-08-04 16:10:47 -04:00
Mike Blumenkrantz 2961cb2550 efl-wl: do shm pool ref/unref for bm safety
@fix
2017-08-04 16:10:43 -04:00
Mike Blumenkrantz 70c118fab6 efl-wl: block connection attempts from unmanaged clients
I guess posting an oom error is security

@fix
2017-08-04 16:10:39 -04:00
Carsten Haitzler ed947fad81 efl_wl - fix warning for possible uninitted list access
could potentially be an issue in one theoretical case. less warnings
is better anyway
2017-08-02 18:48:06 +09:00
Mike Blumenkrantz 84ae9d82d0 efl-wl: hide popup surface before unsetting attrs during destructor
ensure focus remains with the popup parent
2017-07-28 15:40:47 -04:00