Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.4.0
-
None
-
Qt 5.4 on iPhone 4S (iOS 7.1)
-
-
ce4a759
Description
When the model of a QtQuick.Controls ComboBox is changed while the native UIPickerView is opened, interacting with the view (ie. scrolling) will crash the application.
Run the following qml file on an iOS device, click the "Crash me" button and tap the ComboBox. When the Timer has fired, scroll in the Pickerview. This will crash.
import QtQuick 2.4 import QtQuick.Controls 1.3 Column { Timer { id: crashTimer interval: 2000 onTriggered: { console.log("Crash timer triggered") combobox.model = ["bla", "blaaa", "blaaaaa"] } } Button { onClicked: crashTimer.start() text: "Crash me!" } ComboBox { id: combobox model: ["foo", "bar", "baz"] } }
Backtrace
0 QArrayData::data() qarraydata.h 53 0x158efa 1 QTypedArrayData<unsigned short>::data() qarraydata.h 199 0x6f119e 2 QString::unicode() const qstring.h 793 0x7800b8 3 QString::toNSString() const qstring_mac.mm 82 0xc4705e 4 -[QUIPickerView pickerView:titleForRow:forComponent:] qiosmenu.mm 187 0xff0e6 5 -[UIPickerView _delegateTitleForRow:forComponent:] -[UIPickerView _delegateTitleForRow:forComponent:] 0x327f3428 6 -[UIPickerView tableView:cellForRowAtIndexPath:] -[UIPickerView tableView:cellForRowAtIndexPath:] 0x327f6684 7 -[UIPickerColumnView tableView:cellForRowAtIndexPath:] -[UIPickerColumnView tableView:cellForRowAtIndexPath:] 0x32af569e 8 -[UITableView _createPreparedCellForGlobalRow:withIndexPath:] -[UITableView _createPreparedCellForGlobalRow:withIndexPath:] 0x326b58f6 9 -[UITableView _updateVisibleCellsNow:] -[UITableView _updateVisibleCellsNow:] 0x3265cc26 10 -[UITableView layoutSubviews] -[UITableView layoutSubviews] 0x3265c47c 11 -[UIPickerTableView layoutSubviews] -[UIPickerTableView layoutSubviews] 0x32a4b924 12 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] -[UIView(CALayerDelegate) layoutSublayersOfLayer:] 0x32582d58 13 -[CALayer layoutSublayers] -[CALayer layoutSublayers] 0x3220062a 14 CA::Layer::layout_if_needed(CA::Transaction*) CA::Layer::layout_if_needed(CA::Transaction*) 0x321fbe3a 15 CA::Layer::layout_and_display_if_needed(CA::Transaction*) CA::Layer::layout_and_display_if_needed(CA::Transaction*) 0x321fbccc 16 CA::Context::commit_transaction(CA::Transaction*) CA::Context::commit_transaction(CA::Transaction*) 0x321fb6de 17 CA::Transaction::commit() CA::Transaction::commit() 0x321fb4ee 18 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) 0x321f521c 19 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ 0x2fd31254 ... <Mehr>