]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/windows.i
correction for memory leak
[wxWidgets.git] / wxPython / src / windows.i
index c12a3168114990904b766dea141b3e452fc5b555..68734a57dd64dfc903be2a7a3ef85c940e1d2ef0 100644 (file)
@@ -104,11 +104,11 @@ public:
     ~wxPyValidator() {
     }
 
-    wxObject* wxPyValidator::Clone() const {
+    wxObject* Clone() const {
         wxPyValidator* ptr = NULL;
         wxPyValidator* self = (wxPyValidator*)this;
 
-        bool doSave = wxPyRestoreThread();
+        wxPyTState* state = wxPyBeginBlockThreads();
         if (self->m_myInst.findCallback("Clone")) {
             PyObject* ro;
             ro = self->m_myInst.callCallbackObj(Py_BuildValue("()"));
@@ -117,13 +117,13 @@ public:
                 Py_DECREF(ro);
             }
         }
+        wxPyEndBlockThreads(state);
+
         // This is very dangerous!!! But is the only way I could find
         // to squash a memory leak.  Currently it is okay, but if the
         // validator architecture in wxWindows ever changes, problems
         // could arise.
         delete self;
-
-        wxPySaveThread(doSave);
         return ptr;
     }
 
@@ -256,7 +256,7 @@ public:
     void Layout();
     bool LoadFromResource(wxWindow* parent, const wxString& resourceName, const wxResourceTable* resourceTable = NULL);
     void Lower();
-    void MakeModal(bool flag);
+    void MakeModal(bool flag=TRUE);
     %name(MoveXY)void Move(int x, int y);
     void Move(const wxPoint& point);
 
@@ -279,7 +279,6 @@ public:
     wxPoint ScreenToClient(const wxPoint& pt);
 
     void ScrollWindow(int dx, int dy, const wxRect* rect = NULL);
-    void SetAcceleratorTable(const wxAcceleratorTable& accel);
     void SetAutoLayout(bool autoLayout);
     bool GetAutoLayout();
     void SetBackgroundColour(const wxColour& colour);
@@ -377,6 +376,8 @@ public:
     static int NextControlId(int id);
     static int PrevControlId(int id);
 
+    void SetAcceleratorTable(const wxAcceleratorTable& accel);
+    wxAcceleratorTable *GetAcceleratorTable();
 };
 
 
@@ -436,46 +437,6 @@ public:
 
 //---------------------------------------------------------------------------
 
-class wxDialog : public wxPanel {
-public:
-    wxDialog(wxWindow* parent,
-             const wxWindowID id,
-             const wxString& title,
-             const wxPoint& pos = wxDefaultPosition,
-             const wxSize& size = wxDefaultSize,
-             long style = wxDEFAULT_DIALOG_STYLE,
-             const char* name = "dialogBox");
-    %name(wxPreDialog)wxDialog();
-
-    bool Create(wxWindow* parent,
-                const wxWindowID id,
-                const wxString& title,
-                const wxPoint& pos = wxDefaultPosition,
-                const wxSize& size = wxDefaultSize,
-                long style = wxDEFAULT_DIALOG_STYLE,
-                const char* name = "dialogBox");
-
-    void Centre(int direction = wxBOTH);
-    void EndModal(int retCode);
-    wxString GetTitle();
-    void Iconize(bool iconize);
-    bool IsIconized();
-    void SetModal(bool flag);
-    bool IsModal();
-    void SetTitle(const wxString& title);
-    bool Show(bool show);
-    int ShowModal();
-
-    int  GetReturnCode();
-    void SetReturnCode(int retCode);
-
-    wxSizer* CreateTextSizer( const wxString &message );
-    wxSizer* CreateButtonSizer( long flags );
-
-};
-
-//---------------------------------------------------------------------------
-
 
 // TODO: Add wrappers for the wxScrollHelper class, make wxScrolledWindow
 //       derive from it and wxPanel.