diff options
Diffstat (limited to 'toolkit/source/controls/grid/defaultgridcolumnmodel.cxx')
-rw-r--r-- | toolkit/source/controls/grid/defaultgridcolumnmodel.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/toolkit/source/controls/grid/defaultgridcolumnmodel.cxx b/toolkit/source/controls/grid/defaultgridcolumnmodel.cxx index 8537a03321aa..34d610ef5661 100644 --- a/toolkit/source/controls/grid/defaultgridcolumnmodel.cxx +++ b/toolkit/source/controls/grid/defaultgridcolumnmodel.cxx @@ -119,12 +119,20 @@ namespace toolkit //------------------------------------------------------------------------------------------------------------------ ::sal_Int32 SAL_CALL DefaultGridColumnModel::addColumn( const Reference< XGridColumn > & i_column ) throw (RuntimeException) { - ::osl::Guard< ::osl::Mutex > aGuard( m_aMutex ); + ::osl::ClearableMutexGuard aGuard( m_aMutex ); m_aColumns.push_back( i_column ); sal_Int32 index = m_aColumns.size() - 1; i_column->setIndex( index ); + // fire insertion notifications + ContainerEvent aEvent; + aEvent.Source = *this; + aEvent.Accessor <<= index; + aEvent.Element <<= i_column; + aGuard.clear(); + m_aContainerListeners.notifyEach( &XContainerListener::elementInserted, aEvent ); + return index; } |