]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/app.cpp
compilation fix after last check in
[wxWidgets.git] / src / x11 / app.cpp
index 9bb8b70b8fa337dadd90dde86a42228a4f7a9267..7602f5821f0a268f806d94fb6129dad0fdee3fcb 100644 (file)
@@ -9,7 +9,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "app.h"
 #endif
 
     #pragma implementation "app.h"
 #endif
 
@@ -88,7 +88,7 @@ WXDisplay *wxApp::ms_display = NULL;
 IMPLEMENT_DYNAMIC_CLASS(wxApp, wxEvtHandler)
 
 BEGIN_EVENT_TABLE(wxApp, wxEvtHandler)
 IMPLEMENT_DYNAMIC_CLASS(wxApp, wxEvtHandler)
 
 BEGIN_EVENT_TABLE(wxApp, wxEvtHandler)
-    EVT_IDLE(wxApp::OnIdle)
+    EVT_IDLE(wxAppBase::OnIdle)
 END_EVENT_TABLE()
 
 bool wxApp::Initialize(int& argc, wxChar **argv)
 END_EVENT_TABLE()
 
 bool wxApp::Initialize(int& argc, wxChar **argv)
@@ -98,7 +98,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
     gs_pfnXErrorHandler = XSetErrorHandler( wxXErrorHandler );
 #endif // __WXDEBUG__
 
     gs_pfnXErrorHandler = XSetErrorHandler( wxXErrorHandler );
 #endif // __WXDEBUG__
 
-    char *displayName = NULL;
+    wxString displayName;
     bool syncDisplay = FALSE;
 
     int argcOrig = argc;
     bool syncDisplay = FALSE;
 
     int argcOrig = argc;
@@ -126,7 +126,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
                 if (wxSscanf(argv[i], _T("%dx%d"), &w, &h) != 2)
                 {
                     wxLogError( _("Invalid geometry specification '%s'"),
                 if (wxSscanf(argv[i], _T("%dx%d"), &w, &h) != 2)
                 {
                     wxLogError( _("Invalid geometry specification '%s'"),
-                                wxString::FromAscii(argv[i]).c_str() );
+                                wxString(argv[i]).c_str() );
                 }
                 else
                 {
                 }
                 else
                 {
@@ -166,7 +166,11 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
     }
 
     // X11 display stuff
     }
 
     // X11 display stuff
-    Display *xdisplay = XOpenDisplay( displayName );
+    Display *xdisplay;
+    if ( displayName.empty() )
+        xdisplay = XOpenDisplay( NULL );
+    else
+        xdisplay = XOpenDisplay( displayName.ToAscii() );
     if (!xdisplay)
     {
         wxLogError( _("wxWindows could not open display. Exiting.") );
     if (!xdisplay)
     {
         wxLogError( _("wxWindows could not open display. Exiting.") );
@@ -672,18 +676,6 @@ bool wxApp::ProcessXEvent(WXEvent* _event)
     return FALSE;
 }
 
     return FALSE;
 }
 
-// Returns TRUE if more time is needed.
-// Note that this duplicates wxEventLoopImpl::SendIdleEvent
-// but ProcessIdle may be needed by apps, so is kept.
-bool wxApp::ProcessIdle()
-{
-    wxIdleEvent event;
-    event.SetEventObject(this);
-    ProcessEvent(event);
-
-    return event.MoreRequested();
-}
-
 void wxApp::ExitMainLoop()
 {
     if (m_mainLoop)
 void wxApp::ExitMainLoop()
 {
     if (m_mainLoop)
@@ -712,32 +704,6 @@ bool wxApp::HandlePropertyChange(WXEvent *event)
     return FALSE;
 }
 
     return FALSE;
 }
 
-void wxApp::OnIdle(wxIdleEvent& event)
-{
-    static bool s_inOnIdle = FALSE;
-
-    // Avoid recursion (via ProcessEvent default case)
-    if (s_inOnIdle)
-        return;
-
-    s_inOnIdle = TRUE;
-
-    // Resend in the main thread events which have been prepared in other
-    // threads
-    ProcessPendingEvents();
-
-    // 'Garbage' collection of windows deleted with Close()
-    DeletePendingObjects();
-
-    // Send OnIdle events to all windows
-    bool needMore = SendIdleEvents();
-
-    if (needMore)
-        event.RequestMore(TRUE);
-
-    s_inOnIdle = FALSE;
-}
-
 void wxApp::WakeUpIdle()
 {
     // TODO: use wxMotif implementation?
 void wxApp::WakeUpIdle()
 {
     // TODO: use wxMotif implementation?
@@ -746,51 +712,6 @@ void wxApp::WakeUpIdle()
 }
 
 
 }
 
 
-// Send idle event to all top-level windows
-bool wxApp::SendIdleEvents()
-{
-    bool needMore = FALSE;
-
-    wxWindowList::Node* node = wxTopLevelWindows.GetFirst();
-    while (node)
-    {
-        wxWindow* win = node->GetData();
-        if (SendIdleEvents(win))
-            needMore = TRUE;
-        node = node->GetNext();
-    }
-
-    return needMore;
-}
-
-// Send idle event to window and all subwindows
-bool wxApp::SendIdleEvents(wxWindow* win)
-{
-    bool needMore = FALSE;
-
-    wxIdleEvent event;
-    event.SetEventObject(win);
-
-    win->GetEventHandler()->ProcessEvent(event);
-
-    if (event.MoreRequested())
-        needMore = TRUE;
-
-    wxWindowListNode* node = win->GetChildren().GetFirst();
-    while (node)
-    {
-        wxWindow* win = (wxWindow*) node->GetData();
-        if (SendIdleEvents(win))
-            needMore = TRUE;
-
-        node = node->GetNext();
-    }
-
-    win->OnInternalIdle();
-
-    return needMore;
-}
-
 // Create display, and other initialization
 bool wxApp::OnInitGui()
 {
 // Create display, and other initialization
 bool wxApp::OnInitGui()
 {
@@ -868,7 +789,7 @@ WXColormap wxApp::GetMainColormap(WXDisplay* display)
 
 Window wxGetWindowParent(Window window)
 {
 
 Window wxGetWindowParent(Window window)
 {
-    wxASSERT_MSG( window, "invalid window" );
+    wxASSERT_MSG( window, _T("invalid window") );
 
     return (Window) 0;
 
 
     return (Window) 0;