]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/accel.cpp
Add comments explaining the workaround for mingw 3.2.3
[wxWidgets.git] / src / generic / accel.cpp
index a3f789b3cd96b06d1a072925985ab6e591176541..3bc6df37be36bd92f92dd9b19a4218597beebc08 100644 (file)
@@ -5,7 +5,7 @@
 // Modified:    VZ pn 31.05.01: use typed lists, Unicode cleanup, Add/Remove
 // Id:          $Id$
 // Copyright:   (c) 1998 Robert Roebling
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -97,9 +97,7 @@ wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]
     {
         const wxAcceleratorEntry& entry = entries[i];
 
-        int keycode = entry.GetKeyCode();
-        if ( wxIslower(keycode) )
-            keycode = wxToupper(keycode);
+        int keycode = wxToupper(entry.GetKeyCode());
 
         M_ACCELDATA->m_accels.Append(new wxAcceleratorEntry(entry.GetFlags(),
                                                             keycode,
@@ -141,7 +139,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);