Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.6.2
-
None
-
Windows 7 SP1, Windows 10.
-
6965b8a59217e5f1db9e5986d6ccc8f5ff5f4e9c (5.8), 951ead089dcb45510a19f5b309d67c4cbe3de956 (5.6)
Description
QDistanceField crashed with Bodoni 72(see attached files) font and Cyrillic characters.
Steps to reproduce:
1. Download and unpack the demo project.
2. Install attached font.
3. Run the application.
4. Enter Cyrillic 'п' characters.
5. Click 'Cleanup Cache' button.
6. Enter more Cyrillic 'п' characters.
7. Click 'Cleanup Cache' button again.
8. Select all text 'Ctrl+A'.
Actual result:
Crash occurs. Please see Qt_5_6_2.avi.
Expected result:
Nо crash should happen.
Please see also behavior on Qt 5.6.1-1(Qt_5_6_1_1.avi).
Regression caused by QTBUG-52389.
Crash callstack:
1 drawPolygons qdistancefield.cpp 468 0x7fed8a629b7 2 makeDistanceField qdistancefield.cpp 524 0x7fed8a62f5c 3 QDistanceFieldData::create qdistancefield.cpp 813 0x7fed8a62578 4 QDistanceField::QDistanceField qdistancefield.cpp 847 0x7fed8a61bce 5 QSGDistanceFieldGlyphCache::update qsgadaptationlayer.cpp 174 0x7fed8f32831 6 QSGDistanceFieldGlyphNode::preprocess qsgdistancefieldglyphnode.cpp 161 0x7fed8f3c898 7 QSGRenderer::preprocess qsgrenderer.cpp 274 0x7fed8f25bc0 8 QSGRenderer::renderScene qsgrenderer.cpp 199 0x7fed8f25e52 9 QSGRenderer::renderScene qsgrenderer.cpp 179 0x7fed8f260bd 10 QSGRenderContext::renderNextFrame qsgcontext.cpp 557 0x7fed8f36166 11 QQuickWindowPrivate::renderSceneGraph qquickwindow.cpp 424 0x7fed8f750e6 12 QSGWindowsRenderLoop::renderWindow qsgwindowsrenderloop.cpp 453 0x7fed8f4e3c8 13 QSGWindowsRenderLoop::render qsgwindowsrenderloop.cpp 372 0x7fed8f4dd52 14 QSGWindowsRenderLoop::event qsgwindowsrenderloop.cpp 352 0x7fed8f4d19e 15 QApplicationPrivate::notify_helper qapplication.cpp 3805 0x52687bd2 16 QApplication::notify qapplication.cpp 3646 0x52686aef 17 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1015 0x57aafff9 18 QEventDispatcherWin32Private::sendTimerEvent qeventdispatcher_win.cpp 653 0x57af846c 19 QEventDispatcherWin32::event qeventdispatcher_win.cpp 1281 0x57af62d8 20 QApplicationPrivate::notify_helper qapplication.cpp 3805 0x52687bd2 21 QApplication::notify qapplication.cpp 3646 0x52686aef 22 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1015 0x57aafff9 23 QCoreApplicationPrivate::sendPostedEvents qcoreapplication.cpp 1650 0x57ab1d7e 24 QWindowsGuiEventDispatcher::sendPostedEvents qwindowsguieventdispatcher.cpp 76 0x7fede52310f 25 qt_internal_proc qeventdispatcher_win.cpp 438 0x57af7445 26 TranslateMessageEx USER32 0x77749bd1 27 TranslateMessage USER32 0x777498da 28 QEventDispatcherWin32::processEvents qeventdispatcher_win.cpp 838 0x57af6bb9 29 QWindowsGuiEventDispatcher::processEvents qwindowsguieventdispatcher.cpp 69 0x7fede5230e9 30 QEventLoop::exec qeventloop.cpp 205 0x57aac911 31 QCoreApplication::exec qcoreapplication.cpp 1285 0x57aaedf7 32 main main.cpp 170 0x13f33b45b