all repos — fluxbox @ c813375f390e7d025c6b699007a7c3e7d03f2e06

custom fork of the fluxbox windowmanager

fix possible segfaults in DeiconifyMode::SEMIFOLLOW and FOLLOW ...
the raisAndFocus after the sendToWorkspace makes problems, dunno why exactly
so this is still an open issue imho.
mathias mathias
commit

c813375f390e7d025c6b699007a7c3e7d03f2e06

parent

56e699405a2aa9eaede3f42cc1022137ac5db680

1 files changed, 9 insertions(+), 6 deletions(-)

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

@@ -76,21 +76,24 @@ m_win(win), m_tool(tool) { }

void execute() { if(m_win.isIconic() || !m_win.isFocused()) { switch(m_tool.deiconifyMode()) { - case IconbarTool::CURRENT: - m_win.screen().sendToWorkspace(m_win.screen().currentWorkspaceID(), &m_win); - break; case IconbarTool::FOLLOW: m_win.screen().changeWorkspaceID(m_win.workspaceNumber()); + m_win.raiseAndFocus(); break; case IconbarTool::SEMIFOLLOW: - if (m_win.isIconic()) + if (m_win.isIconic()) { m_win.screen().sendToWorkspace(m_win.screen().currentWorkspaceID(), &m_win); - else + } else { m_win.screen().changeWorkspaceID(m_win.workspaceNumber()); + m_win.raiseAndFocus(); + } + break; + case IconbarTool::CURRENT: + default: + m_win.screen().sendToWorkspace(m_win.screen().currentWorkspaceID(), &m_win); break; }; - m_win.raiseAndFocus(); } else m_win.iconify(); }