]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/helpers.cpp
AdjustScrollbars can go into an infinite loop, so bail out after a few
[wxWidgets.git] / wxPython / src / helpers.cpp
index cac45b0cbc5904293b1aff91c0eb4ba3bbd7c163..f37f539ecad7deb469a1ac624571cc5f345e43b4 100644 (file)
@@ -126,6 +126,8 @@ wxPyApp::wxPyApp() {
 
 
 wxPyApp::~wxPyApp() {
 
 
 wxPyApp::~wxPyApp() {
+    wxPythonApp = NULL;
+    wxApp::SetInstance(NULL);
 }
 
 
 }
 
 
@@ -408,11 +410,11 @@ void wxPyApp::_BootstrapApp()
         if (sysargv != NULL && executable != NULL) {
             argc = PyList_Size(sysargv) + 1;
             argv = new char*[argc+1];
         if (sysargv != NULL && executable != NULL) {
             argc = PyList_Size(sysargv) + 1;
             argv = new char*[argc+1];
-            argv[0] = PyString_AsString(executable);
+            argv[0] = strdup(PyString_AsString(executable));
             int x;
             for(x=1; x<argc; x++) {
                 PyObject *pyArg = PyList_GetItem(sysargv, x-1);
             int x;
             for(x=1; x<argc; x++) {
                 PyObject *pyArg = PyList_GetItem(sysargv, x-1);
-                argv[x] = PyString_AsString(pyArg);
+                argv[x] = strdup(PyString_AsString(pyArg));
             }
             argv[argc] = NULL;
         }
             }
             argv[argc] = NULL;
         }
@@ -420,7 +422,7 @@ void wxPyApp::_BootstrapApp()
 
         // Initialize wxWidgets
         result = wxEntryStart(argc, argv);
 
         // Initialize wxWidgets
         result = wxEntryStart(argc, argv);
-        delete [] argv;
+        // wxApp takes ownership of the argv array, don't delete it here
 
         blocked = wxPyBeginBlockThreads();
         if (! result)  {
 
         blocked = wxPyBeginBlockThreads();
         if (! result)  {
@@ -440,7 +442,7 @@ void wxPyApp::_BootstrapApp()
         setlocale(LC_NUMERIC, "C");
 #endif
 
         setlocale(LC_NUMERIC, "C");
 #endif
 
-        wxSystemOptions::SetOptionInt(wxT("mac.textcontrol-use-mlte"), 1);
+        wxSystemOptions::SetOption(wxT("mac.textcontrol-use-mlte"), 1);
         
         // The stock objects were all NULL when they were loaded into
         // SWIG generated proxies, so re-init those now...
         
         // The stock objects were all NULL when they were loaded into
         // SWIG generated proxies, so re-init those now...