all repos — fluxbox @ bb3f955e0f4959dc66bee8c27e3b15b399c6a845

custom fork of the fluxbox windowmanager

Fixed possible crash issue when getting an unmap before a focus in event.

The issue was caused by a client that got an unmap notify and had a FocusIn event
directly after in the event queue. The focus in event was handled by Fluxbox::revertFocus
before the WinClient.cc removed itself from the search window list.
Henrik Kinnunen fluxgen at fluxbox dot org
commit

bb3f955e0f4959dc66bee8c27e3b15b399c6a845

parent

bf9fb893daa0963694fee27cea60021dcf364f24

1 files changed, 3 insertions(+), 4 deletions(-)

jump to
M src/WinClient.ccsrc/WinClient.cc

@@ -129,6 +129,9 @@ WinClient::~WinClient() {

fbdbg<<__FILE__<<"(~"<<__FUNCTION__<<")[this="<<this<<"]"<<endl; FbTk::EventManager::instance()->remove(window()); + Fluxbox *fluxbox = Fluxbox::instance(); + if (window()) + fluxbox->removeWindowSearch(window()); clearStrut();

@@ -160,8 +163,6 @@ transient_for = 0;

removeTransientFromWaitingList(); s_transient_wait.erase(window()); - Fluxbox *fluxbox = Fluxbox::instance(); - if (window_group != 0) { fluxbox->removeGroupSearch(window_group); window_group = 0;

@@ -170,8 +171,6 @@

if (m_mwm_hint != 0) XFree(m_mwm_hint); - if (window()) - fluxbox->removeWindowSearch(window()); } bool WinClient::acceptsFocus() const {