Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-36446

QX11EmbedContainer XEMBED_EMBEDDED_NOTIFY message contains wrong arguments

    XMLWordPrintable

Details

    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.

      Attachments

        Activity

          People

            liaqi Liang Qi
            slackner Sebastian Lackner
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: