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

QTriangulator crashes when using large numbers as coordinates in a ShapePath

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 5.15.2
    • Quick: Shapes
    • None

    Description

      Short description:  When large numbers are used as coordinates for a PathLine or a PathPolyLine in a ShapePath the app crashes

       

      Long description: In my application I want to draw a dynamic spectrum with data from a hardware sensor. The returned fft values of the vibration sensor have nearly the whole range of 32 bit unsigned integers. I calculate either a logarithmic scale or draw raw linear data.

      The used PathPolyLine should show the single amplitudes as Y where X are the frequencies. The plot should be filled. With mid range values (about 10.000.000) several warnings

      Inconsistent polygon. (#3)

      are printed. With higher values the app crashed.

      With the help of the debugger i figured out the responsible code is in QTriangulator<T>::ComplexToSimple::removeUnwantedEdgesAndConnect()

      On my Linux machine this minimal snipped already crashes:

      ShapePath {
          strokeColor: "red"
          fillColor: "blue"
      //  fillColor: "transparent"
      
          PathLine { x: 200; y: 200 }
          PathLine { x: 30; y: 100000000 }
          PathLine { x: 10000000; y: 30 }
      }
      

      Is the fillColor set to transparent everything works fine.

      Attachments

        Activity

          People

            lagocs Laszlo Agocs
            molecule Falk Süß
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: