From b49d0ca20e4378db1e9abeb661d72f4c8c070db9 Mon Sep 17 00:00:00 2001 From: Jasson Date: Thu, 19 Jun 2025 13:44:38 -0400 Subject: xwayland: Fix crash when copying from wayland to xwayland (#10786) --- src/xwayland/XSurface.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/xwayland/XSurface.cpp') diff --git a/src/xwayland/XSurface.cpp b/src/xwayland/XSurface.cpp index 71e710b3..d9419794 100644 --- a/src/xwayland/XSurface.cpp +++ b/src/xwayland/XSurface.cpp @@ -13,15 +13,15 @@ CXWaylandSurface::CXWaylandSurface(uint32_t xID_, CBox geometry_, bool OR) : m_x xcb_res_query_client_ids_cookie_t client_id_cookie = {0}; if (g_pXWayland->m_wm->m_xres) { xcb_res_client_id_spec_t spec = {.client = m_xID, .mask = XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID}; - client_id_cookie = xcb_res_query_client_ids(g_pXWayland->m_wm->m_connection, 1, &spec); + client_id_cookie = xcb_res_query_client_ids(g_pXWayland->m_wm->getConnection(), 1, &spec); } uint32_t values[1]; values[0] = XCB_EVENT_MASK_FOCUS_CHANGE | XCB_EVENT_MASK_PROPERTY_CHANGE; - xcb_change_window_attributes(g_pXWayland->m_wm->m_connection, m_xID, XCB_CW_EVENT_MASK, values); + xcb_change_window_attributes(g_pXWayland->m_wm->getConnection(), m_xID, XCB_CW_EVENT_MASK, values); if (g_pXWayland->m_wm->m_xres) { - xcb_res_query_client_ids_reply_t* reply = xcb_res_query_client_ids_reply(g_pXWayland->m_wm->m_connection, client_id_cookie, nullptr); + xcb_res_query_client_ids_reply_t* reply = xcb_res_query_client_ids_reply(g_pXWayland->m_wm->getConnection(), client_id_cookie, nullptr); if (!reply) return; @@ -169,7 +169,7 @@ void CXWaylandSurface::configure(const CBox& box) { uint32_t mask = XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y | XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT | XCB_CONFIG_WINDOW_BORDER_WIDTH; uint32_t values[] = {box.x, box.y, box.width, box.height, 0}; - xcb_configure_window(g_pXWayland->m_wm->m_connection, m_xID, mask, values); + xcb_configure_window(g_pXWayland->m_wm->getConnection(), m_xID, mask, values); if (m_geometry.width == box.width && m_geometry.height == box.height) { // ICCCM requires a synthetic event when window size is not changed @@ -184,12 +184,12 @@ void CXWaylandSurface::configure(const CBox& box) { e.border_width = 0; e.above_sibling = XCB_NONE; e.override_redirect = m_overrideRedirect; - xcb_send_event(g_pXWayland->m_wm->m_connection, false, m_xID, XCB_EVENT_MASK_STRUCTURE_NOTIFY, (const char*)&e); + xcb_send_event(g_pXWayland->m_wm->getConnection(), false, m_xID, XCB_EVENT_MASK_STRUCTURE_NOTIFY, (const char*)&e); } g_pXWayland->m_wm->updateClientList(); - xcb_flush(g_pXWayland->m_wm->m_connection); + xcb_flush(g_pXWayland->m_wm->getConnection()); } void CXWaylandSurface::activate(bool activate) { @@ -211,7 +211,7 @@ void CXWaylandSurface::setMinimized(bool mz) { void CXWaylandSurface::restackToTop() { uint32_t values[1] = {XCB_STACK_MODE_ABOVE}; - xcb_configure_window(g_pXWayland->m_wm->m_connection, m_xID, XCB_CONFIG_WINDOW_STACK_MODE, values); + xcb_configure_window(g_pXWayland->m_wm->getConnection(), m_xID, XCB_CONFIG_WINDOW_STACK_MODE, values); auto& stack = g_pXWayland->m_wm->m_mappedSurfacesStacking; auto it = std::ranges::find(stack, m_self); @@ -221,7 +221,7 @@ void CXWaylandSurface::restackToTop() { g_pXWayland->m_wm->updateClientList(); - xcb_flush(g_pXWayland->m_wm->m_connection); + xcb_flush(g_pXWayland->m_wm->getConnection()); } void CXWaylandSurface::close() { @@ -242,7 +242,7 @@ void CXWaylandSurface::setWithdrawn(bool withdrawn_) { else props[0] = XCB_ICCCM_WM_STATE_NORMAL; - xcb_change_property(g_pXWayland->m_wm->m_connection, XCB_PROP_MODE_REPLACE, m_xID, HYPRATOMS["WM_STATE"], HYPRATOMS["WM_STATE"], 32, props.size(), props.data()); + xcb_change_property(g_pXWayland->m_wm->getConnection(), XCB_PROP_MODE_REPLACE, m_xID, HYPRATOMS["WM_STATE"], HYPRATOMS["WM_STATE"], 32, props.size(), props.data()); } void CXWaylandSurface::ping() { -- cgit v1.2.3