Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-75605

QtQuick Controls 2 SpinBox styling example crashes

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.15.0 Alpha
    • 5.9.4, 5.12.0
    • Quick: Controls 2
    • 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

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              mitch_curtis Mitch Curtis
              broulik Kai Uwe Broulik
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes