From 96f65e63f83ac8bb5538c76ed8b73fd9db9844e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kamo=C5=84?= Date: Thu, 11 Mar 2021 08:06:02 +0100 Subject: [PATCH] [EGD-6108] Fix phonebook leak of DialogMetadata The cause of leak were releases on `unique_ptr` - reviewer (my) mistake --- .../windows/PhonebookContactOptions.cpp | 6 +++--- .../application-phonebook/windows/PhonebookNewContact.cpp | 4 ++-- module-apps/messages/DialogMetadataMessage.hpp | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/module-apps/application-phonebook/windows/PhonebookContactOptions.cpp b/module-apps/application-phonebook/windows/PhonebookContactOptions.cpp index bca973a7bf6458d18f418de2a39bd925af3c7273..f80c95561ed325718d2f75d31ed3e956dccfa912 100644 --- a/module-apps/application-phonebook/windows/PhonebookContactOptions.cpp +++ b/module-apps/application-phonebook/windows/PhonebookContactOptions.cpp @@ -106,7 +106,7 @@ namespace gui meta->title = cont.getFormattedName(); meta->icon = "phonebook_contact_delete_trashcan"; application->switchWindow(gui::window::name::dialog_yes_no, - std::make_unique(std::move(*meta.release()))); + std::make_unique(std::move(*meta))); return true; } @@ -129,7 +129,7 @@ namespace gui meta->title = cont.getFormattedName(); meta->icon = "phonebook_contact_delete_trashcan"; application->switchWindow(gui::window::name::dialog_yes_no, - std::make_unique(std::move(*meta.release()))); + std::make_unique(std::move(*meta))); return true; } @@ -154,7 +154,7 @@ namespace gui }; meta.title = contact->getFormattedName(ContactRecord::NameFormatType::Title); application->switchWindow(gui::window::name::dialog_confirm, - std::make_unique(meta)); + std::make_unique(std::move(meta))); return true; } } // namespace gui diff --git a/module-apps/application-phonebook/windows/PhonebookNewContact.cpp b/module-apps/application-phonebook/windows/PhonebookNewContact.cpp index e698edfc5c0e762aa6b2791b8d6ec8ecdb65e4cd..52ebb4c332c7b748b4bf30004f944fd8649a4926 100644 --- a/module-apps/application-phonebook/windows/PhonebookNewContact.cpp +++ b/module-apps/application-phonebook/windows/PhonebookNewContact.cpp @@ -226,7 +226,7 @@ namespace gui meta->title = duplicatedNumber.getFormatted(); meta->icon = "info_big_circle_W_G"; application->switchWindow(gui::window::name::dialog_yes_no, - std::make_unique(std::move(*meta.release()))); + std::make_unique(std::move(*meta))); } void PhonebookNewContact::showDialogDuplicatedSpeedDialNumber() @@ -257,7 +257,7 @@ namespace gui metadata->iconText = contact->speeddial; application->switchWindow(gui::window::name::dialog_yes_no_icon_txt, - std::make_unique(std::move(*metadata.release()))); + std::make_unique(std::move(*metadata))); } } // namespace gui diff --git a/module-apps/messages/DialogMetadataMessage.hpp b/module-apps/messages/DialogMetadataMessage.hpp index 624c15bd6c155025f8ba8dc5be605076986fde1e..e94971fee8d5e1eb7e469ccbc1520d94e492bf80 100644 --- a/module-apps/messages/DialogMetadataMessage.hpp +++ b/module-apps/messages/DialogMetadataMessage.hpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once @@ -14,7 +14,7 @@ namespace gui DialogMetadata metadata; public: - DialogMetadataMessage(DialogMetadata metadata) : metadata(metadata) + explicit DialogMetadataMessage(DialogMetadata metadata) : metadata(std::move(metadata)) {} [[nodiscard]] const DialogMetadata &get() const {