From efce9cc6dbbeece12fe348ec742f9c501459d37d Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Sun, 31 Aug 2025 22:25:12 +0800 Subject: Init XcbUiApplication. --- include/cru/platform/gui/xcb/UiApplication.h | 1 + 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 + #include 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 -- cgit v1.2.3