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

qdbusxml2cpp generates files with invalid include name

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.5.0 Beta3, 6.5.0
    • 6.5.0 Beta1, 6.5.0 Beta2
    • Build tools: Other
    • None
    • cb9ae6ace (6.5)

    Description

      qdbusxml2cpp generates cpp with invalid include since 6.5.0b1. For example, with this XML input:

      <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
      <!--
        SPDX-License-Identifier: CC0-1.0
        SPDX-FileCopyrightText: none
      -->
      <node>
        <interface name="org.kde.KIOFuse.VFS">
          <method name="remoteUrl">
            <arg type="s" direction="out"/>
            <arg name="localPath" type="s" direction="in"/>
          </method>
          <method name="mountUrl">
            <arg name="remoteUrl" type="s" direction="in"/>
            <arg type="s" direction="out"/>
          </method>
        </interface>
      </node>
      

      Using the following command:

      qdbusxml2cpp -N -m -p org.kde.KIOFuse.VFS test.xml
      

      The output cpp contains an #include line that refers to a non-existent file (with a seemingly incomplete name):

      #include "moc_org.cpp"
      

      This has actually been fixed with https://codereview.qt-project.org/c/qt/qtbase/+/448711 but the cherry-picking process failed, so it still affects the 6.5 branch.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qtbuildsystem Qt Build System Team
            hexchain Haochen Tong
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes