aboutsummaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPavel Labath <pavelo@centrum.sk>2011-05-07 22:04:12 (GMT)
committerPavel Labath <pavelo@centrum.sk>2011-05-10 11:00:46 (GMT)
commit16c90dc19fcd68fccbcfb277b3839e7f41fe9dd3 (patch)
tree8a024b6316ab3a96b8aab334eef3f2c21377869d /libs
parent7525ca9f7745a7d8ef4461dc1f3c911498546b00 (diff)
downloadfluxbox_pavel-16c90dc19fcd68fccbcfb277b3839e7f41fe9dd3.zip
fluxbox_pavel-16c90dc19fcd68fccbcfb277b3839e7f41fe9dd3.tar.bz2
Make SignalTracker always disconnect itself from Signals
previously, the tracker disconnected itself only when the caller passed withTracker = true to the leave() function. However, the default value was for the parameter was false. Non disconnecting from signal when stopping tracking creates very dangerous situation because the signal still holds a pointer to the tracker. This resulted in a segfault when exiting fluxbox, because the tracker (FluxboxWindow) got destroyed before the signal (BScreen::focusedWindowSig), and the signal was using an invalid pointer when it tried to disconnect itself from the tracker. Instead of setting withTracker to true by default or changing all invocations of leave(), I decided to make the tracker disconnect itself unconditionally because I could not find a use case for the opposite behaviour. PS: This message is in fact longer than the actual commit.
Diffstat (limited to 'libs')
0 files changed, 0 insertions, 0 deletions