diff options
-rw-r--r-- | svx/inc/svx/gridctrl.hxx | 2 | ||||
-rw-r--r-- | svx/source/fmcomp/gridctrl.cxx | 14 |
2 files changed, 8 insertions, 8 deletions
diff --git a/svx/inc/svx/gridctrl.hxx b/svx/inc/svx/gridctrl.hxx index 1a2917b89734..cbdba4004550 100644 --- a/svx/inc/svx/gridctrl.hxx +++ b/svx/inc/svx/gridctrl.hxx @@ -116,7 +116,7 @@ public: virtual void columnChanged() = 0; }; -#define GRID_COLUMN_NOT_FOUND ((sal_uInt16)-1) +#define GRID_COLUMN_NOT_FOUND SAL_MAX_UINT16 //================================================================== // InitWindowFacet, describing which aspect of a column's Window to (re-)initialize diff --git a/svx/source/fmcomp/gridctrl.cxx b/svx/source/fmcomp/gridctrl.cxx index e6b050024d1d..d8fce64cadf6 100644 --- a/svx/source/fmcomp/gridctrl.cxx +++ b/svx/source/fmcomp/gridctrl.cxx @@ -1722,13 +1722,13 @@ sal_uInt16 DbGridControl::AppendColumn(const XubString& rName, sal_uInt16 nWidth //------------------------------------------------------------------------------ void DbGridControl::RemoveColumn(sal_uInt16 nId) { - sal_Int16 nIndex = GetModelColumnPos(nId); - DbGridControl_Base::RemoveColumn(nId); - - delete m_aColumns[ nIndex ]; - DbGridColumns::iterator it = m_aColumns.begin(); - ::std::advance( it, nIndex ); - m_aColumns.erase( it ); + const sal_uInt16 nIndex = GetModelColumnPos(nId); + if(nIndex != GRID_COLUMN_NOT_FOUND) + { + DbGridControl_Base::RemoveColumn(nId); + delete m_aColumns[nIndex]; + m_aColumns.erase( m_aColumns.begin()+nIndex ); + } } //------------------------------------------------------------------------------ |