]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix new wxExecute() code compilation with wxUSE_CONSOLE_EVENTLOOP==0.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 15 Jul 2013 15:14:53 +0000 (15:14 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 15 Jul 2013 15:14:53 +0000 (15:14 +0000)
Nothing is going to work without the console apps/base traits support for the
event loop but at least make it compile.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/unix/apptbase.h
src/common/evtloopcmn.cpp
src/unix/utilsunx.cpp

index 1d5085125830ad9cac7d1bdd5e21e659501cda7c..82abe55254dcf58099fbcf3c4cbb33811c836772 100644 (file)
@@ -49,9 +49,11 @@ public:
     virtual wxFDIOManager *GetFDIOManager();
 #endif // wxUSE_SOCKETS
 
+#if wxUSE_CONSOLE_EVENTLOOP
     // Return a non-NULL pointer to the object responsible for managing the
     // event loop sources in this kind of application.
     virtual wxEventLoopSourcesManagerBase* GetEventLoopSourcesManager();
+#endif // wxUSE_CONSOLE_EVENTLOOP
 
 protected:
     // Wait for the process termination by running the given event loop until
index bcc3472e8fe2c2aba41a6692bdbd2603ba5b4d57..2408d6e26b1e5162db8e5347de951715dfc3a5a6 100644 (file)
@@ -124,12 +124,16 @@ wxEventLoopBase::AddSourceForFD(int fd,
                                 wxEventLoopSourceHandler *handler,
                                 int flags)
 {
+#if wxUSE_CONSOLE_EVENTLOOP
     // Delegate to the event loop sources manager defined by it.
     wxEventLoopSourcesManagerBase* const
         manager = wxApp::GetValidTraits().GetEventLoopSourcesManager();
     wxCHECK_MSG( manager, NULL, wxS("Must have wxEventLoopSourcesManager") );
 
     return manager->AddSourceForFD(fd, handler, flags);
+#else // !wxUSE_CONSOLE_EVENTLOOP
+    return NULL;
+#endif // wxUSE_CONSOLE_EVENTLOOP/!wxUSE_CONSOLE_EVENTLOOP
 }
 
 #endif // wxUSE_EVENTLOOP_SOURCE
index d757498cc3242cfdce0d3f7408403bb83fe4a5e3..1a8c0b6ad3eedca9b374536a077305e281707e42 100644 (file)
@@ -48,6 +48,7 @@
 #include "wx/private/selectdispatcher.h"
 #include "wx/private/fdiodispatcher.h"
 #include "wx/unix/execute.h"
+#include "wx/unix/pipe.h"
 #include "wx/unix/private.h"
 
 #include "wx/evtloop.h"
@@ -499,6 +500,8 @@ int BlockUntilChildExit(wxExecuteData& execData)
     wxCHECK_MSG( wxTheApp, -1,
                     wxS("Can't block until child exit without wxTheApp") );
 
+#if wxUSE_SELECT_DISPATCHER
+
     // Even if we don't want to dispatch events, we still need to handle
     // child IO notifications and process termination concurrently, i.e.
     // we can't simply block waiting for the child to terminate as we would
@@ -553,6 +556,11 @@ int BlockUntilChildExit(wxExecuteData& execData)
     }
 
     return execData.exitcode;
+#else // !wxUSE_SELECT_DISPATCHER
+    wxFAIL_MSG( wxS("Can't block until child exit without wxSelectDispatcher") );
+
+    return -1;
+#endif // wxUSE_SELECT_DISPATCHER/!wxUSE_SELECT_DISPATCHER
 }
 
 } // anonymous namespace
@@ -1407,8 +1415,14 @@ bool wxHandleFatalExceptions(bool doit)
 
 int wxAppTraits::WaitForChild(wxExecuteData& execData)
 {
+#if wxUSE_CONSOLE_EVENTLOOP
     wxConsoleEventLoop loop;
     return RunLoopUntilChildExit(execData, loop);
+#else // !wxUSE_CONSOLE_EVENTLOOP
+    wxFAIL_MSG( wxS("Can't wait for child process without wxConsoleEventLoop") );
+
+    return -1;
+#endif // wxUSE_CONSOLE_EVENTLOOP/!wxUSE_CONSOLE_EVENTLOOP
 }
 
 // This function is common code for both console and GUI applications and used