bug in menu accelerators code corrected (don't create empty accel table,

this exposes a bug in Win32 API :-)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-06-06 22:12:36 +00:00
parent d66f34ece7
commit 5df1250b30

View File

@@ -1014,7 +1014,7 @@ void wxMenuBar::Attach(wxFrame *frame)
m_menuBarFrame = frame;
// create the accel table - we consider that the toolbar construction is
// create the accel table - we consider that the menubar construction is
// finished
size_t nAccelCount = 0;
int i;
@@ -1023,17 +1023,20 @@ void wxMenuBar::Attach(wxFrame *frame)
nAccelCount += m_menus[i]->GetAccelCount();
}
wxAcceleratorEntry *accelEntries = new wxAcceleratorEntry[nAccelCount];
nAccelCount = 0;
for ( i = 0; i < m_menuCount; i++ )
if ( nAccelCount )
{
nAccelCount += m_menus[i]->CopyAccels(&accelEntries[nAccelCount]);
wxAcceleratorEntry *accelEntries = new wxAcceleratorEntry[nAccelCount];
nAccelCount = 0;
for ( i = 0; i < m_menuCount; i++ )
{
nAccelCount += m_menus[i]->CopyAccels(&accelEntries[nAccelCount]);
}
m_accelTable = wxAcceleratorTable(nAccelCount, accelEntries);
delete [] accelEntries;
}
m_accelTable = wxAcceleratorTable(nAccelCount, accelEntries);
delete [] accelEntries;
}
// ---------------------------------------------------------------------------