diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp index e0b397fcef5a724088fffbb011843414d94e80be..b207360bd728fbdf61491be3450673f6c0bdd4fa 100644 --- a/src/plugins/debugger/breakhandler.cpp +++ b/src/plugins/debugger/breakhandler.cpp @@ -49,6 +49,18 @@ using namespace Debugger::Internal; // ////////////////////////////////////////////////////////////////// +// Compare file names case insensitively on Windows. +static inline bool fileNameMatch(const QString &f1, const QString &f2) +{ + return f1.compare(f2, +#ifdef Q_OS_WIN + Qt::CaseInsensitive +#else + Qt::CaseSensitive +#endif + ) == 0; +} + namespace Debugger { namespace Internal { @@ -236,7 +248,7 @@ bool BreakpointData::isLocatedAt(const QString &fileName_, int lineNumber_) cons return true; return false; */ - return lineNumber_ == markerLineNumber && fileName_ == markerFileName; + return lineNumber_ == markerLineNumber && fileNameMatch(fileName_, markerFileName); } bool BreakpointData::conditionsMatch() const @@ -310,7 +322,7 @@ int BreakHandler::findBreakpoint(const BreakpointData &needle) return index; // at least at a position we were looking for // FIXME: breaks multiple breakpoints at the same location - if (data->fileName == needle.bpFileName + if (fileNameMatch(data->fileName, needle.bpFileName) && data->lineNumber == needle.bpLineNumber) return index; }