From 969122a9854087012ec2cb2533a27e2d6b1f4f6f Mon Sep 17 00:00:00 2001 From: "james.k.crook@gmail.com" Date: Sun, 25 Aug 2013 12:54:24 +0000 Subject: [PATCH] Possible fix for Linux ASSERT (debug builds) with lots of duplicate key bindings. Also fixed some unused parameter warnings. --- src/commands/CommandManager.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/commands/CommandManager.cpp b/src/commands/CommandManager.cpp index 096c34259..1d602aec4 100644 --- a/src/commands/CommandManager.cpp +++ b/src/commands/CommandManager.cpp @@ -448,7 +448,7 @@ void CommandManager::AddCheck(const wxChar *name, CommandFunctor *callback, int checkmark) { - AddItem(name, label, callback, wxT(""), NoFlagsSpecifed, NoFlagsSpecifed, checkmark); + AddItem(name, label, callback, wxT(""), (unsigned int)NoFlagsSpecifed, (unsigned int)NoFlagsSpecifed, checkmark); } void CommandManager::AddCheck(const wxChar *name, @@ -698,11 +698,17 @@ int CommandManager::NewIdentifier(wxString name, wxString label, wxMenu *menu, #if defined(__WXDEBUG__) CommandListEntry *prev = mCommandNameHash[name]; if (prev) { - wxLogDebug(wxT("Command '%s' defined by '%s' and '%s'"), + if( prev->label != tmpEntry->label ) + { + wxLogDebug(wxT("Command '%s' defined by '%s' and '%s'"), + name.c_str(), + prev->label.BeforeFirst(wxT('\t')).c_str(), + tmpEntry->label.BeforeFirst(wxT('\t')).c_str()); + wxFAIL_MSG( wxString::Format(wxT("Command '%s' defined by '%s' and '%s'"), name.c_str(), prev->label.BeforeFirst(wxT('\t')).c_str(), - tmpEntry->label.BeforeFirst(wxT('\t')).c_str()); - wxASSERT(!prev); + tmpEntry->label.BeforeFirst(wxT('\t')).c_str())); + } } #endif mCommandNameHash[name] = tmpEntry; @@ -1245,7 +1251,7 @@ void CommandManager::HandleXMLEndTag(const wxChar *tag) } } -XMLTagHandler *CommandManager::HandleXMLChild(const wxChar *tag) +XMLTagHandler *CommandManager::HandleXMLChild(const wxChar * WXUNUSED(tag)) { return this; }