Changeset View
Changeset View
Standalone View
Standalone View
xembed-sni-proxy/fdoselectionmanager.cpp
Show First 20 Lines • Show All 152 Lines • ▼ Show 20 Line(s) | 150 | } else if (responseType == m_damageEventBase + XCB_DAMAGE_NOTIFY) { | |||
---|---|---|---|---|---|
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) { | 157 | } else if (responseType == XCB_CONFIGURE_REQUEST) { | ||
158 | const auto event = reinterpret_cast<xcb_configure_request_event_t *>(ev); | 158 | const auto event = reinterpret_cast<xcb_configure_request_event_t *>(ev); | ||
159 | const auto sniProxy = m_proxies.value(event->window); | 159 | const auto sniProxy = m_proxies.value(event->window); | ||
160 | if (sniProxy) { | 160 | if (sniProxy) { | ||
161 | // The embedded window tries to move or resize. Ignore this request and send the current configuration. | 161 | // The embedded window tries to move or resize. Ignore move, handle resize only. | ||
162 | sniProxy->sendConfigureNotification(); | 162 | if ((event->value_mask & XCB_CONFIG_WINDOW_WIDTH) || (event->value_mask & XCB_CONFIG_WINDOW_HEIGHT)) { | ||
163 | sniProxy->resizeWindow(event->width, event->height); | ||||
164 | } | ||||
163 | } | 165 | } | ||
164 | } | 166 | } | ||
165 | 167 | | |||
166 | return false; | 168 | return false; | ||
167 | } | 169 | } | ||
168 | 170 | | |||
169 | void FdoSelectionManager::dock(xcb_window_t winId) | 171 | void FdoSelectionManager::dock(xcb_window_t winId) | ||
170 | { | 172 | { | ||
▲ Show 20 Lines • Show All 89 Lines • Show Last 20 Lines |