aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-18 20:25:52 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-18 20:25:52 +0800
commiteca67e7d2bd227433eb4b47b499cfcc0106a3eaa (patch)
treeb037f6f2f39ef40b0cfa983ec42efefc87c5d70f /src
parent0263f0a3fa0760afae94909700f8f6c52ec7c750 (diff)
downloadcru-eca67e7d2bd227433eb4b47b499cfcc0106a3eaa.tar.gz
cru-eca67e7d2bd227433eb4b47b499cfcc0106a3eaa.tar.bz2
cru-eca67e7d2bd227433eb4b47b499cfcc0106a3eaa.zip
Fix AutoFreePtr.
Diffstat (limited to 'src')
-rw-r--r--src/platform/gui/xcb/Input.cpp22
-rw-r--r--src/platform/gui/xcb/UiApplication.cpp2
-rw-r--r--src/platform/gui/xcb/Window.cpp16
-rw-r--r--src/ui/render/ScrollBar.cpp4
4 files changed, 22 insertions, 22 deletions
diff --git a/src/platform/gui/xcb/Input.cpp b/src/platform/gui/xcb/Input.cpp
index a07697ae..31c21622 100644
--- a/src/platform/gui/xcb/Input.cpp
+++ b/src/platform/gui/xcb/Input.cpp
@@ -75,7 +75,7 @@ KeyCode XorgKeysymToCruKeyCode(xcb_keysym_t keysym) {
}
}
-std::vector<xcb_keysym_t> XorgKeycodeToKeysyms(XcbUiApplication *application,
+std::vector<xcb_keysym_t> XorgKeycodeToKeysyms(XcbUiApplication* application,
xcb_keycode_t keycode) {
auto connection = application->GetXcbConnection();
auto setup = xcb_get_setup(connection);
@@ -84,7 +84,7 @@ std::vector<xcb_keysym_t> XorgKeycodeToKeysyms(XcbUiApplication *application,
// Get keyboard mapping
auto mapping_cookie = xcb_get_keyboard_mapping(connection, keycode, 1);
- auto mapping_reply = AutoFreePtr(
+ auto mapping_reply = MakeAutoFree(
xcb_get_keyboard_mapping_reply(connection, mapping_cookie, NULL));
if (!mapping_reply) {
@@ -92,7 +92,7 @@ std::vector<xcb_keysym_t> XorgKeycodeToKeysyms(XcbUiApplication *application,
}
auto keysyms_per_keycode = mapping_reply->keysyms_per_keycode;
- auto *keysyms = xcb_get_keyboard_mapping_keysyms(mapping_reply);
+ auto* keysyms = xcb_get_keyboard_mapping_keysyms(mapping_reply.get());
std::vector<xcb_keysym_t> result;
for (int i = 0; i < keysyms_per_keycode; i++) {
@@ -101,7 +101,7 @@ std::vector<xcb_keysym_t> XorgKeycodeToKeysyms(XcbUiApplication *application,
return result;
}
-KeyCode XorgKeycodeToCruKeyCode(XcbUiApplication *application,
+KeyCode XorgKeycodeToCruKeyCode(XcbUiApplication* application,
xcb_keycode_t keycode) {
auto keysyms = XorgKeycodeToKeysyms(application, keycode);
@@ -118,10 +118,10 @@ using KeymapBitset =
std::bitset<sizeof(std::declval<xcb_query_keymap_reply_t>().keys) *
CHAR_BIT>;
-KeymapBitset GetXorgKeymap(xcb_connection_t *connection) {
+KeymapBitset GetXorgKeymap(xcb_connection_t* connection) {
auto keymap_cookie = xcb_query_keymap(connection);
auto keymap_reply =
- AutoFreePtr(xcb_query_keymap_reply(connection, keymap_cookie, NULL));
+ MakeAutoFree(xcb_query_keymap_reply(connection, keymap_cookie, NULL));
if (!keymap_reply) {
throw XcbException("Cannot get keymap.");
@@ -141,7 +141,7 @@ KeymapBitset GetXorgKeymap(xcb_connection_t *connection) {
} // namespace
std::unordered_map<KeyCode, bool> GetKeyboardState(
- XcbUiApplication *application) {
+ XcbUiApplication* application) {
auto connection = application->GetXcbConnection();
auto setup = xcb_get_setup(connection);
auto min_keycode = setup->min_keycode;
@@ -150,7 +150,7 @@ std::unordered_map<KeyCode, bool> GetKeyboardState(
// Get keyboard mapping
auto mapping_cookie = xcb_get_keyboard_mapping(connection, min_keycode,
max_keycode - min_keycode + 1);
- auto mapping_reply = AutoFreePtr(
+ auto mapping_reply = MakeAutoFree(
xcb_get_keyboard_mapping_reply(connection, mapping_cookie, NULL));
if (!mapping_reply) {
@@ -158,7 +158,7 @@ std::unordered_map<KeyCode, bool> GetKeyboardState(
}
auto keysyms_per_keycode = mapping_reply->keysyms_per_keycode;
- auto *keysyms = xcb_get_keyboard_mapping_keysyms(mapping_reply);
+ auto* keysyms = xcb_get_keyboard_mapping_keysyms(mapping_reply.get());
auto keymap = GetXorgKeymap(connection);
@@ -178,7 +178,7 @@ std::unordered_map<KeyCode, bool> GetKeyboardState(
}
// Though X provides GetModifierMapping, it cannot get ALT state.
-KeyModifier GetCurrentKeyModifiers(XcbUiApplication *application) {
+KeyModifier GetCurrentKeyModifiers(XcbUiApplication* application) {
KeyModifier result{};
auto state = GetKeyboardState(application);
if (state[KeyCode::LeftShift] || state[KeyCode::RightShift]) {
@@ -214,7 +214,7 @@ KeyModifier ConvertModifiersOfEvent(uint32_t mask) {
return result;
}
-XcbKeyboardManager::XcbKeyboardManager(XcbUiApplication *application)
+XcbKeyboardManager::XcbKeyboardManager(XcbUiApplication* application)
: application_(application) {
xkb_x11_setup_xkb_extension(
application->GetXcbConnection(), XKB_X11_MIN_MAJOR_XKB_VERSION,
diff --git a/src/platform/gui/xcb/UiApplication.cpp b/src/platform/gui/xcb/UiApplication.cpp
index 5aa7c158..5701d726 100644
--- a/src/platform/gui/xcb/UiApplication.cpp
+++ b/src/platform/gui/xcb/UiApplication.cpp
@@ -89,7 +89,7 @@ xcb_atom_t XcbUiApplication::GetOrCreateXcbAtom(std::string name) {
auto cookie =
xcb_intern_atom(xcb_connection_, false, name.size(), name.data());
auto reply =
- AutoFreePtr(xcb_intern_atom_reply(xcb_connection_, cookie, nullptr));
+ MakeAutoFree(xcb_intern_atom_reply(xcb_connection_, cookie, nullptr));
auto atom = reply->atom;
xcb_atom_.emplace(std::move(name), atom);
return atom;
diff --git a/src/platform/gui/xcb/Window.cpp b/src/platform/gui/xcb/Window.cpp
index 9e1089c9..6728fbbd 100644
--- a/src/platform/gui/xcb/Window.cpp
+++ b/src/platform/gui/xcb/Window.cpp
@@ -190,7 +190,7 @@ Rect XcbWindow::GetClientRect() {
auto window = *xcb_window_;
auto cookie = xcb_get_geometry(application_->GetXcbConnection(), window);
- auto reply = AutoFreePtr(xcb_get_geometry_reply(
+ auto reply = MakeAutoFree(xcb_get_geometry_reply(
application_->GetXcbConnection(), cookie, nullptr));
auto position = GetXcbWindowPosition(window);
@@ -240,7 +240,7 @@ bool XcbWindow::RequestFocus() {
Point XcbWindow::GetMousePosition() {
auto window = xcb_window_.value_or(application_->GetFirstXcbScreen()->root);
auto cookie = xcb_query_pointer(application_->GetXcbConnection(), window);
- auto reply = AutoFreePtr(xcb_query_pointer_reply(
+ auto reply = MakeAutoFree(xcb_query_pointer_reply(
application_->GetXcbConnection(), cookie, nullptr));
return Point(reply->win_x, reply->win_y);
}
@@ -657,7 +657,7 @@ void XcbWindow::DoSetTitle(xcb_window_t window) {
void XcbWindow::DoSetClientRect(xcb_window_t window, const Rect& rect) {
auto tree_cookie = xcb_query_tree(application_->GetXcbConnection(), window);
- auto tree_reply = AutoFreePtr(xcb_query_tree_reply(
+ auto tree_reply = MakeAutoFree(xcb_query_tree_reply(
application_->GetXcbConnection(), tree_cookie, nullptr));
auto parent_position = GetXcbWindowPosition(tree_reply->parent);
@@ -685,15 +685,15 @@ void* XcbWindow::XcbGetProperty(xcb_window_t window, xcb_atom_t property,
std::uint32_t* out_length) {
auto cookie = xcb_get_property(application_->GetXcbConnection(), false,
window, property, type, offset, length);
- auto reply = AutoFreePtr(
+ auto reply = MakeAutoFree(
xcb_get_property_reply(application_->GetXcbConnection(), cookie, NULL));
if (reply->type == XCB_ATOM_NONE) {
return nullptr;
}
if (out_length != nullptr) {
- *out_length = xcb_get_property_value_length(reply);
+ *out_length = xcb_get_property_value_length(reply.get());
}
- return xcb_get_property_value(reply);
+ return xcb_get_property_value(reply.get());
}
std::optional<Thickness> XcbWindow::Get_NET_FRAME_EXTENTS(xcb_window_t window) {
@@ -714,13 +714,13 @@ Point XcbWindow::GetXcbWindowPosition(xcb_window_t window) {
while (true) {
auto cookie = xcb_get_geometry(application_->GetXcbConnection(), window);
- auto reply = AutoFreePtr(xcb_get_geometry_reply(
+ auto reply = MakeAutoFree(xcb_get_geometry_reply(
application_->GetXcbConnection(), cookie, nullptr));
result.x += reply->x;
result.y += reply->y;
auto tree_cookie = xcb_query_tree(application_->GetXcbConnection(), window);
- auto tree_reply = AutoFreePtr(xcb_query_tree_reply(
+ auto tree_reply = MakeAutoFree(xcb_query_tree_reply(
application_->GetXcbConnection(), tree_cookie, nullptr));
window = tree_reply->parent;
// TODO: Multi-screen offset?
diff --git a/src/ui/render/ScrollBar.cpp b/src/ui/render/ScrollBar.cpp
index 4343f15a..79c2ea42 100644
--- a/src/ui/render/ScrollBar.cpp
+++ b/src/ui/render/ScrollBar.cpp
@@ -339,8 +339,8 @@ void ScrollBar::RestoreCursor() {
void ScrollBar::BeginAutoCollapseTimer() {
if (!auto_collapse_timer_canceler_ && IsExpanded()) {
- auto_collapse_timer_canceler_ = GetUiApplication()->SetTimeout(
- kScrollBarAutoCollapseDelay, [this] { this->SetExpanded(false); });
+ auto_collapse_timer_canceler_.Reset(GetUiApplication()->SetTimeout(
+ kScrollBarAutoCollapseDelay, [this] { this->SetExpanded(false); }));
}
}