Windows: Don't re-apply application badge if one has not been set

We need to re-apply the application badge when the color scheme changes;
when a task bar button is being created for the fist time; or after Explorer
has crashed and re-started.

But we should only do that if the user has set an application badge
via our APIs. Otherwise we might end up clearing an existing badge
that was set via the native APIs directly.

Fixes: QTBUG-118117
Pick-to: 6.5 6.6
Change-Id: I1f1fecba44c118d4e3f7ef4119139c3ebd23f047
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
This commit is contained in:
Tor Arne Vestbø 2023-10-17 16:06:19 +02:00
parent 7152a1d0be
commit 8f2828683e

View File

@ -780,6 +780,7 @@ void QWindowsIntegration::updateApplicationBadge()
// to a task bar button being created for the fist time or after // to a task bar button being created for the fist time or after
// Explorer had crashed and re-started. In any case, re-apply the // Explorer had crashed and re-started. In any case, re-apply the
// badge so that everything is up to date. // badge so that everything is up to date.
if (m_applicationBadgeNumber)
setApplicationBadge(m_applicationBadgeNumber); setApplicationBadge(m_applicationBadgeNumber);
} }