Changeset View
Changeset View
Standalone View
Standalone View
xembed-sni-proxy/fdoselectionmanager.cpp
Show First 20 Lines • Show All 148 Lines • ▼ Show 20 Line(s) | 145 | } else if (responseType == XCB_DESTROY_NOTIFY) { | |||
---|---|---|---|---|---|
149 | } | 149 | } | ||
150 | } else if (responseType == m_damageEventBase + XCB_DAMAGE_NOTIFY) { | 150 | } else if (responseType == m_damageEventBase + XCB_DAMAGE_NOTIFY) { | ||
151 | const auto damagedWId = reinterpret_cast<xcb_damage_notify_event_t *>(ev)->drawable; | 151 | const auto damagedWId = reinterpret_cast<xcb_damage_notify_event_t *>(ev)->drawable; | ||
152 | const auto sniProxy = m_proxies.value(damagedWId); | 152 | const auto sniProxy = m_proxies.value(damagedWId); | ||
153 | if (sniProxy) { | 153 | if (sniProxy) { | ||
154 | sniProxy->update(); | 154 | sniProxy->update(); | ||
155 | xcb_damage_subtract(QX11Info::connection(), m_damageWatches[damagedWId], XCB_NONE, XCB_NONE); | 155 | xcb_damage_subtract(QX11Info::connection(), m_damageWatches[damagedWId], XCB_NONE, XCB_NONE); | ||
156 | } | 156 | } | ||
157 | } else if (responseType == XCB_CONFIGURE_REQUEST) { | ||||
158 | const auto event = reinterpret_cast<xcb_configure_request_event_t *>(ev); | ||||
159 | const auto sniProxy = m_proxies.value(event->window); | ||||
160 | if (sniProxy) { | ||||
161 | // The embedded window tries to move or resize. Ignore this request and send the current configuration. | ||||
162 | sniProxy->sendConfigureNotification(); | ||||
163 | } | ||||
157 | } | 164 | } | ||
158 | 165 | | |||
159 | return false; | 166 | return false; | ||
160 | } | 167 | } | ||
161 | 168 | | |||
162 | void FdoSelectionManager::dock(xcb_window_t winId) | 169 | void FdoSelectionManager::dock(xcb_window_t winId) | ||
163 | { | 170 | { | ||
164 | qCDebug(SNIPROXY) << "trying to dock window " << winId; | 171 | qCDebug(SNIPROXY) << "trying to dock window " << winId; | ||
▲ Show 20 Lines • Show All 88 Lines • Show Last 20 Lines |