@@ -34,6 +34,8 @@ void CWindowXCB::CDispatchThread::work(lock_t& lock){
3434 }
3535 auto & xcb = m_window.m_windowManager ->getXcbFunctionTable ();
3636 auto & connection = m_window.m_connection ;
37+ auto & windowHandle = m_window.m_handle ;
38+
3739
3840 auto MW_DELETE_WINDOW = connection->resolveAtom (m_window.m_WM_DELETE_WINDOW );
3941 auto NET_WM_PING = connection->resolveAtom (m_window.m_NET_WM_PING );
@@ -62,7 +64,7 @@ void CWindowXCB::CDispatchThread::work(lock_t& lock){
6264 }
6365 case XCB_DESTROY_WINDOW: {
6466 xcb_destroy_window_request_t * dwr = reinterpret_cast <xcb_destroy_window_request_t *>(event);
65- if (dwr->window == m_window. m_handle .m_window ) {
67+ if (dwr->window == windowHandle .m_window ) {
6668 m_quit = true ;
6769 eventCallback->onWindowClosed (&m_window);
6870 }
@@ -71,19 +73,19 @@ void CWindowXCB::CDispatchThread::work(lock_t& lock){
7173 case XCB_CLIENT_MESSAGE: {
7274 xcb_client_message_event_t * cme = reinterpret_cast <xcb_client_message_event_t *>(event);
7375 if (cme->data .data32 [0 ] == MW_DELETE_WINDOW) {
74- xcb.pxcb_unmap_window (m_window. getXcbConnection (), m_window. m_handle .m_window );
75- xcb.pxcb_destroy_window (m_window. getXcbConnection (), m_window. m_handle .m_window );
76- xcb.pxcb_flush (m_window. getXcbConnection () );
77- m_window. m_handle .m_window = 0 ;
76+ xcb.pxcb_unmap_window (windowHandle. m_connection , windowHandle .m_window );
77+ xcb.pxcb_destroy_window (windowHandle. m_connection , windowHandle .m_window );
78+ xcb.pxcb_flush (windowHandle. m_connection );
79+ windowHandle .m_window = 0 ;
7880 m_quit = true ; // we need to quit the dispatch thread
7981 eventCallback->onWindowClosed (&m_window);
8082 } else if (cme->data .data32 [0 ] == NET_WM_PING && cme->window != connection->primaryScreen ()->root ) {
8183 xcb_client_message_event_t ev = *cme;
8284 ev.response_type = XCB_CLIENT_MESSAGE;
8385 ev.window = m_window.m_handle .m_window ;
8486 ev.type = NET_WM_PING;
85- xcb.pxcb_send_event (m_window. getXcbConnection () , 0 , m_window.m_handle .m_window , XCB_EVENT_MASK_NO_EVENT, reinterpret_cast <const char *>(&ev));
86- xcb.pxcb_flush (m_window. getXcbConnection () );
87+ xcb.pxcb_send_event (windowHandle. m_connection , 0 , m_window.m_handle .m_window , XCB_EVENT_MASK_NO_EVENT, reinterpret_cast <const char *>(&ev));
88+ xcb.pxcb_flush (windowHandle. m_connection );
8789 }
8890 break ;
8991 }
0 commit comments