From f09858a1ede0207985752cb0d18b55a4edad1a29 Mon Sep 17 00:00:00 2001 From: Michael Carlberg Date: Tue, 18 Oct 2016 17:53:10 +0200 Subject: [PATCH] fix(controller): Checked request to update root window event mask --- include/components/controller.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/include/components/controller.hpp b/include/components/controller.hpp index 6e3cb525..682e2264 100644 --- a/include/components/controller.hpp +++ b/include/components/controller.hpp @@ -153,8 +153,14 @@ class controller { // Listen for events on the root window to be able to // break the blocking wait call when cleaning up m_log.trace("controller: Listen for events on the root window"); - const uint32_t value_list[1]{XCB_EVENT_MASK_STRUCTURE_NOTIFY}; - m_connection.change_window_attributes(m_connection.root(), XCB_CW_EVENT_MASK, value_list); + + try { + const uint32_t value_list[1]{XCB_EVENT_MASK_STRUCTURE_NOTIFY}; + m_connection.change_window_attributes_checked( + m_connection.root(), XCB_CW_EVENT_MASK, value_list); + } catch (const std::exception& err) { + throw application_error("Failed to change root window event mask: " + string{err.what()}); + } try { m_log.trace("controller: Setup bar renderer");