all repos — fluxbox @ cbc8e23ed2d8f8c3702e8ff53943b5844d1b9de2

custom fork of the fluxbox windowmanager

fluxbox::shutdown wasn't safe to get interruped by another signal
rathnor rathnor
commit

cbc8e23ed2d8f8c3702e8ff53943b5844d1b9de2

parent

d6b046c10f9e6d1516683708abafcf2af142f095

2 files changed, 7 insertions(+), 2 deletions(-)

jump to
M ChangeLogChangeLog

@@ -1,6 +1,8 @@

(Format: Year/Month/Day) Changes for 0.9.10: *04/08/27: + * Protect Fluxbox::shutdown better from being double-called (Simon) + fluxbox.cc * Improve fallback if toolbar button style item missing (Simon) ButtonTheme.hh/cc ToolFactory.cc *04/08/26:
M src/fluxbox.ccsrc/fluxbox.cc

@@ -22,7 +22,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: fluxbox.cc,v 1.249 2004/08/18 16:30:33 rathnor Exp $ +// $Id: fluxbox.cc,v 1.250 2004/08/27 17:24:49 rathnor Exp $ #include "fluxbox.hh"

@@ -1621,13 +1621,16 @@ }

/// prepares fluxbox for a shutdown void Fluxbox::shutdown() { + if (m_shutdown) + return; + + m_shutdown = true; XSetInputFocus(FbTk::App::instance()->display(), PointerRoot, None, CurrentTime); //send shutdown to all screens for_each(m_screen_list.begin(), m_screen_list.end(), mem_fun(&BScreen::shutdown)); - m_shutdown = true; sync(false); }