/
0091-qxcbwindow.cpp-Fix-sign-compare-and-another-warnings.patch
54 lines (47 loc) · 2.88 KB
/
0091-qxcbwindow.cpp-Fix-sign-compare-and-another-warnings.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
From 1277eb5b980de4d65a6ad74fdd2edd228d5dce51 Mon Sep 17 00:00:00 2001
From: Liang Qi <liang.qi@qt.io>
Date: Wed, 11 Jan 2023 10:06:44 +0100
Subject: [PATCH 091/144] qxcbwindow.cpp: Fix sign-compare and another warnings
qsizetype(int32 on 32bit, int64 on 64bit) vs uint32.
qxcbwindow.cpp: In member function 'virtual void QXcbWindow::setWindowIcon(const QIcon&)':
qxcbwindow.cpp:1300:30: warning: comparison of integer expressions of different signedness: 'qsizetype' {aka 'int'} and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
1300 | if (icon_data.size() > xcb_get_maximum_request_length(xcb_connection())) {
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
qxcbwindow.cpp:1301:53: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type 'qsizetype' {aka 'int'} [-Wformat=]
1301 | qWarning("Ignoring window icon: Size %llu exceeds maximum xcb request length %u.",
| ~~~^
| |
| long long unsigned int
| %u
1302 | icon_data.size(), xcb_get_maximum_request_length(xcb_connection()));
| ~~~~~~~~~~~~~~~~
| |
| qsizetype {aka int}
This amends ebdaf8ef9cea6f3669fc73bc3395acf2e497f7fc.
Fixes: QTBUG-109610
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: I2c9b5ad27881658463dd0870639c42d3ea8e7aba
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit ec787ce14363c843f9c1149bad8045ff6acbcf1c)
---
src/plugins/platforms/xcb/qxcbwindow.cpp | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index 45bac8ee85..c67ffa9dd7 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -1345,9 +1345,10 @@ void QXcbWindow::setWindowIcon(const QIcon &icon)
if (!icon_data.isEmpty()) {
// Ignore icon exceeding maximum xcb request length
- if (size_t(icon_data.size()) > xcb_get_maximum_request_length(xcb_connection())) {
- qWarning("Ignoring window icon: Size %d exceeds maximum xcb request length %u.",
- icon_data.size(), xcb_get_maximum_request_length(xcb_connection()));
+ if (quint64(icon_data.size()) > quint64(xcb_get_maximum_request_length(xcb_connection()))) {
+ qWarning() << "Ignoring window icon" << icon_data.size()
+ << "exceeds maximum xcb request length"
+ << xcb_get_maximum_request_length(xcb_connection());
return;
}
xcb_change_property(xcb_connection(),
--
2.43.0