From b1957f943f927f81a0a988a20b45f0e88edc310e Mon Sep 17 00:00:00 2001 From: Alex Bilger Date: Thu, 26 Feb 2026 22:56:10 +0100 Subject: [PATCH] [Helper] Replace console message handler instantiation with singleton usage --- .../component/sceneutility/MessageHandlerComponent.cpp | 2 +- .../Helper/src/sofa/helper/logging/MessageDispatcher.cpp | 8 +++----- applications/projects/runSofa/Main.cpp | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Sofa/Component/SceneUtility/src/sofa/component/sceneutility/MessageHandlerComponent.cpp b/Sofa/Component/SceneUtility/src/sofa/component/sceneutility/MessageHandlerComponent.cpp index d800a95f905..88eeb449aed 100644 --- a/Sofa/Component/SceneUtility/src/sofa/component/sceneutility/MessageHandlerComponent.cpp +++ b/Sofa/Component/SceneUtility/src/sofa/component/sceneutility/MessageHandlerComponent.cpp @@ -78,7 +78,7 @@ void MessageHandlerComponent::parse ( core::objectmodel::BaseObjectDescription* const string stype(type) ; if(stype=="sofa"){ - MessageDispatcher::addHandler(new ConsoleMessageHandler()) ; + MessageDispatcher::addHandler(&sofa::helper::logging::MainConsoleMessageHandler::getInstance()) ; }else if(stype=="clang"){ MessageDispatcher::addHandler(new ClangMessageHandler()) ; }else if(stype=="rich"){ diff --git a/Sofa/framework/Helper/src/sofa/helper/logging/MessageDispatcher.cpp b/Sofa/framework/Helper/src/sofa/helper/logging/MessageDispatcher.cpp index 717d9a70e78..85156e42ff0 100644 --- a/Sofa/framework/Helper/src/sofa/helper/logging/MessageDispatcher.cpp +++ b/Sofa/framework/Helper/src/sofa/helper/logging/MessageDispatcher.cpp @@ -64,11 +64,9 @@ namespace sofa::helper::logging /// some of them are duplicated /// other get a weak reference -std::vector getDefaultMessageHandlers(){ - std::vector messageHandlers; - static ConsoleMessageHandler s_consoleMessageHandler(&DefaultStyleMessageFormatter::getInstance()); - messageHandlers.push_back(&s_consoleMessageHandler); - return messageHandlers; +std::vector getDefaultMessageHandlers() +{ + return { &sofa::helper::logging::MainConsoleMessageHandler::getInstance() }; } class MessageDispatcherImpl diff --git a/applications/projects/runSofa/Main.cpp b/applications/projects/runSofa/Main.cpp index 52ddbd3548f..a7ac3187b46 100644 --- a/applications/projects/runSofa/Main.cpp +++ b/applications/projects/runSofa/Main.cpp @@ -338,7 +338,7 @@ int main(int argc, char** argv) if (messageHandler == "auto" ) { MessageDispatcher::clearHandlers() ; - MessageDispatcher::addHandler( new ConsoleMessageHandler() ) ; + MessageDispatcher::addHandler( &sofa::helper::logging::MainConsoleMessageHandler::getInstance() ) ; } else if (messageHandler == "clang") { @@ -348,7 +348,7 @@ int main(int argc, char** argv) else if (messageHandler == "sofa") { MessageDispatcher::clearHandlers() ; - MessageDispatcher::addHandler( new ConsoleMessageHandler() ) ; + MessageDispatcher::addHandler( &sofa::helper::logging::MainConsoleMessageHandler::getInstance() ) ; } else if (messageHandler == "rich") {