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

[REG 5.2 -> 5.3] QImage's move semantics versions of rgbSwapped() and mirrored() methods break backwards compatibility

    XMLWordPrintable

Details

    Description

      When creating code that will call move semantics versions of QImage::rgbSwapped() and QImage::mirrored(), it will break backwards compatibility between 5.2 and 5.3. The move semantics version of these methods are not documented at all.

      Steps to reproduce:

      • Run attached sample
      • EXPECTED: No problems are detected
      • ACTUAL: rgbSwapped() and mirrored() methods will access the temporary QImage buffers directly, which will cause program to later access memory that is already released.

      This problem is most easily detected with Visual Studio, debug build. Also Valgrind will detect the invalid memory access.

      Attachments

        1. qtbug53721_valgrind.txt
          99 kB
          Friedemann Kleint
        2. qtbug53721.zip
          30 kB
          Friedemann Kleint
        3. qtbug53721.zip
          30 kB
          Jussi Witick

        Issue Links

          For Gerrit Dashboard: QTBUG-53721
          # Subject Branch Project Status CR V

          Activity

            People

              vgt Eirik Aavitsland
              jussi_witick Jussi Witick
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes