Remote timeout on destroy for _positionInPanelChanged()

This commit is contained in:
hirishh
2025-11-12 17:06:36 +01:00
parent d9a7f6bb29
commit ae19d55a20

View File

@@ -175,8 +175,7 @@ class FreonMenuButton extends PanelMenu.Button {
// readd to update queue // readd to update queue
return true; return true;
}); });
this._positionInPanelChangedTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 500, () => {
GLib.timeout_add(GLib.PRIORITY_DEFAULT, 500, () => {
this._positionInPanelChanged(); this._positionInPanelChanged();
return false; // 只执行一次 return false; // 只执行一次
}); });
@@ -534,6 +533,7 @@ class FreonMenuButton extends PanelMenu.Button {
GLib.Source.remove(this._timeoutId); GLib.Source.remove(this._timeoutId);
GLib.Source.remove(this._updateUITimeoutId); GLib.Source.remove(this._updateUITimeoutId);
GLib.Source.remove(this._positionInPanelChangedTimeoutId);
for (let signal of this._settingChangedSignals){ for (let signal of this._settingChangedSignals){
this._settings.disconnect(signal); this._settings.disconnect(signal);