修复 get_window_class_instance 函数中的内存释放错误

This commit is contained in:
2025-09-03 00:22:47 +08:00
parent 55c3fa1156
commit 9dfcf62c3c

View File

@@ -43,7 +43,8 @@ void get_window_class_instance(xcb_window_t window,
xcb_icccm_get_wm_class_reply_t prop;
const char *class = NULL;
const char *instance = NULL;
if (xcb_icccm_get_wm_class_reply(conn, cookie, &prop, NULL)) {
bool has_reply = xcb_icccm_get_wm_class_reply(conn, cookie, &prop, NULL);
if (has_reply) {
class = prop.class_name;
instance = prop.instance_name;
} else {
@@ -54,7 +55,7 @@ void get_window_class_instance(xcb_window_t window,
strncpy(class_instance->class, class, LENGTH(class_instance->class));
strncpy(class_instance->instance, instance, LENGTH(class_instance->instance));
xcb_icccm_get_wm_class_reply_wipe(&prop);
if (has_reply) xcb_icccm_get_wm_class_reply_wipe(&prop);
}
static visual_t *find_alpha_visual() {