summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svx/inc/svx/gridctrl.hxx2
-rw-r--r--svx/source/fmcomp/gridctrl.cxx14
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 );
+ }
}
//------------------------------------------------------------------------------