summaryrefslogtreecommitdiff
path: root/app-admin/conky/files/conky-1.10.7-out_to_x-segfault.patch
blob: fef22ac46e50b0725c42e8798a9b649a36cda18d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
From 562c7375883445acb58388ff16d9eb126b7e12a1 Mon Sep 17 00:00:00 2001
From: Brenden Matthews <brenden@diddyinc.com>
Date: Tue, 23 Jan 2018 13:52:11 -0500
Subject: [PATCH] Fix segfault when out_to_x = false. (#455)

This resolves #454.
---
 src/conky.cc | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/conky.cc b/src/conky.cc
index 48256ecc..f10d08fb 100644
--- a/src/conky.cc
+++ b/src/conky.cc
@@ -2076,20 +2076,24 @@ static void main_loop(void)
 	sigaddset(&newmask, SIGUSR1);
 #endif
 
+#ifdef BUILD_X11
 #ifdef BUILD_XSHAPE
-	/* allow only decorated windows to be given mouse input */
-	int major_version, minor_version;
-	if (!XShapeQueryVersion(display, &major_version, &minor_version)) {
-		NORM_ERR("Input shapes are not supported");
-	} else {
-		if (own_window.get(*state) &&
-		    (own_window_type.get(*state) != TYPE_NORMAL ||
-		     (TEST_HINT(own_window_hints.get(*state), HINT_UNDECORATED)))) {
-			XShapeCombineRectangles(display, window.window, ShapeInput, 0, 0,
-			   NULL, 0, ShapeSet, Unsorted);
+	if (out_to_x.get(*state)) {
+		/* allow only decorated windows to be given mouse input */
+		int major_version, minor_version;
+		if (!XShapeQueryVersion(display, &major_version, &minor_version)) {
+			NORM_ERR("Input shapes are not supported");
+		} else {
+			if (own_window.get(*state) &&
+					(own_window_type.get(*state) != TYPE_NORMAL ||
+					 (TEST_HINT(own_window_hints.get(*state), HINT_UNDECORATED)))) {
+				XShapeCombineRectangles(display, window.window, ShapeInput, 0, 0,
+						NULL, 0, ShapeSet, Unsorted);
+			}
 		}
 	}
 #endif /* BUILD_XSHAPE */
+#endif /* BUILD_X11 */
 
 	last_update_time = 0.0;
 	next_update_time = get_time() - fmod(get_time(), active_update_interval());