#include "wx/log.h"
#include "wx/intl.h"
#include "wx/evtloop.h"
+#include "wx/cmdline.h"
#if wxUSE_THREADS
#include "wx/thread.h"
#include <string.h>
-extern char *wxBuffer;
extern wxList wxPendingDelete;
wxApp *wxTheApp = NULL;
bool wxApp::Initialize()
{
- wxBuffer = new char[BUFSIZ + 512];
-
wxClassInfo::InitializeClasses();
// GL: I'm annoyed ... I don't know where to put this and I don't want to
delete wxTheApp;
wxTheApp = NULL;
- delete[] wxBuffer;
- wxBuffer = NULL;
-
wxClassInfo::CleanUpClasses();
#if wxUSE_THREADS
delete wxLog::SetActiveTarget(NULL);
}
+// This is set within wxEntryStart -- too early on
+// to put these in wxTheApp
+static int g_newArgc = 0;
+static wxChar** g_newArgv = NULL;
+
// NB: argc and argv may be changed here, pass by reference!
int wxEntryStart( int& argc, char *argv[] )
{
gs_pfnXErrorHandler = XSetErrorHandler( wxXErrorHandler );
#endif // __WXDEBUG__
+ /// TODO
+#if 0
+ // Parse the arguments.
+#endif
+
Display* xdisplay = XOpenDisplay(NULL);
if (!xdisplay)
wxTheApp->SetClassName(wxFileNameFromPath(argv[0]));
wxTheApp->SetAppName(wxFileNameFromPath(argv[0]));
- wxTheApp->argc = argc;
- wxTheApp->argv = argv;
+ // The command line may have been changed
+ // by stripping out -display etc.
+ if (g_newArgc > 0)
+ {
+ wxTheApp->argc = g_newArgc;
+ wxTheApp->argv = g_newArgv;
+ }
+ else
+ {
+ wxTheApp->argc = argc;
+ wxTheApp->argv = argv;
+ }
int retValue;
retValue = wxEntryInitGui();
win = wxGetWindowFromTable(window);
if (!win)
- return;
+ return;
switch (event->type)
{
return;
}
case ClientMessage:
- {
+ {
+ if (win && !win->IsEnabled())
+ return;
+
Atom wm_delete_window = XInternAtom(wxGlobalDisplay(), "WM_DELETE_WINDOW", True);;
Atom wm_protocols = XInternAtom(wxGlobalDisplay(), "WM_PROTOCOLS", True);;
}
default:
{
+#ifdef __WXDEBUG__
+ //wxString eventName = wxGetXEventName(XEvent& event);
+ //wxLogDebug(wxT("Event %s not handled"), eventName.c_str());
+#endif
break;
}
}
Window wxGetWindowParent(Window window)
{
+ wxASSERT_MSG( window, "invalid window" );
+
+ return (Window) 0;
+
Window parent, root = 0;
unsigned int noChildren = 0;
Window* children = NULL;
#endif
}
-// ----------------------------------------------------------------------------
-// accessors for C modules
-// ----------------------------------------------------------------------------
-
-#if 0
-extern "C" XtAppContext wxGetAppContext()
-{
- return (XtAppContext)wxTheApp->GetAppContext();
-}
-#endif