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

StackLayout and hidden Qt3D Entity makes app freeze

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 5.14.2
    • Qt3D, Quick: Layouts
    • None
    • Ubuntu 18.04
    • Android, Linux/Other display system

    Description

      Bumped into a freeze issue with StackLayout and Qt3D in qml if the scene is initially hidden:

      • main.qml:
        ...
        TabBar {
          id: bar
          anchors.right: parent.right
          anchors.left: parent.left
        
          TabButton {
            text: "Capture"
          }
          TabButton {
            text: "Edit"
          }
        }
        StackLayout {
          anchors.top: bar.bottom
          anchors.bottom: parent.bottom
          anchors.right: parent.right
          anchors.left: parent.left
        
          Capture {
            id: capture
          }
          Edit {
            id: edit
          }
        }
        ...
        
      • Edit.qml:
        ...
        PointCloudView {
          id: pointCloudView
          anchors.fill: parent
          visible: root_edit.visible
        }
        ...
        
      • PointCloudView.qml:
        ...
        Scene3D {
          Entity {
            ...
          }
        }
        

      So when it's starting on android - the application is freezing when the first Capture is visible. Also there is a number of warnings produced:

      D Handy 3D Scanner: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
      D Handy 3D Scanner: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
      I chatty  : uid=10351(io.stateoftheart.handy3dscanner) QtThread identical 1 line
      D Handy 3D Scanner: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
      D Handy 3D Scanner: QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
      D Handy 3D Scanner: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
      D Handy 3D Scanner: QOpenGLFramebufferObject: Framebuffer incomplete attachment.
      D Handy 3D Scanner: QOpenGLFramebufferObject: Framebuffer incomplete, missing attachment.
      

      UI becomes inaccessible, 2 touches on tabs produces the next logs with no UI changes:

      D ViewRootImpl@c8d6c6d[Handy3DScannerActivity]: ViewPostIme pointer 0
      D ViewRootImpl@c8d6c6d[Handy3DScannerActivity]: ViewPostIme pointer 1
      D ViewRootImpl@c8d6c6d[Handy3DScannerActivity]: ViewPostIme pointer 0
      D ViewRootImpl@c8d6c6d[Handy3DScannerActivity]: ViewPostIme pointer 1
      

      Workaround: If I set `currentIndex: 1` - everything is fine and UI is available, switching between the tabs working too.

      Attachments

        Issue Links

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

          Activity

            People

              seanharmer Sean Harmer
              rabits Rabit
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes