xdnd: Don't wait for the stage to be disabled when it is already visible
xdndHandler used to wait for the stage to show up before calling
global.init_xdnd() . Since commit 65303d027a
xdndHandler is initalized
later so the stage might be already visible at this point causing the
show signal never to be emitted and thus global.init_xdnd will never
be called.
Fix that by checking by calling global.init_xdnd without waiting for
the stage's show signal to be emitted, as the stage is guaranted to be
visible at this point.
This commit is contained in:
parent
6fcc7e3e23
commit
f644bee831
@ -21,14 +21,7 @@ const XdndHandler = new Lang.Class({
|
|||||||
Shell.util_set_hidden_from_pick(this._dummy, true);
|
Shell.util_set_hidden_from_pick(this._dummy, true);
|
||||||
this._dummy.hide();
|
this._dummy.hide();
|
||||||
|
|
||||||
// Mutter delays the creation of the output window as long
|
global.init_xdnd();
|
||||||
// as possible to avoid flicker. In case a plugin wants to
|
|
||||||
// access it directly it has to connect to the stage's show
|
|
||||||
// signal. (see comment in compositor.c:meta_compositor_manage_screen)
|
|
||||||
global.stage.connect('show', function () {
|
|
||||||
global.init_xdnd();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
global.connect('xdnd-enter', Lang.bind(this, this._onEnter));
|
global.connect('xdnd-enter', Lang.bind(this, this._onEnter));
|
||||||
global.connect('xdnd-position-changed', Lang.bind(this, this._onPositionChanged));
|
global.connect('xdnd-position-changed', Lang.bind(this, this._onPositionChanged));
|
||||||
|
Loading…
Reference in New Issue
Block a user