From abc4e968869b99d924a09e059b96f5be706c1933 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Thu, 5 Jan 2017 15:25:13 +0100 Subject: [PATCH] Debugger: Don't fetch more data for console after engine shutdown The engine might not exist anymore. Change-Id: I7a542de7fb8b160d71a1650d37263e4433f97003 Reviewed-by: hjk --- src/plugins/debugger/console/console.cpp | 1 + src/plugins/debugger/console/consoleitemmodel.cpp | 12 +++++++++++- src/plugins/debugger/console/consoleitemmodel.h | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/console/console.cpp b/src/plugins/debugger/console/console.cpp index 747e6ee06fd..a15a97b2193 100644 --- a/src/plugins/debugger/console/console.cpp +++ b/src/plugins/debugger/console/console.cpp @@ -249,6 +249,7 @@ void Console::writeSettings() const void Console::setScriptEvaluator(const ScriptEvaluator &evaluator) { m_scriptEvaluator = evaluator; + m_consoleItemModel->setCanFetchMore(bool(m_scriptEvaluator)); if (!m_scriptEvaluator) setContext(QString()); } diff --git a/src/plugins/debugger/console/consoleitemmodel.cpp b/src/plugins/debugger/console/consoleitemmodel.cpp index bf4a5c1f6f3..ea36932f305 100644 --- a/src/plugins/debugger/console/consoleitemmodel.cpp +++ b/src/plugins/debugger/console/consoleitemmodel.cpp @@ -39,7 +39,7 @@ namespace Internal { ConsoleItemModel::ConsoleItemModel(QObject *parent) : Utils::TreeModel<>(new ConsoleItem, parent), - m_maxSizeOfFileName(0) + m_maxSizeOfFileName(0), m_canFetchMore(false) { clear(); } @@ -51,6 +51,16 @@ void ConsoleItemModel::clear() emit selectEditableRow(index(0, 0, QModelIndex()), QItemSelectionModel::ClearAndSelect); } +void ConsoleItemModel::setCanFetchMore(bool canFetchMore) +{ + m_canFetchMore = canFetchMore; +} + +bool ConsoleItemModel::canFetchMore(const QModelIndex &parent) const +{ + return m_canFetchMore && TreeModel::canFetchMore(parent); +} + void ConsoleItemModel::appendItem(ConsoleItem *item, int position) { if (position < 0) diff --git a/src/plugins/debugger/console/consoleitemmodel.h b/src/plugins/debugger/console/consoleitemmodel.h index 023b69ec329..0dadb3945fc 100644 --- a/src/plugins/debugger/console/consoleitemmodel.h +++ b/src/plugins/debugger/console/consoleitemmodel.h @@ -53,11 +53,15 @@ public: void clear(); + void setCanFetchMore(bool canFetchMore); + bool canFetchMore(const QModelIndex &parent) const override; + signals: void selectEditableRow(const QModelIndex &index, QItemSelectionModel::SelectionFlags flags); private: int m_maxSizeOfFileName; + bool m_canFetchMore; }; } // Internal