Skip to content

Commit a320e8b

Browse files
committed
When debuggin event loop display number of dispatched X11 events
1 parent 1c4f5b4 commit a320e8b

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

glfw/x11_window.c

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,17 @@
5555
// This avoids blocking other threads via the per-display Xlib lock that also
5656
// covers GLX functions
5757
//
58-
GLFWbool _glfwDispatchX11Events(void);
58+
static unsigned _glfwDispatchX11Events(void);
5959

6060
static void
6161
handleEvents(double timeout) {
6262
EVDBG("starting handleEvents(%.2f)", timeout);
6363
int display_read_ok = pollForEvents(&_glfw.x11.eventLoopData, timeout);
6464
EVDBG("display_read_ok: %d", display_read_ok);
6565
if (display_read_ok) {
66-
_glfwDispatchX11Events();
67-
EVDBG("_glfwDispatchX11Events() done");
66+
unsigned dispatched = _glfwDispatchX11Events();
67+
(void)dispatched;
68+
EVDBG("dispatched %u X11 events", dispatched);
6869
}
6970
glfw_ibus_dispatch(&_glfw.x11.xkb.ibus);
7071
glfw_dbus_session_bus_dispatch();
@@ -2497,29 +2498,29 @@ void _glfwPlatformSetWindowOpacity(_GLFWwindow* window, float opacity)
24972498
PropModeReplace, (unsigned char*) &value, 1);
24982499
}
24992500

2500-
static inline GLFWbool
2501+
static inline unsigned
25012502
dispatch_x11_queued_events(void) {
2502-
GLFWbool dispatched = GLFW_FALSE;
2503+
unsigned dispatched = 0;
25032504
while (XQLength(_glfw.x11.display) > 0)
25042505
{
25052506
XEvent event;
25062507
XNextEvent(_glfw.x11.display, &event);
25072508
processEvent(&event);
2508-
dispatched = GLFW_TRUE;
2509+
dispatched += 1;
25092510
}
25102511
return dispatched;
25112512
}
25122513

2513-
GLFWbool
2514+
static unsigned
25142515
_glfwDispatchX11Events(void) {
25152516
_GLFWwindow* window;
2516-
GLFWbool dispatched = GLFW_FALSE;
2517+
unsigned dispatched = 0;
25172518

25182519
#if defined(__linux__)
25192520
_glfwDetectJoystickConnectionLinux();
25202521
#endif
25212522
XPending(_glfw.x11.display);
2522-
if (dispatch_x11_queued_events()) dispatched = GLFW_TRUE;
2523+
dispatched += dispatch_x11_queued_events();
25232524

25242525
window = _glfw.x11.disabledCursorWindow;
25252526
if (window)
@@ -2538,7 +2539,7 @@ _glfwDispatchX11Events(void) {
25382539

25392540
XFlush(_glfw.x11.display);
25402541
// XFlush can cause events to be queued
2541-
if (dispatch_x11_queued_events()) dispatched = GLFW_TRUE;
2542+
dispatched += dispatch_x11_queued_events();
25422543
return dispatched;
25432544
}
25442545

0 commit comments

Comments
 (0)