diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 133b20fe2b9df5d08fa62862617b1b14cff47ca7..2fdde0ac2a1561e7fabd5e8a597604ad5a540f3b 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -2312,8 +2312,7 @@ void GdbEngine::handleStackListFrames(const GdbResponse &response) #endif // Initialize top frame to the first valid frame. - // FIXME: Check for QFile(frame.fullname).isReadable()? - const bool isValid = !frame.file.isEmpty() && !frame.function.isEmpty(); + const bool isValid = frame.isUsable() && !frame.function.isEmpty(); if (isValid && targetFrame == -1) targetFrame = i; } diff --git a/src/plugins/debugger/stackhandler.cpp b/src/plugins/debugger/stackhandler.cpp index fa6b972e555d87356cb49a015875f7988c48923a..d2b146b91349b1a4613781b033965f0ba183343a 100644 --- a/src/plugins/debugger/stackhandler.cpp +++ b/src/plugins/debugger/stackhandler.cpp @@ -203,7 +203,7 @@ Qt::ItemFlags StackHandler::flags(const QModelIndex &index) const if (index.row() == m_stackFrames.size()) return QAbstractTableModel::flags(index); const StackFrame &frame = m_stackFrames.at(index.row()); - const bool isValid = (!frame.file.isEmpty() && !frame.function.isEmpty()) + const bool isValid = (frame.isUsable() && !frame.function.isEmpty()) || theDebuggerBoolSetting(OperateByInstruction); return isValid ? QAbstractTableModel::flags(index) : Qt::ItemFlags(0); }