diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index e9d5c42a90237d6df9199d9cde060740b21fc483..abc050cf4c994fc82a08720473b567cb754ecec5 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -1309,7 +1309,7 @@ QtMessageLogItem *QmlEngine::constructLogItemTree( QtMessageLogItem *child = constructLogItemTree(item, i.value(), i.key()); if (child) - item->insertChildSorted(child); + item->insertChild(child); } } else if (result.type() == QVariant::List) { if (key.isEmpty()) @@ -1321,7 +1321,7 @@ QtMessageLogItem *QmlEngine::constructLogItemTree( QtMessageLogItem *child = constructLogItemTree(item, resultList.at(i), QString::number(i)); if (child) - item->insertChildSorted(child); + item->insertChild(child); } } else if (result.canConvert(QVariant::String)) { item->text = result.toString(); diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp index 58121ddc07283aa1065f6fce7b62efc613499d1e..01910e1bd5c287e964f099ad4dc7ab47deaf691d 100644 --- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp +++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp @@ -995,7 +995,7 @@ QtMessageLogItem *QmlV8DebuggerClientPrivate::constructLogItemTree( QtMessageLogItem *child = constructLogItemTree( item, extractData(property, refsVal), refsVal); if (child) - item->insertChildSorted(child); + item->insertChild(child); } return item; diff --git a/src/plugins/debugger/qtmessageloghandler.cpp b/src/plugins/debugger/qtmessageloghandler.cpp index 5080d8efc9526d484d20222c545f488665c3ce7e..3ca2d33bfa01b072c0202063d1906636b0c06fd8 100644 --- a/src/plugins/debugger/qtmessageloghandler.cpp +++ b/src/plugins/debugger/qtmessageloghandler.cpp @@ -31,6 +31,8 @@ **************************************************************************/ #include "qtmessageloghandler.h" +#include "debuggercore.h" +#include "debuggeractions.h" #include <utils/qtcassert.h> @@ -94,8 +96,13 @@ bool QtMessageLogItem::insertChildren(int position, int count) return true; } -void QtMessageLogItem::insertChildSorted(QtMessageLogItem *item) +void QtMessageLogItem::insertChild(QtMessageLogItem *item) { + if (!debuggerCore()->boolSetting(SortStructMembers)) { + m_childItems.insert(m_childItems.count(), item); + return; + } + int i = 0; for (; i < m_childItems.count(); i++) { if (item->text < m_childItems[i]->text) { diff --git a/src/plugins/debugger/qtmessageloghandler.h b/src/plugins/debugger/qtmessageloghandler.h index b76d85d043bc3437b0fd58cc9adf071247b52528..6e84f67a18956fdbfd53a999306ab823d324db0d 100644 --- a/src/plugins/debugger/qtmessageloghandler.h +++ b/src/plugins/debugger/qtmessageloghandler.h @@ -126,7 +126,7 @@ public: QtMessageLogItem *child(int number); int childCount() const; bool insertChildren(int position, int count); - void insertChildSorted(QtMessageLogItem *item); + void insertChild(QtMessageLogItem *item); bool insertChild(int position, QtMessageLogItem *item); QtMessageLogItem *parent(); bool removeChildren(int position, int count);