It looks like the bug is in QtBase: in the XCB plugin, the handleConfigureNotifyEvent() method initially wants to find out what is the new screen for the window, but due to a bug, it gets a NULL screen and decides to return from the function without processing the size changes. The reason for the failure (that is, the reason why we get NULL as a screen) is that the parentScreen() method doesn't take foreign windows into account: when we are embedding windows with the XEMBED protocol, the parent window is the embedder, which might live in another process; Qt does not know anything about this window other than its numeric ID, meaning that it doesn't know its screen either.
Therefore, we need to special-case these windows, and make sure that parentScreen() returns a sensible value. Note that the patch doesn't need upstreaming: the Qt 5.6 code is already quite different (it doesn't even call the parentScreen() method here) and might be already fine. I'll test it with a local build, and report a bug to the Qt bugtracker in case. ** Patch added: "Patch for qtbase" https://bugs.launchpad.net/webapps-sprint/+bug/1564767/+attachment/4622777/+files/xcb_fix_parent_screen_of_embedded_windows.patch ** Also affects: qtbase-opensource-src (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1564767 Title: Wrong size of embedded window To manage notifications about this bug go to: https://bugs.launchpad.net/webapps-sprint/+bug/1564767/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
