summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/conky/files/conky-1.10.7-out_to_x-segfault.patch')
-rw-r--r--app-admin/conky/files/conky-1.10.7-out_to_x-segfault.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/app-admin/conky/files/conky-1.10.7-out_to_x-segfault.patch b/app-admin/conky/files/conky-1.10.7-out_to_x-segfault.patch
new file mode 100644
index 000000000000..fef22ac46e50
--- /dev/null
+++ b/app-admin/conky/files/conky-1.10.7-out_to_x-segfault.patch
@@ -0,0 +1,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());