Summary: | Kirigami Icon crashes in RowLayout without explicit width/height | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kirigami | Reporter: | mtmcp |
Component: | general | Assignee: | Marco Martin <notmart> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | nate |
Priority: | NOR | ||
Version: | Master | ||
Target Milestone: | Not decided | ||
Platform: | unspecified | ||
OS: | All | ||
Latest Commit: | https://commits.kde.org/kirigami/fcae16b30b0626a40d7eaf49c3571f3d3af0630b | Version Fixed In: | 5.68 |
Description
mtmcp
2020-02-18 21:26:59 UTC
Git commit fcae16b30b0626a40d7eaf49c3571f3d3af0630b by Arjen Hiemstra. Committed on 20/02/2020 at 11:42. Pushed by ahiemstra into branch 'master'. Do not crash when icon's width or height is 0 Summary: When Icon's width or height is 0, I get a crash with the following backtrace: #0 0x00007ffff7b9cd30 in QSGTexture::setFiltering(QSGTexture::Filtering) () from /usr/lib/libQt5Quick.so.5 #1 0x00007ffff7bd439c in QSGOpaqueTextureMaterialShader::updateState(QSGMaterialShader::RenderState const&, QSGMaterial*, QSGMaterial*) () from /usr/lib/libQt5Quick.so.5 #2 0x00007ffff7bb7857 in QSGBatchRenderer::Renderer::renderMergedBatch(QSGBatchRenderer::Batch const*) () from /usr/lib/libQt5Quick.so.5 #3 0x00007ffff7bbd5b6 in QSGBatchRenderer::Renderer::renderBatches() () from /usr/lib/libQt5Quick.so.5 #4 0x00007ffff7bbdcc5 in QSGBatchRenderer::Renderer::render() () from /usr/lib/libQt5Quick.so.5 #5 0x00007ffff7ba1832 in QSGRenderer::renderScene(QSGBindable const&) () from /usr/lib/libQt5Quick.so.5 #6 0x00007ffff7ba1d14 in QSGRenderer::renderScene(unsigned int) () from /usr/lib/libQt5Quick.so.5 #7 0x00007ffff7c10713 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () from /usr/lib/libQt5Quick.so.5 #8 0x00007ffff7c7b3a1 in QQuickWindowPrivate::renderSceneGraph(QSize const&, QSize const&) () from /usr/lib/libQt5Quick.so.5 This patch prevents Icon from doing anything when width or height is 0, avoiding the crash. FIXED-IN: 5.68 Test Plan: The following QML code, when ran through qmlscene, no longer crashes: ``` import QtQuick 2.12 import org.kde.kirigami 2.11 as Kirigami Item { Kirigami.Icon { source: "document-new" } } ``` Reviewers: #kirigami, davidedmundson Reviewed By: davidedmundson Subscribers: ngraham, davidedmundson, plasma-devel Tags: #kirigami Differential Revision: https://phabricator.kde.org/D27505 M +1 -1 src/icon.cpp https://commits.kde.org/kirigami/fcae16b30b0626a40d7eaf49c3571f3d3af0630b |