Bug #13676 2008-04-23 15:39
jgm
OnCompiler(Started,Finished) event.GetProject() returns null
When the compiler plugin sends the OnCompilerStarted and OnCompilerFinished events to other plugins, the project pointer populated on CodeBlocksEvent GetProject() is null (0)
Here I provide a simple test code to see the value returned by event.GetProject on both functions
=======================================
void AutoVersioning::OnCompilerStarted(CodeBlocksEvent& event)
{
wxString print;
print.Printf(_T("m_Project: %d event.GetProject: %d"),m_Project, event.GetProject());
wxMessageBox(print, _T("OnCompilerStarted"));
if (m_Project && IsAttached() && m_IsVersioned[event.GetProject()])
{
if (m_Modified)
{
const bool doAutoIncrement = GetConfig().Settings.DoAutoIncrement;
const bool askToIncrement = GetConfig().Settings.AskToIncrement;
if (doAutoIncrement && askToIncrement)
{
if (wxMessageBox(_("Do you want to increment the version?"),_T(""),wxYES_NO) == wxYES)
{
CommitChanges();
}
}
else if(doAutoIncrement)
{
CommitChanges();
}
}
}
} // end of OnCompilerStarted
void AutoVersioning::OnCompilerFinished(CodeBlocksEvent& event)
{
wxString print;
print.Printf(_T("m_Project: %d event.GetProject: %d"),m_Project, event.GetProject());
wxMessageBox(print, _T("OnCompilerFinished"));
if (m_Project && IsAttached() && m_IsVersioned[event.GetProject()])
{
++(GetVersionState().Values.BuildCount);
}
}
=======================================
You could use the autoversioning plugin to test, and the following configuration for a dummy project file.
=======================================
<AutoVersioning>
<Scheme minor_max="10" build_max="0" rev_max="0" rev_rand_max="10" build_times_to_increment_minor="100" />
<Settings autoincrement="1" date_declarations="1" do_auto_increment="1" ask_to_increment="0" language="C++" svn="0" svn_directory="" header_path="include/version.h" />
<Changes_Log show_changes_editor="0" app_title="released version %M.%m.%b of %p" changeslog_path="ChangesLog.txt" />
</AutoVersioning>
=======================================
Just create a project file with the above autoversioning plug in configuration and edit a source file on the project so autoversioning detects changes, and before compiling it will try to increment the version values, but like event.GetProject() is null it can't.
- Category
- Compiler
- Group
- Status
- Closed
- Close date
- 2008-04-23 17:11
- Assigned to
- biplab
History
biplab 2008-04-23 17:11
This bug is now fixed in HEAD.
Thank you for reporting it.