broulik created this revision. broulik added reviewers: Plasma, hein. Restricted Application added a project: Plasma. Restricted Application added a subscriber: plasma-devel. broulik requested review of this revision.
REVISION SUMMARY When moving a horizontal panel around so it becomes vertical, the height of the badge would grow enormous briefly during re-layouting causing a crash in the font engine. TEST PLAN Had KMail sitting in my task bar with a badge, moved the panel from horizontal to vertical. Previously it would reproducibly crash, now it doesn't crash anymore. Backtrace (gdb) bt #0 0x00007fffe389d2a6 in QTransformToFTMatrix (matrix=...) at freetype/qfontengine_ft.cpp:1533 #1 QFontEngineFT::loadGlyphSet (this=0x7ffe50114c90, matrix=...) at freetype/qfontengine_ft.cpp:1547 #2 0x00007fffe389d7e4 in QFontEngineFT::loadGlyphFor (this=this@entry=0x7ffe50114c90, g=g@entry=28, subPixelPosition=..., subPixelPosition@entry=..., format=format@entry=QFontEngine::Format_A8, t=..., fetchBoundingBox=fetchBoundingBox@entry=false, disableOutlineDrawing=true) at freetype/qfontengine_ft.cpp:2058 #3 0x00007fffe389fa26 in QFontEngineFT::alphaMapForGlyph (this=this@entry=0x7ffe50114c90, g=g@entry=28, subPixelPosition=..., subPixelPosition@entry=..., t=...) at freetype/qfontengine_ft.cpp:2089 #4 0x00007fffe389750e in QFontEngineFT::alphaMapForGlyph (this=0x7ffe50114c90, g=28, subPixelPosition=...) at freetype/qfontengine_ft.cpp:2082 #5 0x00007ffff26d851f in QFontEngine::alphaMapForGlyph (this=this@entry=0x7ffe50114c90, glyph=glyph@entry=28, subPixelPosition=..., subPixelPosition@entry=..., t=...) at text/qfontengine.cpp:879 #6 0x00007fffe389fba0 in QFontEngineFT::alphaMapForGlyph (this=this@entry=0x7ffe50114c90, g=g@entry=28, subPixelPosition=..., subPixelPosition@entry=..., t=...) at freetype/qfontengine_ft.cpp:2100 #7 0x00007fffe389750e in QFontEngineFT::alphaMapForGlyph (this=0x7ffe50114c90, g=28, subPixelPosition=...) at freetype/qfontengine_ft.cpp:2082 #8 0x00007ffff26d851f in QFontEngine::alphaMapForGlyph (this=this@entry=0x7ffe50114c90, glyph=glyph@entry=28, subPixelPosition=..., subPixelPosition@entry=..., t=...) at text/qfontengine.cpp:879 #9 0x00007fffe389fba0 in QFontEngineFT::alphaMapForGlyph (this=this@entry=0x7ffe50114c90, g=g@entry=28, subPixelPosition=..., subPixelPosition@entry=..., t=...) at freetype/qfontengine_ft.cpp:2100 #10 0x00007fffe389750e in QFontEngineFT::alphaMapForGlyph (this=0x7ffe50114c90, g=28, subPixelPosition=...) at freetype/qfontengine_ft.cpp:2082 #11 0x00007ffff26d851f in QFontEngine::alphaMapForGlyph (this=this@entry=0x7ffe50114c90, glyph=glyph@entry=28, subPixelPosition=..., subPixelPosition@entry=..., t=...) at text/qfontengine.cpp:879 #12 0x00007fffe389fba0 in QFontEngineFT::alphaMapForGlyph (this=this@entry=0x7ffe50114c90, g=g@entry=28, subPixelPosition=..., subPixelPosition@entry=..., t=...) at freetype/qfontengine_ft.cpp:2100 and so on REPOSITORY R119 Plasma Desktop REVISION DETAIL https://phabricator.kde.org/D10586 AFFECTED FILES applets/taskmanager/package/contents/ui/Badge.qml To: broulik, #plasma, hein Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart