From 96c7e2cd6d439c7eca9dc1bd31fbb8d80b93af1d Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 26 Mar 2020 20:10:03 +0100 Subject: [PATCH] LibGUI: Make a new connection to NotificationServer each time Since NotificationServer is a spawn-on-demand + die-when-not-used type of service, we can't expect a singleton connection to it to remain open and useful. We solve this for now by making a new IPC connection for every new notification sent. Maybe there's a better solution for this. --- Libraries/LibGUI/Notification.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/Libraries/LibGUI/Notification.cpp b/Libraries/LibGUI/Notification.cpp index a06598edd8..f07f056a72 100644 --- a/Libraries/LibGUI/Notification.cpp +++ b/Libraries/LibGUI/Notification.cpp @@ -32,17 +32,10 @@ Notification::~Notification() { } -static NotificationServerConnection& notification_server_connection() -{ - static NotificationServerConnection* connection; - if (!connection) - connection = &NotificationServerConnection::construct().leak_ref(); - return *connection; -} - void Notification::show() { - notification_server_connection().post_message(Messages::NotificationServer::ShowNotification(m_text, m_title)); + auto connection = NotificationServerConnection::construct(); + connection->post_message(Messages::NotificationServer::ShowNotification(m_text, m_title)); } }