diff options
author | David Hill <dhill@mindcry.org> | 2013-12-11 04:05:19 +0000 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2018-06-17 13:19:02 -0700 |
commit | f8c9f340421883f659b820214ddf8a21d5022a3a (patch) | |
tree | 2435dd595e81a5787fbd94d5f40ea65119c58d66 | |
parent | 919665db8ceb8e2c38a1a4ce4686eb224ddf5234 (diff) |
In Find_Client, if (win == XCB_WINDOW_NONE), roots should be freed.
https://bugs.freedesktop.org/show_bug.cgi?id=72583
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r-- | clientwin.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clientwin.c b/clientwin.c index 2b1de04..be38a0d 100644 --- a/clientwin.c +++ b/clientwin.c @@ -219,8 +219,10 @@ Find_Client(xcb_connection_t * dpy, xcb_window_t root, xcb_window_t subwin) if (subwin != roots[i]) continue; win = Find_Child_At_Pointer(dpy, subwin); - if (win == XCB_WINDOW_NONE) + if (win == XCB_WINDOW_NONE) { + free (roots); return subwin; /* No child - Return virtual root. */ + } subwin = win; break; } |