// headers
// ----------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation
#endif
#include "wx/event.h"
#include "wx/app.h"
-#include "wx/init.h"
#include "wx/cmdline.h"
#include "wx/msw/private.h"
// function prototypes
// ----------------------------------------------------------------------------
-// from src/msw/app.cpp
-extern void WXDLLEXPORT wxEntryCleanup();
-
static wxChar **ConvertToStandardCommandArgs(const wxChar *p, int& argc);
// ============================================================================
// Note that WinMain is also defined in dummy.obj, which is linked to
// an application that is using the DLL version of wxWindows.
-#if !defined(_WINDLL)
-
-int PASCAL WinMain(HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow)
-{
- return wxEntry(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
-}
-
-#else // _WINDLL
+#if defined(_WINDLL)
// DLL entry point
return TRUE;
}
-#endif // _WINDLL/!_WINDLL
+#endif // _WINDLL
} // extern "C"
// and +1 here for the terminating NULL
wxChar **argv = new wxChar *[argc + 1];
- argv[0] = new wxChar[MAX_PATH];
+ // as we use wxStrdup below we must allocate the first argument using
+ // malloc(), not new[], as well
+ argv[0] = (wxChar *)malloc(MAX_PATH * sizeof(wxChar));
::GetModuleFileName(wxhInstance, argv[0], MAX_PATH);
// copy all the other arguments to wxApp::argv[]