Details
-
Bug
-
Resolution: Out of scope
-
P2: Important
-
None
-
4.8.5
Description
In order to stay compatible with other XEmbed applications, QTs behaviour should match exactly the specification available here: http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html#id2925130
The embedder's window handle should be passed as 'data1', but the current implementation passes this argument as 'detail', see:
https://qt.gitorious.org/qt/qt/source/c90855d246bcbef0e93cc9469a92a09ec13b90ce:src/gui/kernel/qx11embed_x11.cpp#L1708
By replacing
sendXEmbedMessage(client, q->x11Info().display(), XEMBED_EMBEDDED_NOTIFY, q->internalWinId(), minversion);
with
sendXEmbedMessage(client, q->x11Info().display(), XEMBED_EMBEDDED_NOTIFY, 0, q->internalWinId(), minversion);
this problem should be resolved.
NOTES:
- It haven't checked all QT versions, but its very likely that it also effects all other versions with QX11EmbedContainer support.
- The problem was discovered over here: http://bugs.winehq.org/show_bug.cgi?id=35347. There are most likely some more errors in the XEmbed implementation, but I will open separate bug reports for each problem, if such issues can and will be fixed.