Commit Graph

54 Commits

Author SHA1 Message Date
Marcel Hollerbach bc54ad58f7 e_comp_data: NULL out source once it is freed
Otherwise the pointer is removed when the next drag starts, so this
makes debugging dnd problems easier.
2016-07-15 09:59:55 -04:00
Mike Blumenkrantz 13f8b1f158 more accurately reject wl selection setting based on whether serial is invalid
copycopycopycopy
2016-04-26 10:56:58 -04:00
Mike Blumenkrantz cce8ce6401 add copyright headers (MIT) from weston to e_comp_wl_data
these files were created containing code which was very obviously copied from
weston. when copying code, copyright headers must also be copied in order to
comply with licenses.
2016-04-26 10:56:58 -04:00
Derek Foreman b2715d2586 wayland: Stop E from consuming all CPU as soon as a selection is made
Clipboard fds from clients are regular files, which shouldn't be passed
to fd_handler_add.  Using the wrong add function causes epoll to return
immediately and we end up running idle handlers and burning cpu.

Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2016-04-26 09:51:03 -04:00
Derek Foreman 3eecf5904c wayland: Don't leak a clipboard source if adding fd handler fails
Reviewed-by: Mike Blumenkrantz <zmike@osg.samsung.com>
2016-04-26 09:50:59 -04:00
Mike Blumenkrantz eb596299ad remove wl selection hacks from f0ba92d39e
https://gfycat.com/ChiefDeafeningGull
2016-04-26 09:45:40 -04:00
Chris Michael c97b52b02c add prototype functions for missing wl_data_source interface
As we require wayland 1.10 now, there were missing functions for the
wl_data_source interface. This patch just adds placeholders for those
missing functions until we can implement them

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-09 12:12:45 -05:00
Chris Michael b113fd96fb add prototype functions for missing wl_data_offer interface
As we require wayland 1.10 now, there were missing functions for
wl_data_offer interface. This patch just adds placeholders for those
missing functions until we can implement them

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-09 12:12:26 -05:00
Chris Michael 8cc5207355 Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-02-02 13:32:30 -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 4956fe3304 delete data device resources from hash using client
fixes crash when currently-entered wl surface is destroyed
2015-08-13 14:21:56 -04:00
Chris Michael 2f1d32a081 enlightenment: Replace old comp_type conditionals
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-08-13 10:31:54 -04:00
Mike Blumenkrantz 7f3d59f6f2 init null wl mime types array when new type is offered 2015-08-12 18:42:42 -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 11e374ce13 only create fd handler for wl clipboard data source if fd is passed 2015-08-11 16:04:36 -04:00
Mike Blumenkrantz ebc6c0ee35 don't remove wl data source listener when xwl owns the selection
crash-- since xwl has no listener
2015-08-11 16:04:36 -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 0ee67a1e52 make e_comp_wl_data_device_keyboard_focus_set() external 2015-08-10 18:59:03 -04:00
Mike Blumenkrantz 495a14ea17 make wl clipboard source create/unref external 2015-08-10 18:59:02 -04:00
Mike Blumenkrantz 0a690c7d17 don't crash in wl compositor when data resource is destroyed in multiple listeners 2015-08-10 18:59:02 -04:00
Mike Blumenkrantz bf4c5452f3 track xwl clipboard owner 2015-08-10 18:59:02 -04:00
Mike Blumenkrantz 2e000a45dc use current ecore-x time when setting selection owner for xwl dnd operations
according to icccm spec, it is not recommented to use currenttime 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 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 000c97659f reject xwl clients from wayland data device enter/leave functions
NYI
2015-08-06 19:31:20 -04:00
Mike Blumenkrantz 550cc56e59 make most wayland data device functions external 2015-08-06 19:31:20 -04:00
Mike Blumenkrantz 9740477615 store global wayland data manager resource 2015-08-06 19:31:20 -04:00
Mike Blumenkrantz aa5788175b move wl compositor function for creating data sources to be external 2015-08-06 19:31:20 -04:00
Mike Blumenkrantz dddbe2a518 force mouse-up on wayland drag start
allows mouse eventing to function as expected during drags and provides
updating during the drag
2015-08-05 17:30:03 -04:00
Mike Blumenkrantz 53900d184a use pointer hash to track data manager resources 2015-08-04 19:48:45 -04:00
Mike Blumenkrantz 5f6c91a4f4 block screensaver activation during wl dnd operations 2015-08-04 19:39:09 -04:00
Mike Blumenkrantz 1beecb72d7 add server-side wl dnd
weston-dnd seems to work as expected
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz bce5283b57 fix wl data device kbd focus function
this should only send the selection offer
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz b5a5e98632 make wl data device util function EINTERN
e_comp_wl_data_find_for_client()
2015-08-04 19:39:09 -04:00
Mike Blumenkrantz 965d089c8a add more wl data device debug infos 2015-08-04 19:39:09 -04:00
Mike Blumenkrantz eec5cf6a67 remove E_Comp_Data typedef, use backend-specific typedefs unconditionally
this turned into a bit of a charlie-foxtrot due to constant pointer aliasing
in the wl compositor codebase

no functional changes
2015-06-25 20:04:31 -04:00
Chris Michael ea26fc1f87 add missing EINA_UNUSED for function paramater
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-18 09:22:39 -04:00
Derek Foreman 7f6f4b6966 wayland: Remove a lot of E_Comp_Data pointers
Summary: We should just use e_comp->wl_comp_data everywhere we can.

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2507
2015-05-18 09:08:52 -04:00
Chris Michael bc160488d8 enlightenment: Implement support for wl_data_device_interface "release" event
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-03-03 11:59:52 -05:00
Chris Michael d350217ed5 remove debug noise in comp_wl_data
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:06 -04:00
Chris Michael 054b87dc0d remove useless return
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-30 10:39:05 -04:00
Chris Michael 7840d11459 be sure to send the wl_data_device_send_enter when changing surface
focus and add some more debugging for dnd

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 14:11:28 -04:00
Chris Michael 201918eca8 Add ERR messages for EINTERN & EAPI functions.
Remove NULL checks ... let the crashing begin !!

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
MinJeong Kim 6b808e2f3f Remove unwanted NULL check in internal function
Summary: Remove unwanted NULL check in internal function.

Reviewers: gwanglim, devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1250
2014-08-26 10:10:38 -04:00
Mike Blumenkrantz 3b649534c9 Fix building Enlightenment for X11-only, Wayland-Only, and X11 with Wayland clients.
Signed-off-by: Chris Michael <cp.michael@samsung.com>

Additional authors: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:38 -04:00
MinJeong Kim f0ba92d39e Add simple clipboard based on wayland protocol
Summary:
Whenever any client requests new selection_set,
the data is saved to server-side clipboard directly on this revision.
So data device is able to keep data which is copied from client app have closed already
and is able to provide those data to new focused surface before coming new selection_set request.

Reviewers: devilhorns

Subscribers: cedric, gwanglim

Differential Revision: https://phab.enlightenment.org/D1165
2014-08-26 10:10:38 -04:00
MinJeong Kim ed16127395 Add focus surface setting of keyboard for copy and paste between clients
Summary:
To enable copy and paste between clients,
wayland data device requires to know what surface is focused.
So this revision have make keyboard get focused surface when client is focused or unfocused,
and create data_offer for new focused surface in order to let new focused surface be able to get data from current selection data_source.

Test Plan:
1. Run wayland server
2. Run elementary_test -to entry5 on wayland server.
3. Run elementary_test -to entry5 on wayland server again. (preparing two clients)
4. Copy text on one of clients, and paste to the other.

Reviewers: devilhorns

CC: gwanglim, cedric

Differential Revision: https://phab.enlightenment.org/D1157
2014-08-26 10:10:37 -04:00
MinJeong Kim b9caebbf7b Add missing function
Summary:
Added missing function _e_comp_wl_data_find_for_client.
@fix

Reviewers: devilhorns

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1102
2014-08-26 10:10:37 -04:00
Chris Michael 5481440c75 Fix formatting.
Rename data_resource_list to data_resources.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00