X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/32b1391332e67af96856865ded257aacd6e1e956..4cbcfb73a037462ccf4d54b3e50c58e37cc61aa9:/src/generic/accel.cpp diff --git a/src/generic/accel.cpp b/src/generic/accel.cpp index 65f0fa94f2..b9a49a85e6 100644 --- a/src/generic/accel.cpp +++ b/src/generic/accel.cpp @@ -16,10 +16,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "accel.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -44,7 +40,7 @@ WX_DECLARE_LIST(wxAcceleratorEntry, wxAccelList); #include "wx/listimpl.cpp" -WX_DEFINE_LIST(wxAccelList); +WX_DEFINE_LIST(wxAccelList) // ---------------------------------------------------------------------------- // wxAccelRefData: the data used by wxAcceleratorTable @@ -139,7 +135,11 @@ void wxAcceleratorTable::Remove(const wxAcceleratorEntry& entry) { const wxAcceleratorEntry *entryCur = node->GetData(); - if ( *entryCur == entry ) + // given entry contains only the information of the accelerator key + // because it was set that way in wxGetAccelFromString() + // so do not perform full ( *entryCur == entry ) comparison + if ((entryCur->GetKeyCode() == entry.GetKeyCode()) && + (entryCur->GetFlags() == entry.GetFlags())) { delete node->GetData(); M_ACCELDATA->m_accels.Erase(node);