--- driver/clientmsg.c.orig 2021-10-04 18:18:28.075134465 -0400 +++ driver/clientmsg.c 2022-05-04 14:32:20.597237000 -0400 @@ -44,14 +44,14 @@ XSync (dpy, False); old_handler = XSetErrorHandler (error_handler); + if (version) *version = 0; + for (screen = 0; screen < nscreens; screen++) { Window root = RootWindow (dpy, screen); Window root2, parent, *kids; unsigned int nkids; - if (version) *version = 0; - if (! XQueryTree (dpy, root, &root2, &parent, &kids, &nkids)) abort (); if (root != root2) @@ -94,6 +94,7 @@ if (ret) break; } if (kids) XFree (kids); + if (ret) break; } XSetErrorHandler (old_handler);