appDisplay: Remove dragMonitor when FolderIcon is destroyed

While it should be impossible to destroy a FolderIcon while a DnD action
is still going on, there might still be rare cases where this happens
(ie. when a folder is removed because an app got deleted during DnD).

So make sure we're on the safe side here and don't potentially leave
dragMonitors around after the icon is destroyed by removing the
dragMonitor inside the onDestroy handler of the FolderIcon, just like we
do for AppIcons.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/849
This commit is contained in:
Jonas Dreßler 2019-11-23 19:57:02 +01:00 committed by Georges Basile Stavracas Neto
parent 91748aedb7
commit 766e9034e2

View File

@ -1515,6 +1515,11 @@ var FolderIcon = GObject.registerClass({
Main.overview.disconnect(this._itemDragBeginId); Main.overview.disconnect(this._itemDragBeginId);
Main.overview.disconnect(this._itemDragEndId); Main.overview.disconnect(this._itemDragEndId);
if (this._dragMonitor) {
DND.removeDragMonitor(this._dragMonitor);
this._dragMonitor = null;
}
this.view.destroy(); this.view.destroy();
if (this._folderChangedId) { if (this._folderChangedId) {