aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/notifications/notifications.h2
-rw-r--r--src/notifications.cpp9
2 files changed, 6 insertions, 5 deletions
diff --git a/include/notifications/notifications.h b/include/notifications/notifications.h
index 2bb6694..4b66800 100644
--- a/include/notifications/notifications.h
+++ b/include/notifications/notifications.h
@@ -81,7 +81,7 @@ public:
private:
friend class Engine;
class Impl;
- std::shared_ptr<Impl> impl;
+ std::unique_ptr<Impl> impl;
};
/**
diff --git a/src/notifications.cpp b/src/notifications.cpp
index 076ad13..f3dcb14 100644
--- a/src/notifications.cpp
+++ b/src/notifications.cpp
@@ -278,8 +278,9 @@ public:
uuid_t message_uuid;
uuid_generate(message_uuid);
- char message_id[37];
- uuid_unparse(message_uuid, message_id);
+ char uuid_buf[37];
+ uuid_unparse(message_uuid, uuid_buf);
+ const std::string message_id(uuid_buf);
GIcon *icon = g_themed_icon_new(data.m_icon_name.c_str());
@@ -287,7 +288,7 @@ public:
if (!messaging_menu_app_has_source(m_messaging_app.get(), m_app_name.c_str()))
messaging_menu_app_append_source(m_messaging_app.get(), m_app_name.c_str(), icon, "Calendar");
- auto msg = messaging_menu_message_new(message_id,
+ auto msg = messaging_menu_message_new(message_id.c_str(),
icon,
data.m_title.c_str(),
nullptr,
@@ -297,7 +298,7 @@ public:
if (msg)
{
std::shared_ptr<messaging_menu_data> msg_data(new messaging_menu_data{message_id, data.m_missed_click_callback, this});
- m_messaging_messages[std::string(message_id)] = msg_data;
+ m_messaging_messages[message_id] = msg_data;
g_signal_connect(G_OBJECT(msg), "activate",
G_CALLBACK(on_message_activated), msg_data.get());
messaging_menu_app_append_message(m_messaging_app.get(), msg, m_app_name.c_str(), false);