summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2011-07-07 12:05:01 +0200
committerKatarina Machalkova <kmachalkova@suse.cz>2011-07-08 14:58:06 +0200
commitb74f2e0c4ff7a0f8a0b5c031825aef7a7d211daf (patch)
treea5a99e40a8aa832f5bd31b9bfddb4197eddac7e5
parent1d66d2233cc4b458d3ad3bdad8682828f5fb321a (diff)
fdo#38963: crash in number format dialog
Signed-off-by: Katarina Machalkova <kmachalkova@novell.com>
-rw-r--r--svl/source/numbers/zforlist.cxx59
1 files changed, 32 insertions, 27 deletions
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index ae7cfaebb6..2a62b2bdd7 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -2749,7 +2749,6 @@ void SvNumberFormatter::GenerateFormat(String& sString,
const String& rThSep = GetNumThousandSep();
SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get(nIndex);
- sal_Bool insertBrackets = pFormat->IsNegativeInBracket();
if (nAnzLeading == 0)
{
@@ -2843,36 +2842,42 @@ void SvNumberFormatter::GenerateFormat(String& sString,
sString += ';';
sString += sNegStr;
}
- if ( (IsRed || insertBrackets ) && eType != NUMBERFORMAT_CURRENCY)
+ if (eType != NUMBERFORMAT_CURRENCY)
{
- String sTmpStr = sString;
-
- if ( pFormat->HasPositiveBracketPlaceholder() )
+ bool insertBrackets = false;
+ if ( eType != NUMBERFORMAT_UNDEFINED)
+ insertBrackets = pFormat->IsNegativeInBracket();
+ if (IsRed || insertBrackets)
{
- sTmpStr += '_';
- sTmpStr += ')';
- }
- sTmpStr += ';';
+ String sTmpStr = sString;
- if (IsRed)
- {
- sTmpStr += '[';
- sTmpStr += pFormatScanner->GetRedString();
- sTmpStr += ']';
- }
+ if ( pFormat->HasPositiveBracketPlaceholder() )
+ {
+ sTmpStr += '_';
+ sTmpStr += ')';
+ }
+ sTmpStr += ';';
- if (insertBrackets)
- {
- sTmpStr += '(';
- sTmpStr += sString;
- sTmpStr += ')';
- }
- else
- {
- sTmpStr += '-';
- sTmpStr +=sString;
- }
- sString = sTmpStr;
+ if (IsRed)
+ {
+ sTmpStr += '[';
+ sTmpStr += pFormatScanner->GetRedString();
+ sTmpStr += ']';
+ }
+
+ if (insertBrackets)
+ {
+ sTmpStr += '(';
+ sTmpStr += sString;
+ sTmpStr += ')';
+ }
+ else
+ {
+ sTmpStr += '-';
+ sTmpStr +=sString;
+ }
+ sString = sTmpStr;
+ }
}
}