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
Change-Id: I2c9b5ad27881658463dd0870639c42d3ea8e7aba
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit ec787ce14363c843f9c1149bad8045ff6acbcf1c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Liang Qi 2023-01-11 10:06:44 +01:00 committed by Qt Cherry-pick Bot
parent 086de2f4b4
commit 23f194a763

View File

@ -1297,9 +1297,10 @@ void QXcbWindow::setWindowIcon(const QIcon &icon)
if (!icon_data.isEmpty()) {
// Ignore icon exceeding maximum xcb request length
if (icon_data.size() > xcb_get_maximum_request_length(xcb_connection())) {
qWarning("Ignoring window icon: Size %llu 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(),