refactor(backend/X11): 将 event_reset 调用移到事件分发处

This commit is contained in:
2026-04-27 01:05:10 +08:00
parent 2ab4a84236
commit 19e97b730b

View File

@@ -91,7 +91,6 @@ static bool handle_map_request(
) { ) {
xcb_window_t window = xcb_event->window; xcb_window_t window = xcb_event->window;
event_reset(event);
event->type = ZDWM_EVENT_WINDOW_MAP_REQUEST; event->type = ZDWM_EVENT_WINDOW_MAP_REQUEST;
window_map_request_event_t *ev = &event->as.window_map_request; window_map_request_event_t *ev = &event->as.window_map_request;
@@ -170,7 +169,6 @@ static bool handle_unmap_notify(
event_t *event, event_t *event,
const xcb_unmap_notify_event_t *xcb_event const xcb_unmap_notify_event_t *xcb_event
) { ) {
event_reset(event);
event->type = ZDWM_EVENT_WINDOW_REMOVE; event->type = ZDWM_EVENT_WINDOW_REMOVE;
event->as.window_remove.window = xcb_event->window; event->as.window_remove.window = xcb_event->window;
event->as.window_remove.reason = ZDWM_WINDOW_REMOVE_WITHDRAWN; event->as.window_remove.reason = ZDWM_WINDOW_REMOVE_WITHDRAWN;
@@ -183,7 +181,6 @@ static bool handle_destroy_notify(
event_t *event, event_t *event,
const xcb_destroy_notify_event_t *xcb_event const xcb_destroy_notify_event_t *xcb_event
) { ) {
event_reset(event);
event->type = ZDWM_EVENT_WINDOW_REMOVE; event->type = ZDWM_EVENT_WINDOW_REMOVE;
event->as.window_remove.window = xcb_event->window; event->as.window_remove.window = xcb_event->window;
event->as.window_remove.reason = ZDWM_WINDOW_REMOVE_DESTROY; event->as.window_remove.reason = ZDWM_WINDOW_REMOVE_DESTROY;
@@ -196,7 +193,6 @@ static bool handle_configure_request(
event_t *event, event_t *event,
const xcb_configure_request_event_t *xcb_event const xcb_configure_request_event_t *xcb_event
) { ) {
event_reset(event);
event->type = ZDWM_EVENT_CONFIGURE_REQUEST; event->type = ZDWM_EVENT_CONFIGURE_REQUEST;
/* TODO: */ /* TODO: */
return true; return true;
@@ -217,6 +213,7 @@ bool backend_next_event(backend_t *backend, event_t *event) {
switch (response_type) { switch (response_type) {
#define EVENT(type, handler) \ #define EVENT(type, handler) \
case type: \ case type: \
event_reset(event); \
handled = handler(backend, event, (void *)raw_event); \ handled = handler(backend, event, (void *)raw_event); \
break break