diff options
-rw-r--r-- | include/cru/platform/gui/xcb/UiApplication.h | 1 | ||||
-rw-r--r-- | src/platform/gui/xcb/UiApplication.cpp | 13 |
2 files changed, 9 insertions, 5 deletions
diff --git a/include/cru/platform/gui/xcb/UiApplication.h b/include/cru/platform/gui/xcb/UiApplication.h index a58a538f..d8702087 100644 --- a/include/cru/platform/gui/xcb/UiApplication.h +++ b/include/cru/platform/gui/xcb/UiApplication.h @@ -60,5 +60,6 @@ class XcbUiApplication : public XcbResource, public virtual IUiApplication { private: xcb_connection_t* xcb_; + xcb_screen_t* screen_; }; } // namespace cru::platform::gui::xcb diff --git a/src/platform/gui/xcb/UiApplication.cpp b/src/platform/gui/xcb/UiApplication.cpp index baa36abe..6cd0a177 100644 --- a/src/platform/gui/xcb/UiApplication.cpp +++ b/src/platform/gui/xcb/UiApplication.cpp @@ -1,4 +1,5 @@ #include <cru/platform/gui/xcb/UiApplication.h> + #include <xcb/xcb.h> namespace cru::platform::gui::xcb { @@ -6,15 +7,17 @@ XcbUiApplication::XcbUiApplication() { int screen_num; xcb_connection_t *connection = xcb_connect(NULL, &screen_num); this->CheckXcbConnectionError(); + const xcb_setup_t *setup = xcb_get_setup(connection); xcb_screen_iterator_t iter = xcb_setup_roots_iterator(setup); - xcb_screen_t *screen = iter.data; + this->screen_ = iter.data; } XcbUiApplication::~XcbUiApplication() { xcb_disconnect(this->xcb_); } -void XcbUiApplication::CheckXcbConnectionError() { -if (xcb_connection_has_error(this->xcb_)) { - throw XcbException(); -}} +void XcbUiApplication::CheckXcbConnectionError() { + if (xcb_connection_has_error(this->xcb_)) { + throw XcbException("xcb_connection_has_error returned non-zero."); + } +} } // namespace cru::platform::gui::xcb |