From 63b3abae842fd3b017ba7d7dabb93aff73434653 Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Thu, 30 Apr 2009 21:40:06 +0200 Subject: [PATCH] Factor a loop into findByFileName(). This hides the container of the SourceWindow pointers from the callers. --- kdbg/winstack.cpp | 29 ++++++++++++++--------------- kdbg/winstack.h | 1 + 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/kdbg/winstack.cpp b/kdbg/winstack.cpp index 32b40be..be20761 100644 --- a/kdbg/winstack.cpp +++ b/kdbg/winstack.cpp @@ -209,18 +209,24 @@ void WinStack::updatePC(const QString& fileName, int lineNo, const DbgAddr& addr } } -void WinStack::setPC(bool set, const QString& fileName, int lineNo, - const DbgAddr& address, int frameNo) +SourceWindow* WinStack::findByFileName(const QString& fileName) const { - TRACE((set ? "set PC: " : "clear PC: ") + fileName + - QString().sprintf(":%d#%d ", lineNo, frameNo) + address.asString()); - // find file for (int i = 0; i < m_fileList.size(); i++) { if (m_fileList[i]->fileNameMatches(fileName)) { - m_fileList[i]->setPC(set, lineNo, address, frameNo); - break; + return m_fileList[i]; } } + return 0; +} + +void WinStack::setPC(bool set, const QString& fileName, int lineNo, + const DbgAddr& address, int frameNo) +{ + TRACE((set ? "set PC: " : "clear PC: ") + fileName + + QString().sprintf(":%d#%d ", lineNo, frameNo) + address.asString()); + SourceWindow* fw = findByFileName(fileName); + if (fw) + fw->setPC(set, lineNo, address, frameNo); } SourceWindow* WinStack::activeWindow() const @@ -279,14 +285,7 @@ void WinStack::slotShowValueTip(const QString& tipText) void WinStack::slotDisassembled(const QString& fileName, int lineNo, const QList& disass) { - // lookup the file - SourceWindow* fw = 0; - for (int i = 0; i < m_fileList.size(); i++) { - if (m_fileList[i]->fileNameMatches(fileName)) { - fw = m_fileList[i]; - break; - } - } + SourceWindow* fw = findByFileName(fileName); if (fw == 0) { // not found: ignore return; diff --git a/kdbg/winstack.h b/kdbg/winstack.h index 250ed39..60fa55d 100644 --- a/kdbg/winstack.h +++ b/kdbg/winstack.h @@ -125,6 +125,7 @@ protected: virtual void contextMenuEvent(QContextMenuEvent* e); void setPC(bool set, const QString& fileName, int lineNo, const DbgAddr& address, int frameNo); + SourceWindow* findByFileName(const QString& fileName) const; ValArray m_fileList; QString m_lastOpenDir; /* where user opened last file */ -- 2.11.4.GIT