33 lines
966 B
Diff
33 lines
966 B
Diff
|
From 941ee65327f67348a43f2528a1648a968a85b9b7 Mon Sep 17 00:00:00 2001
|
||
|
From: David Hill <dhill@mindcry.org>
|
||
|
Date: Wed, 11 Dec 2013 04:05:19 +0000
|
||
|
Subject: [PATCH] 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>
|
||
|
---
|
||
|
clientwin.c | 4 +++-
|
||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git clientwin.c clientwin.c
|
||
|
index 2b1de04..be38a0d 100644
|
||
|
--- clientwin.c
|
||
|
+++ 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;
|
||
|
}
|
||
|
--
|
||
|
2.20.1
|
||
|
|