fix(tray): Clients not being removed properly
The vector::erase call needs to be supplied with the end of the range, otherwise only a single element is removed. Fixes #3111
This commit is contained in:
parent
c8f7dc1c14
commit
ab583b08cd
@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Token min-length calculations would behave differently when non-ASCII characters appear in the token ([`#3074`](https://github.com/polybar/polybar/issues/3074), [`#3087`](https://github.com/polybar/polybar/pull/3087)) by [@nklloyd](https://github.com/nklloyd)
|
- Token min-length calculations would behave differently when non-ASCII characters appear in the token ([`#3074`](https://github.com/polybar/polybar/issues/3074), [`#3087`](https://github.com/polybar/polybar/pull/3087)) by [@nklloyd](https://github.com/nklloyd)
|
||||||
- i3: Fix duplicated rendering for non-full-width bars ([`#3091`](https://github.com/polybar/polybar/pull/3091), [`#3060`](https://github.com/polybar/polybar/issues/3060))
|
- i3: Fix duplicated rendering for non-full-width bars ([`#3091`](https://github.com/polybar/polybar/pull/3091), [`#3060`](https://github.com/polybar/polybar/issues/3060))
|
||||||
- `internal/backlight`: Module could display the literal `%percentage%` token if the backlight reports a value of 0 at startup ([`#3081`](https://github.com/polybar/polybar/pull/3081)) by [@unclechu](https://github.com/unclechu)
|
- `internal/backlight`: Module could display the literal `%percentage%` token if the backlight reports a value of 0 at startup ([`#3081`](https://github.com/polybar/polybar/pull/3081)) by [@unclechu](https://github.com/unclechu)
|
||||||
|
- `internal/tray`: Fix crash during restarting, when tray icons were not removed proberly ([`#3111`](https://github.com/polybar/polybar/issues/3111), [`#3112`](https://github.com/polybar/polybar/pull/3112))
|
||||||
|
|
||||||
## [3.7.1] - 2023-11-27
|
## [3.7.1] - 2023-11-27
|
||||||
### Build
|
### Build
|
||||||
|
@ -502,7 +502,8 @@ void manager::remove_client(const client& c) {
|
|||||||
void manager::remove_client(xcb_window_t win) {
|
void manager::remove_client(xcb_window_t win) {
|
||||||
auto old_size = m_clients.size();
|
auto old_size = m_clients.size();
|
||||||
m_clients.erase(
|
m_clients.erase(
|
||||||
std::remove_if(m_clients.begin(), m_clients.end(), [win](const auto& client) { return client->match(win); }));
|
std::remove_if(m_clients.begin(), m_clients.end(), [win](const auto& client) { return client->match(win); }),
|
||||||
|
m_clients.end());
|
||||||
|
|
||||||
if (old_size != m_clients.size()) {
|
if (old_size != m_clients.size()) {
|
||||||
reconfigure();
|
reconfigure();
|
||||||
@ -518,7 +519,8 @@ void manager::remove_client(xcb_window_t win) {
|
|||||||
*/
|
*/
|
||||||
void manager::clean_clients() {
|
void manager::clean_clients() {
|
||||||
m_clients.erase(
|
m_clients.erase(
|
||||||
std::remove_if(m_clients.begin(), m_clients.end(), [](const auto& client) { return client.get() == nullptr; }));
|
std::remove_if(m_clients.begin(), m_clients.end(), [](const auto& client) { return client.get() == nullptr; }),
|
||||||
|
m_clients.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool manager::change_visibility(bool visible) {
|
bool manager::change_visibility(bool visible) {
|
||||||
|
Loading…
Reference in New Issue
Block a user