diff options
author | fluxgen <fluxgen> | 2003-08-12 01:01:16 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-08-12 01:01:16 (GMT) |
commit | 905538affe88881b693424c8be205b3686255f25 (patch) | |
tree | b8fbd65941539c619a49b998570110bf4cb16ebc | |
parent | 3a109be9b3038495b70ea3ec0894cf38b9121f27 (diff) | |
download | fluxbox_lack-905538affe88881b693424c8be205b3686255f25.zip fluxbox_lack-905538affe88881b693424c8be205b3686255f25.tar.bz2 |
listen to die signal
-rw-r--r-- | src/IconbarTool.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/IconbarTool.cc b/src/IconbarTool.cc index 6e4b8ae..c699f84 100644 --- a/src/IconbarTool.cc +++ b/src/IconbarTool.cc | |||
@@ -20,7 +20,7 @@ | |||
20 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 20 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
21 | // DEALINGS IN THE SOFTWARE. | 21 | // DEALINGS IN THE SOFTWARE. |
22 | 22 | ||
23 | // $Id: IconbarTool.cc,v 1.2 2003/08/12 00:19:14 fluxgen Exp $ | 23 | // $Id: IconbarTool.cc,v 1.3 2003/08/12 01:01:16 fluxgen Exp $ |
24 | 24 | ||
25 | #include "IconbarTool.hh" | 25 | #include "IconbarTool.hh" |
26 | 26 | ||
@@ -106,10 +106,15 @@ unsigned int IconbarTool::height() const { | |||
106 | } | 106 | } |
107 | 107 | ||
108 | void IconbarTool::update(FbTk::Subject *subj) { | 108 | void IconbarTool::update(FbTk::Subject *subj) { |
109 | |||
109 | // just focus signal? | 110 | // just focus signal? |
110 | if (subj != 0 && typeid(*subj) == typeid(FluxboxWindow::WinSubject)) { | 111 | if (subj != 0 && typeid(*subj) == typeid(FluxboxWindow::WinSubject)) { |
111 | renderTheme(); | 112 | // we handle everything except die signal here |
112 | return; | 113 | FluxboxWindow::WinSubject *winsubj = static_cast<FluxboxWindow::WinSubject *>(subj); |
114 | if (subj != &(winsubj->win().dieSig())) { | ||
115 | renderTheme(); | ||
116 | return; | ||
117 | } | ||
113 | } | 118 | } |
114 | 119 | ||
115 | // ok, we got some signal that we need to update our iconbar container | 120 | // ok, we got some signal that we need to update our iconbar container |
@@ -136,7 +141,9 @@ void IconbarTool::update(FbTk::Subject *subj) { | |||
136 | IconButton *button = new IconButton(m_icon_container, m_theme.focusedText().font(), **it); | 141 | IconButton *button = new IconButton(m_icon_container, m_theme.focusedText().font(), **it); |
137 | items.push_back(button); | 142 | items.push_back(button); |
138 | m_icon_list.push_back(button); | 143 | m_icon_list.push_back(button); |
144 | |||
139 | (*it)->focusSig().attach(this); | 145 | (*it)->focusSig().attach(this); |
146 | (*it)->dieSig().attach(this); | ||
140 | } | 147 | } |
141 | 148 | ||
142 | m_icon_container.showSubwindows(); | 149 | m_icon_container.showSubwindows(); |