Commit Graph

38 Commits

Author SHA1 Message Date
Carsten Haitzler 1c893b064f wl dnd - check socketpair and fcntl return values
fix CID 1403951
2019-08-06 18:30:30 +01:00
Carsten Haitzler 0a4f035fb6 wl dnd - fix more use after free
restructure code a bit to not fall into this trap as easily and remove
the falling into the trap where we use buf after freeing it.

fixes CID 1403924
2019-08-06 17:54:40 +01:00
Carsten Haitzler 1fa7d4a07b wl dnd - fix theoretical buf leak coverity found
fix CID 1403957
2019-08-06 12:35:11 +01: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 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 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 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 e110f912e2 don't dup fds during xwl bridged selection transfer, this happens in libwayland 2017-05-12 12:08:37 -04: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 5c5dc3d9f8 xwayland: Don't leak memory on dnd read failure 2016-03-31 15:08:50 -04:00
Mike Blumenkrantz a2279cf119 remove efl version check macros in xwayland dnd handlers 2016-02-04 12:58:37 -05: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 3b785403b6 reject xwl selection notify events which do not match our xwl property atom 2015-08-12 17:59:16 -04:00
Mike Blumenkrantz 466ceca59b don't toggle screensaver twice on x11 xdnd selection owner change 2015-08-12 17:45:34 -04:00
Mike Blumenkrantz ce6703e979 only delete current drag on x11 xdnd selection loss if x11 owned selection 2015-08-12 17:45:01 -04:00
Mike Blumenkrantz ecffe370d1 convert E_Comp_Wl_Data_Source->mime_types to Eina_Array
this data struct fits the usage of the data more effectively
2015-08-12 17:39:15 -04:00
Mike Blumenkrantz 442d63d8d6 track button mask for all drags, only end drag when mask has depopulated
previously, beginning a drag with the left button, then pressing and
releasing another button would result in the drag terminating without
the original button being released
2015-08-12 15:39:42 -04:00
Mike Blumenkrantz d1ed90d160 force sending of mouse button release on xwl drag end
seems to be necessary for the client to end its drag
2015-08-12 15:12:03 -04:00
Mike Blumenkrantz dcc22aa27c finish xwl dnd operation immediately if drop occurred somehow 2015-08-11 16:04:54 -04:00
Mike Blumenkrantz 8ea4b9b4e9 don't create pipe for x11->wl clipboard selections
this is never used
2015-08-11 16:04:36 -04:00
Mike Blumenkrantz 04b6514c51 add separate log domain for xwayland 2015-08-11 16:04:36 -04:00
Chris Michael ae9ef1a542 xwayland: Add missing EINA_UNUSED for unused function parameters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-08-11 09:50:41 -04:00
Mike Blumenkrantz 335f9c4324 finish off x11<->wl clipboard support
a lot of this functionality is reused from dnd. basic selection owner
management in x11 and slapping bytes down a pipe to the wl client;
a bit laggy when pasting to wl clients sometimes, need to spend more time
debugging that...

 #Kansas
2015-08-10 18:59:03 -04:00
Mike Blumenkrantz cb363eb9b8 close xwl dnd pipe on operation end 2015-08-10 18:59:03 -04:00
Mike Blumenkrantz bf4c5452f3 track xwl clipboard owner 2015-08-10 18:59:02 -04:00
Mike Blumenkrantz 1ca8c9eb36 account for state in xwl property change handler
we only care about events where the property was deleted here
2015-08-10 18:59:02 -04:00
Mike Blumenkrantz 8e211f1950 implement wl->x11 dnd operations
seems to work fine, large selection data (ref T2330) still untested
2015-08-07 21:07:34 -04:00
Mike Blumenkrantz 004383a52e block screensaver activation during xwl dnd operations 2015-08-07 13:48:21 -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