diff options
author | mathias <mathias> | 2005-03-16 22:44:48 (GMT) |
---|---|---|
committer | mathias <mathias> | 2005-03-16 22:44:48 (GMT) |
commit | 150777e336db88c2dbfd2a257171ce51bec7a718 (patch) | |
tree | e986e538cc14bd40773b02f46c7bb6c0b484c128 /src/FbTk | |
parent | abce9a0c27b6e6697c30282723b581fbd6684b5e (diff) | |
download | fluxbox-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')
-rw-r--r-- | src/FbTk/Theme.cc | 6 |
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 | } |