Commit Graph

91 Commits

Author SHA1 Message Date
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 c0b0aba401 use the current pointer client for the xwayland drag client if owner is unmapped
qt seems to like doing this

fix T6644
2018-02-20 12:07:35 -05:00
Mike Blumenkrantz 5d59cf11dc toggle x_fatal variable when xwayland crashes 2018-01-22 16:35:34 -05:00
Mike Blumenkrantz 563fc94494 make xwl data offer writing async
I foolishly thought this was an impossibly rare deadlock condition

fix T6454
2018-01-12 12:26:21 -05:00
Mike Blumenkrantz 99db9e2557 more E_BITFIELD conversions 2017-11-08 09:22:24 -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
Marcel Hollerbach 29901d67b2 meson: use file instead of doing the relative path by hand
a reason for doing that is that you can just pack together targets into
a array and pass them to our helper, and the helper will just handle
them, so even module with eldbus codegen etc is now supported.

This also means that we are just passing the src object directly into
the shared_module call, which means the user of our helper can just pack
everything he needs into the src var and the helper does not need to
know about it.
2017-08-08 18:38:37 +02: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
Carsten Haitzler 6ab9c576df meosn build modules - more modules build with the generic builder harness
module build files are so much simpler now...
2017-07-30 17:07:57 +09:00
Mike Blumenkrantz 37014499b1 don't create xwl receive pipe for SelectionRequest when getting the selection
this seems to sneak in sometimes even though it's totally wrong?
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 36c3a90689 add text/plain;charset=utf-8 to xwl-created wl clipboard data source
UTF8_STRING is not an accepted mime type, use wl equivalent
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz fcd7332378 set xwl-originating data source dnd actions during source creation 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz c0e8585cce free xwl selection atom names after creating selection source 2017-07-28 15:44:55 -04:00
Mike Blumenkrantz 5a13ab0385 handle xwl data source cleanup more effectively
ensure source is freed and references to it are unset when changing selection
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz def1b28174 save xwindow of x11 selection owner, not client
gtk uses non-application xwindows for managing selections, so this would always
fail when bridging selections from gtk apps
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz e8dc71cd48 meson. 2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 55e1640261 don't free x11 clipboard source immediately
ref T5738
2017-07-14 18:40:50 -04:00
Derek Foreman 27f72e76a4 Fix xwayland selection crash
When creating the data manager source, passing an id of 1 overwrites
the wl_display's id in the map, causing crashes the next time the
client tries to interact with that object.  The client in this case
is Xwayland.  Bad things happen.

Instead pass 0 which just chooses an available map slot.

Fix T5738
2017-07-14 16:56:36 -05: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 e110f912e2 don't dup fds during xwl bridged selection transfer, this happens in libwayland 2017-05-12 12:08:37 -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
Chris Michael 1974f5da2d Revert "send wl_touch events when we handle mouse buttons"
Reverting this as it ends up causing multiple events being handled
(touch and pointer) inside various clients if you have both touch and
pointer enabled. Will need a different fix here....

This reverts commit 7906537c02.
2017-01-17 13:28:05 -05:00
Chris Michael 7906537c02 send wl_touch events when we handle mouse buttons
Small patch to enable sending wl_touch down/up events when pointer
mouse button events are handled. This is needed in the case where we
do Not have any mouse pointer at all, but we do have touch support.

ref T5094

NB: This allows weston-simple-touch client to operate in Enlightenment
now. There is still something strange happening with EFL clients in E
wrt touch events tho...

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-17 11:31:48 -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
Derek Foreman 5c5dc3d9f8 xwayland: Don't leak memory on dnd read failure 2016-03-31 15:08:50 -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 a2279cf119 remove efl version check macros in xwayland dnd handlers 2016-02-04 12:58:37 -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