binding: ping() dispatches only pending events
[staging/windowmanager.git] / src / wayland.cpp
index 25c2359..fb18386 100644 (file)
@@ -16,6 +16,7 @@
 
 #include <utility>
 
+#include "util.hpp"
 #include "wayland.hpp"
 
 //                                                                  _
@@ -46,8 +47,10 @@ int display::dispatch() { return wl_display_dispatch(this->d.get()); }
 int display::dispatch_pending() { return wl_display_dispatch_pending(this->d.get()); }
 
 int display::read_events() {
+   ST();
    // XXX: uhm, how?!
    while (wl_display_prepare_read(this->d.get()) == -1) {
+      STN(pending_events_dispatch);
       if (wl_display_dispatch_pending(this->d.get()) == -1) {
          return -1;
       }