diff options
Diffstat (limited to 'src/FbWinFrame.cc')
-rw-r--r-- | src/FbWinFrame.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc index cdbc6c1..2b94ae3 100644 --- a/src/FbWinFrame.cc +++ b/src/FbWinFrame.cc | |||
@@ -271,7 +271,7 @@ void FbWinFrame::setFocus(bool newvalue) { | |||
271 | 271 | ||
272 | m_focused = newvalue; | 272 | m_focused = newvalue; |
273 | 273 | ||
274 | if (theme().focusedAlpha() != theme().unfocusedAlpha()) { | 274 | if (FbTk::Transparent::haveRender() && theme().focusedAlpha() != theme().unfocusedAlpha()) { |
275 | unsigned char alpha = (m_focused?theme().focusedAlpha():theme().unfocusedAlpha()); | 275 | unsigned char alpha = (m_focused?theme().focusedAlpha():theme().unfocusedAlpha()); |
276 | if (FbTk::Transparent::haveComposite()) { | 276 | if (FbTk::Transparent::haveComposite()) { |
277 | m_window.setOpaque(alpha); | 277 | m_window.setOpaque(alpha); |
@@ -280,6 +280,8 @@ void FbWinFrame::setFocus(bool newvalue) { | |||
280 | LabelList::iterator btn_it_end = m_labelbuttons.end(); | 280 | LabelList::iterator btn_it_end = m_labelbuttons.end(); |
281 | for (; btn_it != btn_it_end; ++btn_it) { | 281 | for (; btn_it != btn_it_end; ++btn_it) { |
282 | (*btn_it)->setAlpha(alpha); | 282 | (*btn_it)->setAlpha(alpha); |
283 | if (m_current_label != (*btn_it)) | ||
284 | (*btn_it)->updateBackground(false); | ||
283 | } | 285 | } |
284 | } | 286 | } |
285 | } | 287 | } |