wayland/toplevel: clear activeToplevel on deactivation

This commit is contained in:
-k 2026-03-09 09:11:52 -04:00 committed by outfoxxed
parent 15a8409765
commit cf1a2aeb2d
No known key found for this signature in database
GPG key ID: 4C88A185FB89301E
2 changed files with 6 additions and 1 deletions

View file

@ -50,6 +50,7 @@ set shell id.
- Fixed ClippingRectangle related crashes. - Fixed ClippingRectangle related crashes.
- Fixed crashes when monitors are unplugged. - Fixed crashes when monitors are unplugged.
- Fixed crashes when default pipewire devices are lost. - Fixed crashes when default pipewire devices are lost.
- Fixed ToplevelManager not clearing activeToplevel on deactivation.
- Desktop action order is now preserved. - Desktop action order is now preserved.
## Packaging Changes ## Packaging Changes

View file

@ -161,7 +161,11 @@ void ToplevelManager::onToplevelReady(impl::ToplevelHandle* handle) {
void ToplevelManager::onToplevelActiveChanged() { void ToplevelManager::onToplevelActiveChanged() {
auto* toplevel = qobject_cast<Toplevel*>(this->sender()); auto* toplevel = qobject_cast<Toplevel*>(this->sender());
if (toplevel->activated()) this->setActiveToplevel(toplevel); if (toplevel->activated()) {
this->setActiveToplevel(toplevel);
} else if (toplevel == this->mActiveToplevel) {
this->setActiveToplevel(nullptr);
}
} }
void ToplevelManager::onToplevelClosed() { void ToplevelManager::onToplevelClosed() {