This is probably the code you interested in (compilergcc.cpp:3757 in the current svn head):
if (!Manager::IsBatchBuild() && m_Errors.GetCount(cltError))
{
if (Manager::Get()->GetConfigManager(_T("message_manager"))->ReadBool(_T("/auto_show_build_errors"), true))
{
CodeBlocksLogEvent evtShow(cbEVT_SHOW_LOG_MANAGER);
Manager::Get()->ProcessEvent(evtShow);
}
CodeBlocksLogEvent evtSwitch(cbEVT_SWITCH_TO_LOG_WINDOW, m_pListLog);
Manager::Get()->ProcessEvent(evtSwitch);
m_pListLog->FocusError(m_Errors.GetFirstError());
}
Modify it in a way that suits your needs and show a patch for discussion. I've no time to play with this at the moment.
Edit: Thank you for posting the area needed to be edited.
Edit2: It seems to be able to fix my complaint with just adjusting the 4 choices in the auto show/hide message pane.
Edit3: My complaint was warnings messages causing the "Build Messages" to be displayed at end of build, my custom makefile project needs me to read the build log to be sure the build worked; not worth the effort to write custom regex for it; now I can just do a custom regex disable error messages which will be much shorter.
No plan to test this patch any more.
This patch seems to fix my compliant.
Not tested enough to apply to production.
FYI: I had to also change the "settings" -> "environment" -> "view" settings
In the 4 choices in the auto show/hide message pane.
The OP might be satisfied by adjusting just these settings.
diff --git src/plugins/compilergcc/compilergcc.cpp src/plugins/compilergcc/compilergcc.cpp
index 3e82e3b..933b900 100644
--- src/plugins/compilergcc/compilergcc.cpp
+++ src/plugins/compilergcc/compilergcc.cpp
@@ -3760,11 +3760,12 @@ void CompilerGCC::OnJobEnd(size_t procIndex, int exitCode)
{
CodeBlocksLogEvent evtShow(cbEVT_SHOW_LOG_MANAGER);
Manager::Get()->ProcessEvent(evtShow);
- }
- CodeBlocksLogEvent evtSwitch(cbEVT_SWITCH_TO_LOG_WINDOW, m_pListLog);
- Manager::Get()->ProcessEvent(evtSwitch);
- m_pListLog->FocusError(m_Errors.GetFirstError());
+ CodeBlocksLogEvent evtSwitch(cbEVT_SWITCH_TO_LOG_WINDOW, m_pListLog);
+ Manager::Get()->ProcessEvent(evtSwitch);
+
+ m_pListLog->FocusError(m_Errors.GetFirstError());
+ }
}
else
{
This is probably the code you interested in (compilergcc.cpp:3757 in the current svn head):
if (!Manager::IsBatchBuild() && m_Errors.GetCount(cltError))
{
if (Manager::Get()->GetConfigManager(_T("message_manager"))->ReadBool(_T("/auto_show_build_errors"), true))
{
CodeBlocksLogEvent evtShow(cbEVT_SHOW_LOG_MANAGER);
Manager::Get()->ProcessEvent(evtShow);
}
CodeBlocksLogEvent evtSwitch(cbEVT_SWITCH_TO_LOG_WINDOW, m_pListLog);
Manager::Get()->ProcessEvent(evtSwitch);
m_pListLog->FocusError(m_Errors.GetFirstError());
}
Modify it in a way that suits your needs and show a patch for discussion. I've no time to play with this at the moment.