54 lines
1.9 KiB
Diff
54 lines
1.9 KiB
Diff
The below patch matches the following URL, else something is wrong.
|
|
https://github.com/brndnmtthws/conky/pull/455
|
|
Committed by Vaelatern
|
|
|
|
From b0f02c20a039f6c33dbc631102bf7d891f620bcc Mon Sep 17 00:00:00 2001
|
|
From: Brenden Matthews <brenden@diddyinc.com>
|
|
Date: Tue, 23 Jan 2018 08:04:39 -0500
|
|
Subject: [PATCH] Fix segfault when out_to_x = false.
|
|
|
|
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
|
|
--- src/conky.cc
|
|
+++ 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());
|