diff options
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.patch | 49 |
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()); |