Skip to content

Commit

Permalink
Add special check for libqtqmlcoreplugin when detecting Qt6 ABI
Browse files Browse the repository at this point in the history
Qt6 has added a new QtCore import, which trips up our previous detection
of valid injectable processes. The QML plugin is called
"libqtqmlcoreplugin" and will take the place of a genuine QtCore library
we're looking for in a process.

This library isn't versioned though, so it's impossible to determine the
Qt version from the filename. This prevents it from being selected which
makes the process detection much more reliable for Qt6 QtQuick
applications.
  • Loading branch information
redstrate committed Jan 12, 2024
1 parent 630cafb commit ab90fe8
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions launcher/core/probeabidetector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@ bool ProbeABIDetector::containsQtCore(const QByteArray &line)
// Windows Qt[X]Core[d].dll

for (int index = 0; (index = line.indexOf("Qt", index)) >= 0; ++index) {
// Path must not be something like "libqtqmlcoreplugin" which is not what we're looking for
if (line.contains(QByteArrayLiteral("qml")))
return false;

if (!checkQtCorePrefix(line, index))
continue;

Expand Down

0 comments on commit ab90fe8

Please sign in to comment.