[gnome-shell/gbsneto/dont-create-so-many-icons-pretty-please: 6/6] appIcon: Remove drag monitor on destroy
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gbsneto/dont-create-so-many-icons-pretty-please: 6/6] appIcon: Remove drag monitor on destroy
- Date: Thu, 21 Nov 2019 22:29:28 +0000 (UTC)
commit e7b9bd75d8498ee3f9f9716282d5739b2936c65f
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Thu Nov 21 18:50:11 2019 -0300
appIcon: Remove drag monitor on destroy
It may happen that the app icon is destroyed with a drag
monitor still around, in which case, a load of warnings
will be shown.
Make sure to remove any pending drag monitor on destroy.
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/841
js/ui/appDisplay.js | 7 +++++++
1 file changed, 7 insertions(+)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index bc411b0293..929caa12bd 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -2133,6 +2133,7 @@ var AppIcon = GObject.registerClass({
});
}
+ this._dragMonitor = null;
this._itemDragBeginId = Main.overview.connect(
'item-drag-begin', this._onDragBegin.bind(this));
this._itemDragEndId = Main.overview.connect(
@@ -2157,6 +2158,12 @@ var AppIcon = GObject.registerClass({
}
if (this._stateChangedId > 0)
this.app.disconnect(this._stateChangedId);
+
+ if (this._dragMonitor) {
+ DND.removeDragMonitor(this._dragMonitor);
+ this._dragMonitor = null;
+ }
+
if (this._draggable) {
if (this._dragging)
Main.overview.endItemDrag(this);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]