]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/app.h
applied wxDirSelector() patch and regenerated the makefiles to include the new src...
[wxWidgets.git] / include / wx / app.h
index 36e9e1979064857be0e44169246541d53fbee75a..d30e19cd8dd8768398075f16c7ff8043dd3112af 100644 (file)
@@ -65,9 +65,6 @@ public:
 
     // the virtual functions which may/must be overridden in the derived class
     // -----------------------------------------------------------------------
-#ifdef __DARWIN__
-    virtual ~wxAppBase() { }
-#endif
 
         // called during the program initialization, returning FALSE from here
         // prevents the program from continuing - it's a good place to create
@@ -135,6 +132,17 @@ public:
         // process the first event in the event queue (blocks until an event
         // apperas if there are none currently)
     virtual void Dispatch() = 0;
+
+        // process all currently pending events right now
+        //
+        // it is an error to call Yield() recursively unless the value of
+        // onlyIfNeeded is TRUE
+        //
+        // WARNING: this function is dangerous as it can lead to unexpected
+        //          reentrancies (i.e. when called from an event handler it
+        //          may result in calling the same event handler again), use
+        //          with _extreme_ care or, better, don't use at all!
+    virtual bool Yield(bool onlyIfNeeded = FALSE) = 0;
 #endif // wxUSE_GUI
 
     // application info: name, description, vendor
@@ -285,6 +293,11 @@ public:
     static wxAppInitializerFunction GetInitializerFunction()
         { return m_appInitFn; }
 
+    // needed to avoid link errors
+#ifdef __DARWIN__
+    virtual ~wxAppBase() { }
+#endif
+
     // process all events in the wxPendingEvents list
     virtual void ProcessPendingEvents();