Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9.4, 5.12.0
-
None
-
80f1186338bcf8c7d692b4fadfc46531c002c6b0
Description
Using the code from the QtQuick Controls SpinBox styling example crashes when using Material or QQC2-desktop-style from KDE, seems to work fine with Universal style: https://doc.qt.io/qt-5/qtquickcontrols2-customize.html#customizing-spinbox
Run the following code in qmlscene (copied from the link above) using QT_QUICK_CONTROLS_STYLE=Material
import QtQuick 2.12 import QtQuick.Controls 2.12 SpinBox { id: control value: 50 editable: true contentItem: TextInput { z: 2 text: control.textFromValue(control.value, control.locale) font: control.font color: "#21be2b" selectionColor: "#21be2b" selectedTextColor: "#ffffff" horizontalAlignment: Qt.AlignHCenter verticalAlignment: Qt.AlignVCenter readOnly: !control.editable validator: control.validator inputMethodHints: Qt.ImhFormattedNumbersOnly } up.indicator: Rectangle { x: control.mirrored ? 0 : parent.width - width height: parent.height implicitWidth: 40 implicitHeight: 40 color: control.up.pressed ? "#e4e4e4" : "#f6f6f6" border.color: enabled ? "#21be2b" : "#bdbebf" Text { text: "+" font.pixelSize: control.font.pixelSize * 2 color: "#21be2b" anchors.fill: parent fontSizeMode: Text.Fit horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter } } down.indicator: Rectangle { x: control.mirrored ? parent.width - width : 0 height: parent.height implicitWidth: 40 implicitHeight: 40 color: control.down.pressed ? "#e4e4e4" : "#f6f6f6" border.color: enabled ? "#21be2b" : "#bdbebf" Text { text: "-" font.pixelSize: 10//control.font.pixelSize * 2 color: "#21be2b" anchors.fill: parent fontSizeMode: Text.Fit horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter } } background: Rectangle { implicitWidth: 140 border.color: "#bdbebf" } }
Backtrace:
#6 0x00007f956ed94791 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #7 0x00007f956ed6fcc3 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #8 0x00007f956ed10329 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #9 0x00007f956d5e365f in QMetaObject::activate (sender=0x561b3ce27930, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3647 #10 0x00007f956f347551 in QQuickItem::geometryChanged(QRectF const&, QRectF const&) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #11 0x00007f956013f4bc in QQuickControl::geometryChanged(QRectF const&, QRectF const&) () from /usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5 #12 0x00007f956f341e4d in QQuickItem::setImplicitHeight(double) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #13 0x00007f956f351f74 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #14 0x00007f956ed976be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #15 0x00007f956ed983f7 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #16 0x00007f956ed94953 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #17 0x00007f956ed6fcc3 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #18 0x00007f956ed10329 in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #19 0x00007f956d5e365f in QMetaObject::activate (sender=0x561b3ce1dcb0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3647 #20 0x00007f956f348634 in QQuickItemPrivate::implicitHeightChanged() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #21 0x00007f956f341d8e in QQuickItem::setImplicitHeight(double) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #22 0x00007f956f3bc004 in QQuickTextInputPrivate::updateLayout() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #23 0x00007f956f3bd722 in QQuickTextInput::componentComplete() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #24 0x00007f956eda2173 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #25 0x00007f956ed24421 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #26 0x00007f956ed244d7 in QQmlComponentPrivate::completeDeferred(QQmlEnginePrivate*, QQmlComponentPrivate::DeferredState*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #27 0x00007f956013f902 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5 #28 0x00007f956013790b in QQuickControlPrivate::executeContentItem(bool) () from /usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5 #29 0x00007f956013f1e1 in QQuickControl::componentComplete() () from /usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5 #30 0x00007f956017577f in QQuickSpinBox::componentComplete() () from /usr/lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5 #31 0x00007f956eda2173 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #32 0x00007f956ed24421 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #33 0x00007f956ed24532 in QQmlComponentPrivate::completeCreate() () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #34 0x00007f956ed24312 in QQmlComponent::create(QQmlContext*) () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
Attachments
Issue Links
- relates to
-
QTBUG-72085 Rethink how we manage the lifetime of controls' building blocks
- Closed