diff options
Diffstat (limited to 'src/WinButton.cc')
-rw-r--r-- | src/WinButton.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/WinButton.cc b/src/WinButton.cc index afdfb7f..4f50935 100644 --- a/src/WinButton.cc +++ b/src/WinButton.cc | |||
@@ -187,9 +187,9 @@ Pixmap WinButton::getPressedPixmap() const { | |||
187 | return m_theme.closePressedPixmap().pixmap().drawable(); | 187 | return m_theme.closePressedPixmap().pixmap().drawable(); |
188 | case SHADE: | 188 | case SHADE: |
189 | if (m_listen_to.isShaded()) | 189 | if (m_listen_to.isShaded()) |
190 | return m_theme.shadePressedPixmap().pixmap().drawable(); | ||
191 | else | ||
192 | return m_theme.unshadePressedPixmap().pixmap().drawable(); | 190 | return m_theme.unshadePressedPixmap().pixmap().drawable(); |
191 | else | ||
192 | return m_theme.shadePressedPixmap().pixmap().drawable(); | ||
193 | case MENUICON: | 193 | case MENUICON: |
194 | if (m_icon_pixmap.drawable()) | 194 | if (m_icon_pixmap.drawable()) |
195 | if (m_listen_to.isFocused()) | 195 | if (m_listen_to.isFocused()) |
@@ -382,5 +382,13 @@ void WinButton::update(FbTk::Subject *subj) { | |||
382 | if (my_pm != None) | 382 | if (my_pm != None) |
383 | setBackgroundPixmap(my_pm); | 383 | setBackgroundPixmap(my_pm); |
384 | 384 | ||
385 | // incorrect, pressed_pixmap is stateful in shade, so we'll do oneoff for now | ||
386 | if (m_type == SHADE) { | ||
387 | Pixmap p_pm = getPressedPixmap(); | ||
388 | if (p_pm != None) | ||
389 | setPressedPixmap(p_pm); | ||
390 | } | ||
391 | |||
392 | |||
385 | clear(); | 393 | clear(); |
386 | } | 394 | } |