]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/helpers.cpp
reSWIGged
[wxWidgets.git] / wxPython / src / helpers.cpp
index 2a568e3e3852305a91f7237e371de02c15f6473a..1a23c8f8d671ad2b77894cc29b48abb2dc4073b2 100644 (file)
@@ -97,6 +97,7 @@ PyObject* wxPyPtrTypeMap = NULL;
 // This gets run when the DLL is loaded.  We just need to save a handle.
 //----------------------------------------------------------------------
 
+extern "C"
 BOOL WINAPI DllMain(
     HINSTANCE   hinstDLL,    // handle to DLL module
     DWORD       fdwReason,   // reason for calling function
@@ -400,13 +401,17 @@ void wxPyApp::_BootstrapApp()
         int    argc = 0;
         char** argv = NULL;
         blocked = wxPyBeginBlockThreads();
+        
         PyObject* sysargv = PySys_GetObject("argv");
-        if (sysargv != NULL) {
-            argc = PyList_Size(sysargv);
+        PyObject* executable = PySys_GetObject("executable");
+        
+        if (sysargv != NULL && executable != NULL) {
+            argc = PyList_Size(sysargv) + 1;
             argv = new char*[argc+1];
+            argv[0] = PyString_AsString(executable);
             int x;
-            for(x=0; x<argc; x++) {
-                PyObject *pyArg = PyList_GetItem(sysargv, x);
+            for(x=1; x<argc; x++) {
+                PyObject *pyArg = PyList_GetItem(sysargv, x-1);
                 argv[x] = PyString_AsString(pyArg);
             }
             argv[argc] = NULL;
@@ -435,6 +440,8 @@ void wxPyApp::_BootstrapApp()
         setlocale(LC_NUMERIC, "C");
 #endif
 
+        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...
         wxPy_ReinitStockObjects(3);