aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk/Theme.cc
diff options
context:
space:
mode:
authormathias <mathias>2005-03-16 22:44:48 (GMT)
committermathias <mathias>2005-03-16 22:44:48 (GMT)
commit150777e336db88c2dbfd2a257171ce51bec7a718 (patch)
treee986e538cc14bd40773b02f46c7bb6c0b484c128 /src/FbTk/Theme.cc
parentabce9a0c27b6e6697c30282723b581fbd6684b5e (diff)
downloadfluxbox-150777e336db88c2dbfd2a257171ce51bec7a718.zip
fluxbox-150777e336db88c2dbfd2a257171ce51bec7a718.tar.bz2
fix for #1152450, when having multiple screens the rootCommand's were
called too often: m_root_menu is locked for the current screen when loading the style for the current screen, but not for the screens already initialized and thus its executed when called thru Theme::reconfigure(); now only the themes on the same screen are affected by the load-routine.
Diffstat (limited to 'src/FbTk/Theme.cc')
-rw-r--r--src/FbTk/Theme.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/FbTk/Theme.cc b/src/FbTk/Theme.cc
index 7f6e9dc..e6a07d0 100644
--- a/src/FbTk/Theme.cc
+++ b/src/FbTk/Theme.cc
@@ -135,8 +135,10 @@ bool ThemeManager::load(const std::string &filename, int screen_num) {
135 theme_it = m_themelist.begin(); 135 theme_it = m_themelist.begin();
136 for (; theme_it != theme_it_end; ++theme_it) { 136 for (; theme_it != theme_it_end; ++theme_it) {
137 // send reconfiguration signal to theme and listeners 137 // send reconfiguration signal to theme and listeners
138 (*theme_it)->reconfigTheme(); 138 if (screen_num < 0 || (*theme_it)->screenNum() == screen_num) {
139 (*theme_it)->reconfigSig().notify(); 139 (*theme_it)->reconfigTheme();
140 (*theme_it)->reconfigSig().notify();
141 }
140 } 142 }
141 return true; 143 return true;
142} 144}