From 3b05ffe304d89790e2d46c4e3822c5bf46f1f178 Mon Sep 17 00:00:00 2001 From: Jens Georg Date: Wed, 22 Feb 2017 22:16:50 +0100 Subject: Fix ivi-shell surface id generation limit The code tries to calculate 2 to the power of 10, but actually calculated 2 XOR 10, limiting the actual number of surfaces possible to use within one application to 8 Change-Id: If16dccaee7aa575c6e0736fb514edb09b4dbee11 Task-number: QTBUG-58934 Reviewed-by: Jan Arne Petersen Reviewed-by: Giulio Camuffo --- src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp index 6103e6bea..612924d5b 100644 --- a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp +++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp @@ -91,7 +91,7 @@ bool QWaylandIviShellIntegration::initialize(QWaylandDisplay *display) uint32_t QWaylandIviShellIntegration::getNextUniqueSurfaceId() { const uint32_t PID_MAX_EXPONENTIATION = 22; // 22 bit shift operation - const uint32_t ID_LIMIT = 2 ^ (32 - PID_MAX_EXPONENTIATION); // 10 bit is uniqeu id + const uint32_t ID_LIMIT = 1 << (32 - PID_MAX_EXPONENTIATION); // 10 bit is unique id QMutexLocker locker(&m_mutex); if (m_lastSurfaceId == 0) { -- cgit v1.2.3