Details
-
Bug
-
Resolution: Duplicate
-
P1: Critical
-
None
-
5.7, 5.8
-
None
-
Android 6, Moto E3. Moto G4, Samsung Galaxy S7
Description
When using unicode emojis inside a text element in RichtText Mode on Android, it likely produces a segfault in OpenGl
crashes when inserting certain unicode( e.g. U+1F508) symbols into TextEdit:
TextArea { id: messageInput textFormat: TextEdit.PlainText placeholderText: "message" wrapMode: TextArea.Wrap Layout.fillWidth: true activeFocusOnPress: true focus: focusMessageInput background: Rectangle { radius: 2 border.color: "grey" } }
I get:
I SurfaceView: updateWindow -- setFrame, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V InputMethodManager: START INPUT: org.qtproject.qt5.android.QtEditText{5be412e VFED..... .F...... 240,1066-592,1128} ic=org.qtproject.qt5.android.QtInputConnection@5a5ecb tba=android.view.inputmethod.EditorInfo@b5e66a8 controlFlags=#100 V InputMethodManager: START INPUT: org.qtproject.qt5.android.QtEditText{5be412e VFED..... .F...... 240,1066-592,1128} ic=org.qtproject.qt5.android.QtInputConnection@86915c1 tba=android.view.inputmethod.EditorInfo@da54166 controlFlags=#0 I [MALI][Gralloc]: [+]r_hnd(0x99f0a4e0), client(28), share_fd(61) D GraphicBuffer: register, handle(0x99f0a4e0) (w:720 h:1280 s:720 f:0x1 u:0x000b00) I SurfaceView: updateWindow -- setFrame, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ......I. 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ......I. 0,0-720,1136 #1} I SurfaceView: updateWindow -- setFrame, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ......I. 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ......I. 0,0-720,1136 #1} I SurfaceView: Punch a hole(dispatchDraw), w = 720, h = 1136, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -42 - 720, 1094), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-42 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -208 - 720, 928), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-208 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -315 - 720, 821), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-315 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -398 - 720, 738), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-398 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -421 - 720, 715), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-421 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -432 - 720, 704), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-432 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -437 - 720, 699), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-437 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -439 - 720, 697), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-439 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -441 - 720, 695), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-441 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I System : FinalizerDaemon: finalize objects = 2095 I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Changes: creating=false format=false size=false visible=false left=false top=true mUpdateWindowNeeded=false mReportDrawNeeded=false redrawNeeded=false forceSizeChanged=false mVisible=true mRequestedVisible=true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: Cur surface: Surface(name=null)/@0x7ea06af, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: New surface: Surface(name=null)/@0x7085abc, vis=true, frame=Rect(0, -442 - 720, 694), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} V SurfaceView: Layout: x=0 y=-442 w=720 h=1136, frame=Rect(0, 0 - 720, 1136), this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} I SurfaceView: updateWindow -- OnPreDrawListener, mHaveFrame = true, this = org.qtproject.qt5.android.QtSurface{665ee8e V.E...... ........ 0,0-720,1136 #1} F libc : Fatal signal 11 (SIGSEGV), code 2, fault addr 0x99e3da38 in tid 6832 (QtThread)
the same thing happens very often but not always, with Text inside ListView :
Text { id: messageText smooth:true text: model.msg font.family: "opensans" font.pointSize: fonts.baseFontSize textFormat: Text.RichText color: "black" // anchors.fill: parent wrapMode: Text.Wrap onLinkActivated: { Qt.openUrlExternally(link) } }
Attachments
Issue Links
- duplicates
-
QTBUG-61604 Android Emojis crash in High DPI mode
- Closed
- relates to
-
QTBUG-56700 Crash when inputting emojis on Android
- Closed
-
QTBUG-61604 Android Emojis crash in High DPI mode
- Closed