D10586: [Task Manager] Limit badge label to a sane size

Kai Uwe Broulik noreply at phabricator.kde.org
Fri Feb 16 16:11:23 UTC 2018


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 at entry=0x7ffe50114c90, g=g at entry=28, subPixelPosition=..., subPixelPosition at entry=...,       
        format=format at entry=QFontEngine::Format_A8, t=..., fetchBoundingBox=fetchBoundingBox at entry=false, disableOutlineDrawing=true)                            
        at freetype/qfontengine_ft.cpp:2058                                                                                                                      
    #3  0x00007fffe389fa26 in QFontEngineFT::alphaMapForGlyph (this=this at entry=0x7ffe50114c90, g=g at entry=28, subPixelPosition=..., subPixelPosition at 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 at entry=0x7ffe50114c90, glyph=glyph at entry=28, subPixelPosition=...,                         
        subPixelPosition at entry=..., t=...) at text/qfontengine.cpp:879                                                                                           
    #6  0x00007fffe389fba0 in QFontEngineFT::alphaMapForGlyph (this=this at entry=0x7ffe50114c90, g=g at entry=28, subPixelPosition=..., subPixelPosition at 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 at entry=0x7ffe50114c90, glyph=glyph at entry=28, subPixelPosition=...,                         
        subPixelPosition at entry=..., t=...) at text/qfontengine.cpp:879                                                                                           
    #9  0x00007fffe389fba0 in QFontEngineFT::alphaMapForGlyph (this=this at entry=0x7ffe50114c90, g=g at entry=28, subPixelPosition=..., subPixelPosition at 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 at entry=0x7ffe50114c90, glyph=glyph at entry=28, subPixelPosition=...,                         
        subPixelPosition at entry=..., t=...) at text/qfontengine.cpp:879                                                                                           
    #12 0x00007fffe389fba0 in QFontEngineFT::alphaMapForGlyph (this=this at entry=0x7ffe50114c90, g=g at entry=28, subPixelPosition=..., subPixelPosition at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180216/00e2cd35/attachment-0001.html>


More information about the Plasma-devel mailing list