touch browser crashes when invoking contextual menu in landscape orientation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-ui-toolkit (Ubuntu) |
Fix Released
|
Critical
|
Cris Dywan | ||
webbrowser-app (Ubuntu) |
Fix Released
|
Critical
|
Unassigned |
Bug Description
copy text works fine in portrait, crashes in landscape..
to reproduce exactly, was looking up how to sync my google calendar on https:/
tried to copy one of the text boxes containing terminal commands - crashes every time in landscape mode
TEST CASE
1. Launch the web browser and open the amazon.com
2. Rotate the device to landscape orientation
3. Tap on the screen and hold your finger for a while
ACTUAL RESULT
Observe that webbrowser-app disappeared (closed or crashed)
EXPECTED RESULT
No Crash
---
1 - OS version 15.04 r111 (has been occurring over several updates though)
1a- installed on nexus 4 via multirom
2 - webbrowser-app version 0.23+15.
3 - i expected to get the selected text copied to the clipboard so i could paste it into the terminal
4 - browser shut down and i was returned to the apps launcher
Related branches
- PS Jenkins bot: Needs Fixing (continuous-integration)
- Leo Arias (community): Approve
- Tim Peeters: Approve
- Zsombor Egri: Pending requested
-
Diff: 664 lines (+304/-37)19 files modifiedmodules/Ubuntu/Components/1.3/MainView.qml (+1/-0)
modules/Ubuntu/Components/1.3/MainViewBase.qml (+19/-0)
modules/Ubuntu/Components/1.3/OrientationHelper.qml (+3/-9)
modules/Ubuntu/Components/1.3/TextCursor.qml (+10/-1)
modules/Ubuntu/Components/Popups/1.2/popupUtils.js (+1/-1)
modules/Ubuntu/Components/Popups/1.3/PopupBase.qml (+6/-7)
modules/Ubuntu/Components/plugin/plugin.cpp (+0/-7)
modules/Ubuntu/Components/plugin/ucapplication.cpp (+41/-1)
modules/Ubuntu/Components/plugin/ucapplication.h (+5/-0)
tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_mainview.py (+13/-0)
tests/autopilot/ubuntuuitoolkit/tests/components/test_popover.py (+44/-0)
tests/autopilot/ubuntuuitoolkit/tests/components/test_popover.qml (+56/-5)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.header.qml (+1/-1)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.py (+26/-0)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textarea.qml (+3/-1)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield.qml (+11/-3)
tests/autopilot/ubuntuuitoolkit/tests/components/test_textinput.textfield_custom.qml (+3/-1)
tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_main_view.orientation.qml (+29/-0)
tests/autopilot/ubuntuuitoolkit/tests/custom_proxy_objects/test_main_view.py (+32/-0)
Changed in ubuntu-ui-toolkit (Ubuntu): | |
assignee: | nobody → Christian Dywan (kalikiana) |
status: | Confirmed → Triaged |
importance: | Undecided → Critical |
tags: | added: landscape |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
assignee: | Christian Dywan (kalikiana) → Daniel d'Andrada (dandrader) |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
assignee: | Daniel d'Andrada (dandrader) → Christian Dywan (kalikiana) |
description: | updated |
no longer affects: | webbrowser-app |
Changed in webbrowser-app (Ubuntu): | |
importance: | Undecided → Critical |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
status: | In Progress → Fix Released |
I can reliably reproduce the issue. Here is the backtrace of the crash:
#0 0xb6cc5fb4 in validityError (source=0x0, position=0x0, this=0xb88dd6c0) at io/qurl.cpp:1562 entry=0xb88dd5c 4, options=...) at io/qurl.cpp:3208 :QQmlExpression (this=0xbed12c00, script=..., ctxt=<optimized out>, <optimized out>, parent=0x0) at qml/qqmlexpress ion.cpp: 152 ionPrivate: :execute (this=<optimized out>) at util/qquickanim ation.cpp: 990 ionJob: :setState (this=0xb890abb8, newState= QAbstractAnimat ionJob: :Running) qabstractanimat ionjob. cpp:360 ationGroupJob: :activateCurren tAnimation (this=0xb88e9e60, e=<optimized out>) at animations/ qsequentialanim ationgroupjob. cpp:310 ationGroupJob: :uncontrolledAn imationFinished (this=0xb88e9e60, animation= 0xb889bcd8) qsequentialanim ationgroupjob. cpp:326 ionJob: :finished (this=this@ entry=0xb889bcd 8) qabstractanimat ionjob. cpp:594 ionJob: :setState (this=0xb889bcd8, newState@ entry=QAbstract AnimationJob: :Stopped) at animations/ qabstractanimat ionjob. cpp:393 ionJob: :stop (this=this@ entry=0xb889bcd 8) at animations/ qabstractanimat ionjob. cpp:530 roxyJob: :setWindow (this=0xb889bcd0, window=0x0) at util/qquickanim atorjob. cpp:150 :activate (sender=0xb88dde48, signalOffset= <optimized out>, signal_ index=local_ signal_ index@entry= 11, argv=argv@ entry=0xbed12df c) at kernel/ qobject. cpp:3716 :activate (sender=<optimized out>, m=<optimized out>, signal_ index=local_ signal_ index@entry= 11, argv=argv@ entry=0xbed12df c) at kernel/ qobject. cpp:3582 :windowChanged (this=<optimized out>, _t1=0x0) at .moc/moc_ qquickitem. cpp:1036 te::derefWindow (this=0xb88de0d8) at items/qquickite m.cpp:2861 te::derefWindow (this=this@ entry=0xb88dda1 0) at items/qquickite m.cpp:2854 :setParentItem (this=this@ entry=0xb88dd9f 8, parentItem= parentItem@ entry=0x0) m.cpp:2539 :~QQuickItem (this=0xb88dd9f8, __in_chrg= <optimized out>) at items/qquickite m.cpp:2240 <optimized out>) QtQml/. ./../src/ qml/qml/ qqmlprivate. h:98 :QQmlElement< QQuickItem> ::~QQmlElement (this=0xb88dd9f8, __in_chrg= <optimized out>) QtQml/. ./../src/ qml/qml/ qqmlprivate. h:98 entry=0xb88dd9f 8, e=e@entry= 0xb890b1e8) at kernel/ qobject. cpp:1236 m.cpp:7305 vate::notify_ helper (this...
#1 QUrl::isValid (this=0xb88dd5c4) at io/qurl.cpp:1807
#2 0xb6ccae42 in QUrl::toString (this=this@
#3 0xb677119c in QQmlExpression:
scope=
#4 0xb64295e4 in QQuickScriptAct
#5 0xb67f5fca in QAbstractAnimat
at animations/
#6 0xb67f705c in QSequentialAnim
intermediat
#7 0xb67f70e4 in QSequentialAnim
at animations/
#8 0xb67f56ec in QAbstractAnimat
at animations/
#9 0xb67f6064 in QAbstractAnimat
newState=
#10 0xb67f6100 in QAbstractAnimat
#11 0xb6459918 in QQuickAnimatorP
#12 0xb6d54a00 in QMetaObject:
local_
#13 0xb6d54d96 in QMetaObject:
local_
#14 0xb6499ec4 in QQuickItem:
#15 0xb64a3ec8 in QQuickItemPriva
#16 0xb64a3e90 in QQuickItemPriva
#17 0xb64a48e0 in QQuickItem:
at items/qquickite
#18 0xb64a4bac in QQuickItem:
#19 0xb64b514c in ~QQmlElement (this=0xb88dd9f8, __in_chrg=
at ../../include/
#20 QQmlPrivate:
at ../../include/
#21 0xb6d556c2 in QObject::event (this=this@
#22 0xb64a24d0 in QQuickItem::event (this=0xb88dd9f8, ev=0xb890b1e8) at items/qquickite
#23 0xb5f9fbc4 in QApplicationPri