]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/accel.cpp
fix memory leak in wxScreenDC, fixes #13249
[wxWidgets.git] / src / motif / accel.cpp
index 46adbcc4b6724d3468f0a02db32c4ad50b56b647..d66f03b8af79db21800672fdd68fe2da97779cd4 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        accel.cpp
+// Name:        src/motif/accel.cpp
 // Purpose:     wxAcceleratorTable
 // Author:      Julian Smart
 // Modified by:
@@ -9,27 +9,27 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "accel.h"
-#endif
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
 
-#include "wx/setup.h"
 #include "wx/accel.h"
-#include "wx/string.h"
-#include "wx/utils.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/string.h"
+    #include "wx/utils.h"
+#endif
+
 #include <ctype.h>
 
-#if !USE_SHARED_LIBRARIES
 IMPLEMENT_DYNAMIC_CLASS(wxAcceleratorTable, wxObject)
-#endif
 
 class WXDLLEXPORT wxAcceleratorRefData: public wxObjectRefData
 {
-    friend class WXDLLEXPORT wxAcceleratorTable;
+    friend class wxAcceleratorTable;
 public:
     wxAcceleratorRefData();
-    ~wxAcceleratorRefData();
-    
+    virtual ~wxAcceleratorRefData();
+
 public:
     int m_count;
     wxAcceleratorEntry* m_entries;
@@ -40,19 +40,18 @@ public:
 wxAcceleratorRefData::wxAcceleratorRefData()
 {
     m_count = 0;
-    m_entries = (wxAcceleratorEntry*) NULL;
+    m_entries = NULL;
 }
 
 wxAcceleratorRefData::~wxAcceleratorRefData()
 {
-    delete[] m_entries;
-    m_entries = (wxAcceleratorEntry*) NULL;
+    wxDELETEA(m_entries);
     m_count = 0;
 }
 
 wxAcceleratorTable::wxAcceleratorTable()
 {
-    m_refData = (wxAcceleratorRefData*) NULL;
+    m_refData = NULL;
 }
 
 wxAcceleratorTable::~wxAcceleratorTable()
@@ -61,28 +60,28 @@ wxAcceleratorTable::~wxAcceleratorTable()
 }
 
 // Load from .rc resource
-wxAcceleratorTable::wxAcceleratorTable(const wxString& resource)
+wxAcceleratorTable::wxAcceleratorTable(const wxString& WXUNUSED(resource))
 {
     m_refData = new wxAcceleratorRefData;
 }
 
 // Create from an array
-wxAcceleratorTable::wxAcceleratorTable(int n, wxAcceleratorEntry entries[])
+wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[])
 {
     wxAcceleratorRefData* data = new wxAcceleratorRefData;
     m_refData = data;
-    
+
     data->m_count = n;
     data->m_entries = new wxAcceleratorEntry[n];
     int i;
     for (i = 0; i < n; i++)
         data->m_entries[i] = entries[i];
-    
+
 }
 
-bool wxAcceleratorTable::Ok() const
+bool wxAcceleratorTable::IsOk() const
 {
-    return (m_refData != (wxAcceleratorRefData*) NULL);
+    return (m_refData != NULL);
 }
 
 int wxAcceleratorTable::GetCount() const
@@ -101,18 +100,17 @@ bool wxAcceleratorEntry::MatchesEvent(const wxKeyEvent& event) const
     bool eventAltDown = event.AltDown();
     bool eventCtrlDown = event.ControlDown();
     bool eventShiftDown = event.ShiftDown();
-    int  eventKeyCode = event.KeyCode();
-    
+    int  eventKeyCode = event.GetKeyCode();
+
     bool accAltDown = ((GetFlags() & wxACCEL_ALT) == wxACCEL_ALT);
     bool accCtrlDown = ((GetFlags() & wxACCEL_CTRL) == wxACCEL_CTRL);
     bool accShiftDown = ((GetFlags() & wxACCEL_SHIFT) == wxACCEL_SHIFT);
     int  accKeyCode = GetKeyCode();
     int  accKeyCode2 = GetKeyCode();
-    if (isascii(accKeyCode2))
-        accKeyCode2 = wxToLower(accKeyCode2);
-    
+    if (wxIsascii(accKeyCode2))
+        accKeyCode2 = wxTolower(accKeyCode2);
+
     return ((eventAltDown == accAltDown) && (eventCtrlDown == accCtrlDown) &&
         (eventShiftDown == accShiftDown) &&
         ((eventKeyCode == accKeyCode || eventKeyCode == accKeyCode2))) ;
 }
-