Commit Graph

55 Commits

Author SHA1 Message Date
Elyes HAOUAS 28080ccc04 tree-wide: get rid of trailing whitespace (last part)
Remove trailing whitespaces

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11832
2020-05-14 14:17:19 +02:00
Carsten Haitzler 3a581f888d xwayland - handle negative return failure for abs socket create
fix CID 1403929
2019-08-06 19:05:36 +01:00
Carsten Haitzler 747d18373e warn - make buffer bigger to avoid trunc warn 2019-01-12 01:51:43 +00:00
Derek Foreman 989497ded1 Revert no-longer required pulseaudio hack for wayland
The problem this solved is now handled elsewhere.

Reverts what's left of commit 6eefae4822
2018-03-20 12:25:50 -05:00
Mike Blumenkrantz 5d59cf11dc toggle x_fatal variable when xwayland crashes 2018-01-22 16:35:34 -05:00
Mike Blumenkrantz 3fb8253edb prevent double shutdown of x11 compositor in xwayland mode
only do shutdown in xwl module if not actively shutting down
2017-11-07 10:40:05 -05:00
Derek Foreman fa1a858356 Fix crash on wayland logout if xwayland hasn't started yet
If xwayland hasn't started yet then the root window id is 0, which is
invalid, so we crash in e_comp_x_shutdown.
2017-10-25 14:17:10 -05:00
Mike Blumenkrantz 990c0f1005 do ecore-x shutdown on xwayland shutdown 2017-10-03 12:39:03 -04:00
Carsten Haitzler 03aeb1d463 fix fallthrough warnings 2017-08-04 12:35:27 +09:00
Carsten Haitzler a2afa0afd2 xwayland module - fix fallthrough annotation 2017-08-04 10:37:46 +09:00
Mike Blumenkrantz 9357ecc443 don't force shm for xwayland launch and enable gl
fix T5606
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz 9701588cc8 add error messages when symbols fail to resolve in xwl init
ref T5258
2017-05-24 10:10:07 -04:00
Mike Blumenkrantz 8b0eb9ad8e do not start xwayland repeatedly
ref 0534c7ae6f
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz cfc538ca55 remove all unnecessary efl version checks
the version of efl required by configure is already higher than these checks
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 98ab29ea3c add event for xwayland init 2017-02-24 14:15:38 -05:00
Mike Blumenkrantz 0534c7ae6f start xwayland process 2.0s after module load
this avoids conflicts with efl internals, which will break entirely
when DISPLAY is set under wayland, and xwayland internals, which will
abort immediately when efl tries to connect to it during its init phase
2017-02-10 17:24:13 -05:00
Derek Foreman 22a99c5b5a NULL out xwayland fd handlers after deleting them
This fixes a valgrind error that can happen when we accidentally
free these again later because they still had non-NULL values.
2016-09-21 16:45:57 -05:00
Chris Michael adfa905e09 add missing EINA_UNUSED for function parameter
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-07 09:03:10 -04:00
Mike Blumenkrantz 54d446b05e add xwayland compat for efl 1.19+ 2016-08-15 10:51:57 -04:00
Marcel Hollerbach a484ee1df3 xwayland: show the dialog after ecore_wl2 is in sync
otherwise ecore_wl2 could produce crashes.
2016-08-04 16:38:51 +02:00
Mike Blumenkrantz ffbf4235dd Revert "eo_del -> eo_unref in xwayland"
This reverts commit 1eddd375d8.
2016-06-01 09:57:17 -04:00
Mike Blumenkrantz 1eddd375d8 eo_del -> eo_unref in xwayland 2016-05-18 13:26:59 -04:00
Mike Blumenkrantz 280a29cc95 Revert "add SA_NOCLDWAIT to SIGCHLD flags when xwayland module loads"
This reverts commit 66a3fcb013.

fix T3599
2016-05-11 12:49:53 -04:00
Mike Blumenkrantz 66a3fcb013 add SA_NOCLDWAIT to SIGCHLD flags when xwayland module loads
pulseaudio uses waitpid internally and will deadlock if ecore-audio
performs a deferred connect
2016-05-06 13:43:47 -04:00
Mike Blumenkrantz 3178064d30 ensure xwayland module init does not fail due to early startup
comp_type may not be set at the time of init
2016-05-06 13:42:20 -04:00
Mike Blumenkrantz 4b7141fc13 don't print xwayland path twice... 2016-04-04 15:40:21 -04:00
Mike Blumenkrantz 5046004edf print xwayland exe path in debug logs
ref T3415
2016-04-04 15:38:46 -04:00
Mike Blumenkrantz 1fd9d8eee5 break out xwl init/shutdown into static functions for reuse internally
calling modapi functions like this causes symbol collision and randomly
calls corresponding functions for other modules
2016-03-12 11:15:42 -05:00
Mike Blumenkrantz f1bccff8e1 Revert "fix xwayland compile with 1.18 eo"
This reverts commit 2ec02258ec.
2016-03-12 10:43:13 -05:00
Mike Blumenkrantz 2ec02258ec fix xwayland compile with 1.18 eo 2016-03-09 13:13:45 -05:00
Mike Blumenkrantz 913e04bda7 declare xwayland functions prior to using them
#CompileFail
2015-11-24 15:46:10 -05:00
Mike Blumenkrantz 70c6dc30d1 use separate handler for x11 fatal errors when using xwayland
a fatal error with xwayland is not a fatal error for the compositor,
so this should not result in a dead session
2015-11-24 15:34:42 -05:00
Mike Blumenkrantz 6eefae4822 add hacks to work around pulseaudio+xwayland integration deadlocks
enlightenment is (I think) the first wayland compositor to run with
in-process pulseaudio integration for audio playback and not just mixer
support. hooray.

this results in a fun issue: if DISPLAY is set, as it must be for x11
clients to function, pulseaudio will unconditionally attempt to use a
blocking socket connection to create a connection to the running xserver.
the only exception here is if x11 support has been compiled out of pulseaudio,
but probably no distro will do that ever.

so, what happens when the compositor thread tries to create a socket connection
to the xserver that the compositor thread has not yet started? absolutely nothing.
forever.

the easiest solution which continues to provide the key press sounds that everyone
loves is to ensure that the pulseaudio connection is created before DISPLAY is ever
set, namely in the xwayland module init.

this will now occur automatically now in the case when the mixer module detects
pulseaudio support.

TL;DR: don't disable mixer module if you use xwayland
2015-10-21 17:19:52 -04:00
Mike Blumenkrantz 3f13b6889d replace existing usage of x/wl_comp_data with corresponding globals 2015-08-13 16:05:57 -04:00
Mike Blumenkrantz f9bd731087 track xwl dnd event handlers 2015-08-07 13:48:21 -04:00
Mike Blumenkrantz 5bde1a8648 implement x11->wayland dnd operations
still a little rough, but the basics are functional. works by showing
the x11 compositor selection window, which has rects to exclude geometries
of xwl clients, for getting x11 xdnd events, and then manually sending
all the related client messages in order to inform the x11 client that
enlightenment is, in fact, an extremely credible xdnd drop site and not
a rogue compositor which will mangle/destroy the dnd data.

still render crashes after the operation completes, so possibly not the
most useful thing to be using now
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz 3a77e8a2e9 unset DISPLAY on xwayland module shutdown
fixes loading across restarts
2015-07-30 13:36:42 -04:00
Mike Blumenkrantz 1c0a0ab00f move xwayland socket connection to its own thread
this operation performs a synchronous socket connection inside xlib which can
block for an infinite amount of time. in order to avoid having a potentially
unlimited amount of time where the ui is frozen and polling on the socket connection,
move it to a thread where it can hang for as long as it wants and then use the
resulting display object for the ecore-x connection
2015-07-15 13:58:03 -04:00
Mike Blumenkrantz 54c6d7094e remove unnecessary E_COMP_WL #defines
this is only required for aliasing E_Client->comp_data as wayland compositor data.
if comp_data is never dereferenced, it is not necessary to declare the compositor
type
2015-07-08 17:12:42 -04:00
Mike Blumenkrantz b80f96f2fa pop an error dialog when trying to load xwayland module under x11
this is impossible and will never be possible; ecore-x can only manage
a single x11 connection at any time, and so it will never be possible to both
manage the x11 compositor canvas on one xserver and manage xwayland clients
on a separate server

invalidates T2537
2015-07-02 14:28:07 -04:00
Mike Blumenkrantz fa3c3b0e22 clean up xwayland lock/socket init code 2015-07-02 13:55:42 -04:00
Mike Blumenkrantz dd1ff970ac print xwl loading debug after checking compositor type 2015-07-01 16:02:48 -04:00
Chris Michael 7aef1fdb73 xwayland: Use proper E_API for exporting module symbols
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-01 12:43:05 -04:00
Mike Blumenkrantz f046c98f59 attempt to create xwayland x11 socket path before creating socket 2015-06-30 15:37:56 -04:00
Mike Blumenkrantz 972b003163 finish xwayland module implementation
note that this basically does nothing other than start an xserver and connection

bisect harder if looking for bugs
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz bd313e90dd fix xwayland fd dup conditionals 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz ca7087b443 update xwayland for api changes 2015-06-25 20:04:30 -04:00
Chris Michael 5a7b3c5cf9 xwayland: Add code to cleanup xwayland on shutdown
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael 8f09e55b45 xwayland: Check for sigusr1 in event handler
XWayland servers sends us SIGUSR1 when it has finished initializing,
so we should be checking the signal number when we get the event.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael f49acd38b4 xwayland: Fix build breakage with recent e_comp_wl changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00