diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2023-01-05 10:36:45 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2023-01-16 15:01:32 +0100 |
commit | 07cf1610a824b94541d1b7911c8d7228924bc98f (patch) | |
tree | 6d03812b70f9efb9ed218259668f107f3fc6a18f /tools | |
parent | 2020923605bc7020f1bebf334e51093b451e97bb (diff) |
Fix some qsizetype vs. quint32 problems
On 32bit platforms you cannot losslessly convert quint32 to qsizetype.
However, in the places we are facing here, we are only interested in
signed 32bit numbers anyway.
Change-Id: I93a07c2847bd5bfae426dccbb6c0e33c5758442d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4e1fe071ff05b92ed12fdf59a2185e1254b411cf)
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/qmlls/qmlcompletionsupport.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/qmlls/qmlcompletionsupport.cpp b/tools/qmlls/qmlcompletionsupport.cpp index 8869b34921..a148bc3935 100644 --- a/tools/qmlls/qmlcompletionsupport.cpp +++ b/tools/qmlls/qmlcompletionsupport.cpp @@ -169,8 +169,13 @@ static QList<ItemLocation> findLastItemsContaining(DomItem file, int line, int c qCWarning(complLog) << "no code"; QList<ItemLocation> toDo; qsizetype targetPos = posAfterLineChar(code, line, character); + Q_ASSERT(targetPos >= 0); auto containsTarget = [targetPos](QQmlJS::SourceLocation l) { - return l.begin() <= targetPos && targetPos < l.end(); + if constexpr (sizeof(qsizetype) <= sizeof(quint32)) { + return l.begin() <= quint32(targetPos) && quint32(targetPos) < l.end(); + } else { + return l.begin() <= targetPos && targetPos < l.end(); + } }; if (containsTarget(t->info().fullRegion)) { ItemLocation loc; |