summaryrefslogtreecommitdiff
path: root/svtools/source/toolpanel
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source/toolpanel')
-rw-r--r--svtools/source/toolpanel/paneltabbar.cxx15
1 files changed, 10 insertions, 5 deletions
diff --git a/svtools/source/toolpanel/paneltabbar.cxx b/svtools/source/toolpanel/paneltabbar.cxx
index 37bbcf4678c2..ae4c7b4e3a3a 100644
--- a/svtools/source/toolpanel/paneltabbar.cxx
+++ b/svtools/source/toolpanel/paneltabbar.cxx
@@ -1098,16 +1098,21 @@ namespace svt
::boost::optional< size_t > aNewItem( m_pImpl->FindItemForPoint( i_rMouseEvent.GetPosPixel() ) );
if ( i_rMouseEvent.IsLeaveWindow() )
- aNewItem.reset();
-
- if ( aOldItem != aNewItem )
+ aNewItem = ::boost::optional< size_t >();
+
+ bool const bChanged(
+ ( !aOldItem && aNewItem )
+ || ( aOldItem && !aNewItem )
+ || ( aOldItem && aNewItem && aOldItem != aNewItem ) )
+ ;
+ if ( bChanged )
{
- if ( !!aOldItem )
+ if ( aOldItem )
m_pImpl->InvalidateItem( *aOldItem );
m_pImpl->m_aHoveredItem = aNewItem;
- if ( !!aNewItem )
+ if ( aNewItem )
m_pImpl->InvalidateItem( *aNewItem );
}
}