diff --git a/js/ui/xdndHandler.js b/js/ui/xdndHandler.js index 68da0bf24..da6c18ff9 100644 --- a/js/ui/xdndHandler.js +++ b/js/ui/xdndHandler.js @@ -3,6 +3,7 @@ const Clutter = imports.gi.Clutter; const Lang = imports.lang; const Main = imports.ui.main; +const Meta = imports.gi.Meta; const Shell = imports.gi.Shell; const Signals = imports.signals; const DND = imports.ui.dnd; @@ -20,7 +21,8 @@ const XdndHandler = new Lang.Class({ Main.uiGroup.add_actor(this._dummy); this._dummy.hide(); - global.init_xdnd(); + if (!Meta.is_wayland_compositor()) + global.init_xdnd(); global.connect('xdnd-enter', Lang.bind(this, this._onEnter)); global.connect('xdnd-position-changed', Lang.bind(this, this._onPositionChanged)); diff --git a/src/gnome-shell-plugin.c b/src/gnome-shell-plugin.c index 631e37323..0c41c0053 100644 --- a/src/gnome-shell-plugin.c +++ b/src/gnome-shell-plugin.c @@ -35,6 +35,7 @@ #include #include #include +#include #include "shell-global-private.h" #include "shell-perf-log.h" @@ -343,8 +344,13 @@ gnome_shell_plugin_xevent_filter (MetaPlugin *plugin, } #endif +#ifdef HAVE_WAYLAND + if (meta_is_wayland_compositor ()) + return FALSE; +#endif + /* - * Pass the event to shell-global + * Pass the event to shell-global for XDND */ if (_shell_global_check_xdnd_event (shell_plugin->global, xev)) return TRUE;