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

Crash new to 4.7 on mac when measuring a non-printable character in a font

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 4.7.0
    • 4.7.0
    • GUI: Font handling
    • None
    • OS X 10.6.3
    • macOS
    • 346b680ab51776e6660df635b0921637f727cc75

    Description

      This crash has just appeared as I've switched from 4.6.2 to 4.7 tech preview. There's a simple reproducible case (attached). This affects the Mac (tested on 10.6.3). Windows works ok. The nature of the bug is that it will crash if you try to measure a non-printable character in a font. Previous 4.6.x behaviour was to return an empty QRect

      #0 0x03433fca in QTextEngine::logClusters at qtextengine_p.h:500
      #1 0x0354c198 in QTextEngine::shapeTextMac at qtextengine_mac.cpp:602
      #2 0x0354c528 in QTextEngine::shapeText at qtextengine.cpp:870
      #3 0x0354caf1 in QTextEngine::shape at qtextengine.cpp:1358
      #4 0x0354dfe8 in QTextEngine::tightBoundingBox at qtextengine.cpp:1673
      #5 0x0352408d in QFontMetricsF::tightBoundingRect at qfontmetrics.cpp:1631
      #6 0x001917a1 in GuiFont::CharacterSize at GuiFont.cpp:649
      #7 0x007e06e8 in Symbol::CalculateSizes at Symbol.cpp:277
      #8 0x007e0ad6 in Symbol::SetSize at Symbol.cpp:229
      #9 0x007e0fad in Symbol::By at Symbol.cpp:610
      #10 0x005589e8 in Accidental::Accidental at Accidental.cpp:38
      #11 0x006c0db1 in NoteRest::AddSingleAcc at NoteRest_Draw.cpp:677
      #12 0x006c1268 in NoteRest::FindAccidentals at NoteRest_Draw.cpp:591
      #13 0x006c41f8 in NoteRest::UpdateBeams at NoteRest_Draw.cpp:2832
      #14 0x006c4f56 in NoteRest::UpdateBeams at NoteRest_Draw.cpp:2807
      #15 0x007004d5 in NoteRest::AlterTrackState at NoteRest.cpp:3730
      #16 0x0059e433 in Bar::FindTrackState at Bar.cpp:1701
      #17 0x0091b047 in Bar::FindTrackState at Bar.h:706
      #18 0x0091698c in TrackStateRegistry::UpdateTrackStateTo at TrackStateRegistry.cpp:413
      #19 0x00916c6c in TrackStateRegistry::UpdateTrackStateToBar at TrackStateRegistry.cpp:353
      #20 0x00912a19 in TrackStateGetter::UpdateToBar at TrackStateGetter.cpp:119
      #21 0x0091312c in TrackStateGetter::TrackStateGetter at TrackStateGetter.cpp:41
      #22 0x0054f385 in StaveTypeFinder::GetStaveType at StaveTypeFinder.cpp:57
      #23 0x009311c0 in MusicCopyHelper::DoBasicCopy at MusicCopyHelper.cpp:175
      #24 0x003f0fe2 in Score::RewriteBetweenTheseBars at Score_Selection.cpp:1512
      #25 0x003f1635 in Score::RewriteToNextTimeSignature at Score_Selection.cpp:1472
      #26 0x004bb2a9 in MusicTestCase::TestTimeSignatureCreation at MusicTestCase.cpp:846

      Attachments

        Issue Links

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

          Activity

            People

              esabraha Eskil Abrahamsen Blomfeldt
              paul_walmsley Paul Walmsley
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes