]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/app.cpp
added Add/InsertTool() (patch 672032)
[wxWidgets.git] / src / motif / app.cpp
index 17699b8d08ef42918dfca16ba7a5dffa0fdadea3..3cfc2853e2fe932f9e103cdd76fceac10b79e5bf 100644 (file)
@@ -264,14 +264,8 @@ wxAppInitializerFunction wxAppBase::m_appInitFn = (wxAppInitializerFunction) NUL
 
 wxApp::wxApp()
 {
-    m_topWindow = NULL;
-    wxTheApp = this;
-    m_className = "";
-    m_wantDebugOutput = TRUE ;
-    m_appName = "";
     argc = 0;
     argv = NULL;
-    m_exitOnFrameDelete = TRUE;
 
     m_mainColormap = (WXColormap) NULL;
     m_appContext = (WXAppContext) NULL;
@@ -531,24 +525,24 @@ bool wxApp::SendIdleEvents(wxWindow* win)
     if (event.MoreRequested())
         needMore = TRUE;
 
-    wxNode* node = win->GetChildren().First();
+    wxWindowList::Node* node = win->GetChildren().GetFirst();
     while (node)
     {
-        wxWindow* win = (wxWindow*) node->Data();
+        wxWindow* win = node->GetData();
         if (SendIdleEvents(win))
             needMore = TRUE;
 
-        node = node->Next();
+        node = node->GetNext();
     }
     return needMore ;
 }
 
 void wxApp::DeletePendingObjects()
 {
-    wxNode *node = wxPendingDelete.First();
+    wxNode *node = wxPendingDelete.GetFirst();
     while (node)
     {
-        wxObject *obj = (wxObject *)node->Data();
+        wxObject *obj = node->GetData();
 
         delete obj;
 
@@ -557,15 +551,28 @@ void wxApp::DeletePendingObjects()
 
         // Deleting one object may have deleted other pending
         // objects, so start from beginning of list again.
-        node = wxPendingDelete.First();
+        node = wxPendingDelete.GetFirst();
     }
 }
 
+static char *fallbackResources[] = {
+    "*menuBar.marginHeight: 0",
+    "*menuBar.shadowThickness: 1",
+    "*background: #c0c0c0",
+    "*foreground: black",
+    NULL
+};
+
 // Create an application context
 bool wxApp::OnInitGui()
 {
+    if( !wxAppBase::OnInitGui() )
+        return FALSE;
+
     XtToolkitInitialize() ;
-    wxTheApp->m_appContext = (WXAppContext) XtCreateApplicationContext() ;
+    wxTheApp->m_appContext = (WXAppContext) XtCreateApplicationContext();
+    XtAppSetFallbackResources((XtAppContext) wxTheApp->m_appContext, fallbackResources);
+
     Display *dpy = XtOpenDisplay((XtAppContext) wxTheApp->m_appContext,(String)NULL,NULL,
         (const char*) wxTheApp->GetClassName(), NULL, 0,
 # if XtSpecificationRelease < 5
@@ -576,6 +583,8 @@ bool wxApp::OnInitGui()
         argv);
 
     if (!dpy) {
+         // if you don't log to stderr, nothing will be shown...
+        delete wxLog::SetActiveTarget(new wxLogStderr);
         wxString className(wxTheApp->GetClassName());
         wxLogError(_("wxWindows could not open display for '%s': exiting."),
                    (const char*) className);