diff --git a/server/window.c b/server/window.c index f7fc039cb4e..06ce0ec10ed 100644 --- a/server/window.c +++ b/server/window.c @@ -553,11 +553,12 @@ DECL_HANDLER(get_window_children) len = min( get_reply_max_size(), total * sizeof(user_handle_t) ); if (len && ((data = set_reply_data_size( len )))) { - for (ptr = parent->first_child; ptr && len; ptr = ptr->next, len -= sizeof(*data)) + for (ptr = parent->first_child; ptr && len; ptr = ptr->next) { if (req->atom && ptr->atom != req->atom) continue; if (req->tid && get_thread_id(ptr->thread) != req->tid) continue; *data++ = ptr->handle; + len -= sizeof(*data); } } }