Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.4, 6.6
-
None
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).