diff options
Diffstat (limited to 'gui/widgets/tab.cpp')
-rw-r--r-- | gui/widgets/tab.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/gui/widgets/tab.cpp b/gui/widgets/tab.cpp index e2e3e72db0..9b045daf51 100644 --- a/gui/widgets/tab.cpp +++ b/gui/widgets/tab.cpp @@ -154,7 +154,7 @@ void TabWidget::removeTab(int tabID) { } // Finally trigger a redraw - _boss->draw(); + _boss->markAsDirty(); } void TabWidget::setActiveTab(int tabID) { @@ -174,7 +174,7 @@ void TabWidget::setActiveTab(int tabID) { while (_lastVisibleTab < tabID) setFirstVisible(_firstVisibleTab + 1, false); - _boss->draw(); + _boss->markAsDirty(); } } @@ -246,7 +246,7 @@ void TabWidget::setFirstVisible(int tabID, bool adjustIfRoom) { computeLastVisibleTab(adjustIfRoom); - _boss->draw(); // TODO: Necessary? + _boss->markAsDirty(); // TODO: Necessary? } void TabWidget::reflowLayout() { @@ -334,6 +334,15 @@ void TabWidget::draw() { } } +void TabWidget::markAsDirty() { + Widget::markAsDirty(); + + if (_navButtonsVisible) { + _navLeft->markAsDirty(); + _navRight->markAsDirty(); + } +} + bool TabWidget::containsWidget(Widget *w) const { if (w == _navLeft || w == _navRight || _navLeft->containsWidget(w) || _navRight->containsWidget(w)) return true; |