summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjghali <jghali@11d20701-8431-0410-a711-e3c959e3b870>2012-07-21 16:43:57 +0000
committerjghali <jghali@11d20701-8431-0410-a711-e3c959e3b870>2012-07-21 16:43:57 +0000
commitadee84ba899123fadff6689cfb2f5acefd60e26f (patch)
tree07af0094baaf3f0fde8f174557d9744935d33a45
parentd22aa7e856fdc65b1b98691de2e552ec584c67c6 (diff)
downloadscribus-adee84ba899123fadff6689cfb2f5acefd60e26f.tar.gz
scribus-adee84ba899123fadff6689cfb2f5acefd60e26f.tar.xz
scribus-adee84ba899123fadff6689cfb2f5acefd60e26f.zip
#10925: Crash when importing an .odt with bullet lists in it
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17729 11d20701-8431-0410-a711-e3c959e3b870
-rw-r--r--scribus/plugins/gettext/sxwim/contentreader.cpp13
-rw-r--r--scribus/plugins/gettext/sxwim/contentreader.h1
2 files changed, 5 insertions, 9 deletions
diff --git a/scribus/plugins/gettext/sxwim/contentreader.cpp b/scribus/plugins/gettext/sxwim/contentreader.cpp
index aa0da3d..1afd591 100644
--- a/scribus/plugins/gettext/sxwim/contentreader.cpp
+++ b/scribus/plugins/gettext/sxwim/contentreader.cpp
@@ -47,7 +47,6 @@ ContentReader::ContentReader(QString documentName, StyleReader *s, gtWriter *w,
inList = false;
inNote = false;
inNoteBody = false;
- isOrdered = false;
inSpan = false;
append = 0;
listIndex = 0;
@@ -119,19 +118,17 @@ bool ContentReader::startElement(const QString&, const QString&, const QString &
styleNames.clear();
styleNames.push_back(QString(currentList + "_%1").arg(listLevel));
if (name == "text:ordered-list")
- {
- isOrdered = true;
isOrdered2.push_back(true);
- }
else
- {
- isOrdered = false;
isOrdered2.push_back(false);
- }
}
else if (name == "text:list-item")
{
- if (isOrdered2[listLevel - 1])
+ bool isOrdered = false;
+ int levelIndex = listLevel - 1;
+ if (levelIndex >= 0 && levelIndex < isOrdered2.size())
+ isOrdered = isOrdered2[listLevel - 1];
+ if (isOrdered)
{
++listIndex;
++listIndex2[listLevel - 1];
diff --git a/scribus/plugins/gettext/sxwim/contentreader.h b/scribus/plugins/gettext/sxwim/contentreader.h
index c8b7e71..5acb61d 100644
--- a/scribus/plugins/gettext/sxwim/contentreader.h
+++ b/scribus/plugins/gettext/sxwim/contentreader.h
@@ -63,7 +63,6 @@ private:
bool inList;
bool inNote;
bool inNoteBody;
- bool isOrdered;
bool inSpan;
int append;
int listLevel;