summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2016-12-20 15:57:43 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-01-10 06:41:33 +0000
commit5b5f351785670e7310e0c074d8b96f2538cf0f2f (patch)
tree8dac0b3efefc8d895feb426f8139f3eee006b5b9
parent864e59042bf4475428e182aa93256aaef2ac4e2e (diff)
tdf#104814 Writer: accepting change tracking changes get stuck
Reviewed-on: https://gerrit.libreoffice.org/32273 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit b7b5c23e6979205a662d857bc1c83270fb4a43ec) Reviewed-on: https://gerrit.libreoffice.org/32276 Change-Id: Ie8e0919b53c0b21f480b62eec7c394554757a061 Reviewed-on: https://gerrit.libreoffice.org/32887 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--sw/qa/extras/uiwriter/data/tdf104814.docxbin0 -> 12830 bytes
-rw-r--r--sw/qa/extras/uiwriter/uiwriter.cxx14
-rw-r--r--sw/source/core/doc/DocumentRedlineManager.cxx4
3 files changed, 18 insertions, 0 deletions
diff --git a/sw/qa/extras/uiwriter/data/tdf104814.docx b/sw/qa/extras/uiwriter/data/tdf104814.docx
new file mode 100644
index 000000000000..1f1c524a8914
--- /dev/null
+++ b/sw/qa/extras/uiwriter/data/tdf104814.docx
Binary files differ
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
index 5dcb81eed875..bbd16708152c 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -200,6 +200,7 @@ public:
void testTdf84695();
void testTdf84695NormalChar();
void testTdf78727();
+ void testTdf104814();
CPPUNIT_TEST_SUITE(SwUiWriterTest);
CPPUNIT_TEST(testReplaceForward);
@@ -302,6 +303,7 @@ public:
CPPUNIT_TEST(testTdf84695);
CPPUNIT_TEST(testTdf84695NormalChar);
CPPUNIT_TEST(testTdf78727);
+ CPPUNIT_TEST(testTdf104814);
CPPUNIT_TEST_SUITE_END();
private:
@@ -3716,6 +3718,18 @@ void SwUiWriterTest::testTdf78727()
CPPUNIT_ASSERT(SwTextBoxHelper::getCount(pPage, aSet) > 1);
}
+// accepting change tracking gets stuck on change
+void SwUiWriterTest::testTdf104814()
+{
+ SwDoc* const pDoc1(createDoc("tdf104814.docx"));
+
+ SwEditShell* const pEditShell(pDoc1->GetEditShell());
+
+ // accept all redlines
+ while(pEditShell->GetRedlineCount())
+ pEditShell->AcceptRedline(0);
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx b/sw/source/core/doc/DocumentRedlineManager.cxx
index 99e9fcb6b4e1..3841491274e1 100644
--- a/sw/source/core/doc/DocumentRedlineManager.cxx
+++ b/sw/source/core/doc/DocumentRedlineManager.cxx
@@ -274,6 +274,10 @@ namespace
rArr.DeleteAndDestroy( rPos-- );
break;
+ case nsRedlineType_t::REDLINE_PARAGRAPH_FORMAT:
+ rArr.DeleteAndDestroy( rPos-- );
+ break;
+
default:
bRet = false;
}