From f21956760a6ee4a2fb4aafc7422de838b5d22317 Mon Sep 17 00:00:00 2001 From: Jeffrey Sharpe Date: Sat, 11 Apr 2026 10:52:47 -0500 Subject: [PATCH] notifications@cinnamon.org - Avoid redundant update_list calls during clear all. --- .../applets/notifications@cinnamon.org/applet.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/files/usr/share/cinnamon/applets/notifications@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/notifications@cinnamon.org/applet.js index 361cbca58f..d395b91996 100644 --- a/files/usr/share/cinnamon/applets/notifications@cinnamon.org/applet.js +++ b/files/usr/share/cinnamon/applets/notifications@cinnamon.org/applet.js @@ -243,14 +243,15 @@ class CinnamonNotificationsApplet extends Applet.TextIconApplet { } _clear_all() { - let count = this.notifications.length; - if (count > 0) { - for (let i = count-1; i >=0; i--) { - this._notificationbin.remove_actor(this.notifications[i].actor); - this.notifications[i].destroy(NotificationDestroyedReason.DISMISSED); - } - } + let toDestroy = this.notifications.slice(); + + // Clear tracking state first so destroy handlers skip redundant work. this.notifications = []; + this._notificationbin.remove_all_children(); + + for (let notification of toDestroy) { + notification.destroy(NotificationDestroyedReason.DISMISSED); + } this.update_list(); }