]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/uiactionx11.cpp
Disable wxUSE_ENH_METAFILE for wxGTK builds.
[wxWidgets.git] / src / unix / uiactionx11.cpp
index 78b9a16e0f1d2a8baf5f3208f9301c10a7178ff9..04091354083a1537a424d406a2468387c6353450 100644 (file)
@@ -16,6 +16,8 @@
 #if wxUSE_UIACTIONSIMULATOR
 
 #include "wx/uiaction.h"
+#include "wx/event.h"
+#include "wx/evtloop.h"
 
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
@@ -88,6 +90,15 @@ bool wxUIActionSimulator::MouseMove(long x, long y)
     Window root = display.DefaultRoot();
     XWarpPointer(display, None, root, 0, 0, 0, 0, x, y);
 
+    // At least with wxGTK we must always process the pending events before the
+    // mouse position change really takes effect, so just do it from here
+    // instead of forcing the client code using this function to always use
+    // wxYield() which is unnecessary under the other platforms.
+    if ( wxEventLoopBase* const loop = wxEventLoop::GetActive() )
+    {
+        loop->YieldFor(wxEVT_CATEGORY_USER_INPUT);
+    }
+
     return true;
 }