summaryrefslogtreecommitdiff
path: root/sw/source/uibase/utlui/navicfg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/uibase/utlui/navicfg.cxx')
-rw-r--r--sw/source/uibase/utlui/navicfg.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/sw/source/uibase/utlui/navicfg.cxx b/sw/source/uibase/utlui/navicfg.cxx
index f9440e7c029b5..d7dcab652c08f 100644
--- a/sw/source/uibase/utlui/navicfg.cxx
+++ b/sw/source/uibase/utlui/navicfg.cxx
@@ -75,11 +75,16 @@ SwNavigationConfig::SwNavigationConfig() :
{
case 0:
{
- sal_uInt32 nTmp;
+ sal_Int32 nTmp;
if (pValues[nProp] >>= nTmp)
{
- if (nTmp > sal_uInt32(ContentTypeId::LAST)) {
- nTmp = sal_uInt32(ContentTypeId::UNKNOWN);
+ if (nTmp < sal_Int32(ContentTypeId::UNKNOWN)
+ || nTmp > sal_Int32(ContentTypeId::LAST))
+ {
+ SAL_WARN(
+ "sw",
+ "out-of-bounds ContentTypeId " << nTmp);
+ nTmp = sal_Int32(ContentTypeId::UNKNOWN);
}
nRootType = static_cast<ContentTypeId>(nTmp);
}
@@ -117,7 +122,7 @@ void SwNavigationConfig::ImplCommit()
{
switch(nProp)
{
- case 0: pValues[nProp] <<= static_cast<sal_uInt32>(nRootType); break;
+ case 0: pValues[nProp] <<= static_cast<sal_Int32>(nRootType); break;
case 1: pValues[nProp] <<= nSelectedPos; break;
case 2: pValues[nProp] <<= nOutlineLevel; break;
case 3: pValues[nProp] <<= static_cast<sal_uInt16>(nRegionMode); break;