From be2885e31dcbd73ad4e85ee52b626244feeb3d26 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Fri, 21 Jun 2024 13:20:24 +0200 Subject: [PATCH] some sanity checks --- plugins/CMakeLists.txt | 7 ++++--- src/message_n10n.cpp | 18 ++++++++++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 4301ef6..af040f2 100644 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.9...3.24 FATAL_ERROR) -add_library(plugin_message_n10n SHARED +add_library(plugin_message_n10n MODULE ./plugin_message_n10n.cpp ) @@ -9,8 +9,9 @@ target_link_libraries(plugin_message_n10n PUBLIC solanaceae_message_n10n ) +set_target_properties(plugin_message_n10n PROPERTIES + C_VISIBILITY_PRESET hidden +) # probably not enough target_compile_definitions(plugin_message_n10n PUBLIC ENTT_API_IMPORT) -set_target_properties(plugin_message_n10n PROPERTIES POSITION_INDEPENDENT_CODE ON) - diff --git a/src/message_n10n.cpp b/src/message_n10n.cpp index 8bd8584..0d9657c 100644 --- a/src/message_n10n.cpp +++ b/src/message_n10n.cpp @@ -10,7 +10,7 @@ class OurHandler : public WinToastLib::IWinToastHandler { public: - virtual ~OurHandler(void) { + virtual ~OurHandler(void) override { } protected: // wintoast @@ -58,16 +58,30 @@ bool MessageN10n::onEvent(const Message::Events::MessageConstruct& e) { return false; } + const auto& text = e.e.get().text; + if (text.empty()) { + return false; + } + const auto sender_c = e.e.get().c; if (_cr.all_of(sender_c)) { return false; } + if (!_cr.all_of< + Contact::Components::Name + >(sender_c)) { + return false; + } std::string title { _cr.get(sender_c).name }; + if (title.empty()) { + return false; + } + auto templ = WinToastLib::WinToastTemplate(WinToastLib::WinToastTemplate::Text02); templ.setTextField( std::wstring_convert>{}.from_bytes( @@ -77,7 +91,7 @@ bool MessageN10n::onEvent(const Message::Events::MessageConstruct& e) { ); templ.setTextField( std::wstring_convert>{}.from_bytes( - e.e.get().text + text ), WinToastLib::WinToastTemplate::SecondLine );