XDND: Remove the switch timeout in _onDragEnd
When the user cancels the drag while hovering over a window the timeout handler will throw an exception because the drag actor will be destroyed at this point. Fix that by removing the timeout in _onDragEnd.
This commit is contained in:
parent
8d78c3a2ab
commit
6d6ec46f25
@ -213,10 +213,19 @@ Overview.prototype = {
|
|||||||
global.screen.get_workspace_by_index(this._lastActiveWorkspaceIndex).activate(time);
|
global.screen.get_workspace_by_index(this._lastActiveWorkspaceIndex).activate(time);
|
||||||
this.hideTemporarily();
|
this.hideTemporarily();
|
||||||
}
|
}
|
||||||
|
this._resetWindowSwitchTimeout();
|
||||||
this._lastHoveredWindow = null;
|
this._lastHoveredWindow = null;
|
||||||
DND.removeMonitor(this._dragMonitor);
|
DND.removeMonitor(this._dragMonitor);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_resetWindowSwitchTimeout: function() {
|
||||||
|
if (this._windowSwitchTimeoutId != 0) {
|
||||||
|
Mainloop.source_remove(this._windowSwitchTimeoutId);
|
||||||
|
this._windowSwitchTimeoutId = 0;
|
||||||
|
this._needsFakePointerEvent = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
_fakePointerEvent: function() {
|
_fakePointerEvent: function() {
|
||||||
let display = Gdk.Display.get_default();
|
let display = Gdk.Display.get_default();
|
||||||
let deviceManager = display.get_device_manager();
|
let deviceManager = display.get_device_manager();
|
||||||
@ -239,11 +248,7 @@ Overview.prototype = {
|
|||||||
|
|
||||||
this._lastHoveredWindow = null;
|
this._lastHoveredWindow = null;
|
||||||
|
|
||||||
if (this._windowSwitchTimeoutId != 0) {
|
this._resetWindowSwitchTimeout();
|
||||||
Mainloop.source_remove(this._windowSwitchTimeoutId);
|
|
||||||
this._windowSwitchTimeoutId = 0;
|
|
||||||
this._needsFakePointerEvent = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (targetIsWindow) {
|
if (targetIsWindow) {
|
||||||
this._lastHoveredWindow = dragEvent.targetActor._delegate.metaWindow;
|
this._lastHoveredWindow = dragEvent.targetActor._delegate.metaWindow;
|
||||||
|
Loading…
Reference in New Issue
Block a user