diff -ur a/lib/include/tracer.hh b/lib/include/tracer.hh --- a/lib/include/tracer.hh 2020-12-17 12:11:31.000000000 -0800 +++ b/lib/include/tracer.hh 2021-03-15 19:51:49.287342746 -0700 @@ -28,9 +28,7 @@ #include "vm_basic_defs.h" -extern "C" { #include "glib.h" -} #ifdef VMX86_DEVEL diff -ur a/services/plugins/dndcp/copyPasteUIX11.cpp b/services/plugins/dndcp/copyPasteUIX11.cpp --- a/services/plugins/dndcp/copyPasteUIX11.cpp 2020-12-17 12:11:31.000000000 -0800 +++ b/services/plugins/dndcp/copyPasteUIX11.cpp 2021-03-15 19:53:20.020952955 -0700 @@ -1666,6 +1666,7 @@ char buf[sizeof(VMBLOCK_FUSE_READ_RESPONSE)]; ssize_t size; size = read(fd, buf, sizeof(VMBLOCK_FUSE_READ_RESPONSE)); + (void) size; /* Prevent unused variable warning */ /* * The current thread will block in read function until * any other application accesses the file params->fileBlockName diff -ur a/services/plugins/dndcp/dndcp.cpp b/services/plugins/dndcp/dndcp.cpp --- a/services/plugins/dndcp/dndcp.cpp 2020-12-17 12:11:31.000000000 -0800 +++ b/services/plugins/dndcp/dndcp.cpp 2021-03-15 19:54:34.873281325 -0700 @@ -33,9 +33,9 @@ extern "C" { #include "vmware/guestrpc/tclodefs.h" +} #include "vmware/tools/plugin.h" #include "vmware/tools/utils.h" -} #include #include "copyPasteDnDWrapper.h" diff -ur a/services/plugins/dndcp/dndGuest/dndCPTransportGuestRpc.hpp b/services/plugins/dndcp/dndGuest/dndCPTransportGuestRpc.hpp --- a/services/plugins/dndcp/dndGuest/dndCPTransportGuestRpc.hpp 2020-12-17 12:12:15.000000000 -0800 +++ b/services/plugins/dndcp/dndGuest/dndCPTransportGuestRpc.hpp 2021-03-15 19:55:28.810238519 -0700 @@ -31,13 +31,11 @@ #include "dnd.h" -extern "C" { #ifdef VMX86_TOOLS #include "vmware/tools/guestrpc.h" #else #include "guest_rpc.h" #endif -} #define GUEST_RPC_CMD_STR_DND "dnd.transport" #define GUEST_RPC_CMD_STR_CP "copypaste.transport" diff -ur a/services/plugins/dndcp/dndUIX11.cpp b/services/plugins/dndcp/dndUIX11.cpp --- a/services/plugins/dndcp/dndUIX11.cpp 2020-12-17 12:11:31.000000000 -0800 +++ b/services/plugins/dndcp/dndUIX11.cpp 2021-03-15 20:53:51.733705766 -0700 @@ -467,8 +467,13 @@ #ifndef GTK3 event.device = gdk_device_get_core_pointer(); #else + #if GTK_MINOR_VERSION >= 20 + GdkSeat* seat = gdk_display_get_default_seat(gdk_window_get_display(event.window)); + event.device = gdk_seat_get_pointer(seat); + #else GdkDeviceManager* manager = gdk_display_get_device_manager(gdk_window_get_display(event.window)); event.device = gdk_device_manager_get_client_pointer(manager); + #endif #endif event.x_root = mOrigin.get_x(); event.y_root = mOrigin.get_y();