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

QOpenGLWidget as QGraphicsView viewport crashes Qt on Android

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.4, 6.6
    • GUI: OpenGL
    • None
    • Android

    Description

      Setting QGraphicsView viewport to QOpenGLWidget:

      setViewport(new QOpenGLWidget);
      

      crashes Qt with the following Android log:

      I ViewRootImpl@13cd1d9[Activity]: ViewPostIme pointer 1
      I ImeTracker: org.gpxsee.gpxsee:d06d6732: onRequestHide at ORIGIN_CLIENT_HIDE_SOFT_INPUT reason HIDE_SOFT_INPUT
      I InputMethodManager_LC: hsifw() - flag : 0
      I InputMethodManager_LC: hsifw() - mService.hideSoftInput
      W gpxsee  : QAndroidPlatformBackingStore does not support OpenGL-only windows.
      I SurfaceView@31a19a7: onWindowVisibilityChanged(0) true org.qtproject.qt.android.QtSurface{31a19a7 V.E...... ......I. 0,0-0,0 #2} of ViewRootImpl@13cd1d9[Activity]
      D SurfaceView@31a19a7: 52042151 updateSurface: has no frame
      D SurfaceView@31a19a7: 52042151 updateSurface: has no frame
      I SurfaceView: 52042151 Changes: creating=true format=true size=true visible=true alpha=false hint=false visible=true left=true top=true z=false attached=true lifecycleStrategy=false
      I BLASTBufferQueue_Java: update, w= 1080 h= 1971 mName = null mNativeObject= 0x7420d9d590 sc.mNativeObject= 0x73d0d6a490 format= 1 caller= android.view.SurfaceView.createBlastSurfaceControls:1511 android.view.SurfaceView.updateSurface:1187 android.view.SurfaceView.lambda$new$0:258 android.view.SurfaceView.$r8$lambda$cm3nmzErr-srXoT_KjIYQgdhFN0:0 android.view.SurfaceView$$ExternalSyntheticLambda2.onPreDraw:2 android.view.ViewTreeObserver.dispatchOnPreDraw:1204
      I SurfaceView@31a19a7: 52042151 Cur surface: Surface(name=null)/@0x417fe54
      I SurfaceView@31a19a7: pST: sr = Rect(0, 225 - 1080, 2196) sw = 1080 sh = 1971
      D SurfaceView@31a19a7: 52042151 performSurfaceTransaction RenderWorker position = [0, 225, 1080, 2196] surfaceSize = 1080x1971
      I SurfaceView@31a19a7: updateSurface: mVisible = true mSurface.isValid() = true
      I SurfaceView@31a19a7: updateSurface: mSurfaceCreated = false surfaceChanged = true visibleChanged = true
      I SurfaceView: 52042151 visibleChanged -- surfaceCreated
      I SurfaceView@31a19a7: surfaceCreated 1 #8 org.qtproject.qt.android.QtSurface{31a19a7 V.E...... ......ID 0,0-1080,1971 #2}
      I SurfaceView: 52042151 surfaceChanged -- format=1 w=1080 h=1971
      I SurfaceView@31a19a7: surfaceChanged (1080,1971) 1 #8 org.qtproject.qt.android.QtSurface{31a19a7 V.E...... ......ID 0,0-1080,1971 #2}
      I SurfaceView: 52042151 surfaceRedrawNeeded
      W vulkan  : CreateSwapchainKHR(VkSwapchainCreateInfoKHR.imageColorSpace = 1000104013) failed: Unsupported color space, but assume as Success for ANGLE.
      I SurfaceView: 52042151 finishedDrawing
      V SurfaceView@31a19a7: Layout: x=0 y=225 w=1080 h=1971, frame=Rect(0, 0 - 1080, 1971)
      I ViewRootImpl@13cd1d9[Activity]: registerCallbackForPendingTransactions
      D SurfaceView: 52042151 updateSurfacePosition RenderWorker, frameNr = 23, position = [0, 225, 1080, 2196] surfaceSize = 1080x1971
      I SurfaceView@31a19a7: uSP: rtp = Rect(0, 225 - 1080, 2196) rtsw = 1080 rtsh = 1971
      I SurfaceView@31a19a7: onSSPAndSRT: pl = 0 pt = 225 sx = 1.0 sy = 1.0
      I SurfaceView@31a19a7: aOrMT: ViewRootImpl@13cd1d9[Activity] t = android.view.SurfaceControl$Transaction@9d9eef2 fN = 23 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1660 android.graphics.RenderNode$CompositePositionUpdateListener.positionChanged:369
      I ViewRootImpl@13cd1d9[Activity]: mWNT: t=0x72d0d85cb0 mBlastBufferQueue=0x7420d5e430 fn= 23 caller= android.view.SurfaceView.applyOrMergeTransaction:1592 android.view.SurfaceView.-$$Nest$mapplyOrMergeTransaction:0 android.view.SurfaceView$SurfaceViewPositionUpdateListener.positionChanged:1660
      I ViewRootImpl@13cd1d9[Activity]: mWNT: t=0x72d0d885f0 mBlastBufferQueue=0x7420d5e430 fn= 23 caller= android.view.ViewRootImpl$6.onFrameDraw:5539 android.view.ViewRootImpl$2.onFrameDraw:2103 android.view.ThreadedRenderer$1.onFrameDraw:788
      I GestureDetector: handleMessage TAP
      F libc    : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfffffff9 in tid 13859 (qtMainLoopThrea), pid 13835 (g.gpxsee.gpxsee)
      

       
      For a sample app, see the GPXSee Android build (select "Use OpenGL" in GPXsee->Preferences->System which does exactly that one line viewport change).

      Attachments

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

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            tumic Martin Tůma
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes