From 5ed77ed046873f9df293753b05a4c5eee0b1f61d Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Mon, 8 Oct 2012 10:34:09 +0200 Subject: [PATCH] crash fix in designersupport Unless result is an insert iterator, qCopy() assumes that all iterators in the range [result + (finish - start)] are dereferenceable. This is not the case for an empty list. Using foreach instead. Change-Id: I2212a88e9b462ae2220ba5aeb43c662592cec57f Reviewed-by: Marco Bubke --- src/quick/designer/designersupport.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/quick/designer/designersupport.cpp b/src/quick/designer/designersupport.cpp index 5584a24..c06e8f0 100644 --- a/src/quick/designer/designersupport.cpp +++ b/src/quick/designer/designersupport.cpp @@ -363,7 +363,10 @@ QList DesignerSupport::statesForItem(QQuickItem *item) { QList objectList; QList stateList = QQuickItemPrivate::get(item)->_states()->states(); - qCopy(stateList.begin(), stateList.end(), objectList.begin()); + + objectList.reserve(stateList.size()); + foreach (QQuickState* state, stateList) + objectList.append(state); return objectList; } -- 2.7.4