[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.1' - sw/qa sw/source
Miklos Vajna
vmiklos at collabora.co.uk
Wed Mar 26 09:46:03 PDT 2014
sw/qa/extras/ww8import/data/cp1000044.doc |binary
sw/qa/extras/ww8import/ww8import.cxx | 9 +++++++++
sw/source/filter/ww8/ww8par.cxx | 4 +++-
3 files changed, 12 insertions(+), 1 deletion(-)
New commits:
commit ccfd10ac45265f061737514d60fcf20659d429a4
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Wed Mar 26 13:34:08 2014 +0100
cp#1000044 DOC import: fProtEnabled means document is not totally read-only
Reading the spec, it seems that we have two cases here:
- if lKeyProtDoc is set and fProtEnabled is 1, then editing forms is
allowed
- if lKeyProtDoc is set, but fProtEnabled is 0, then the document is
totally read-only
So in the first case avoid the SetModifyPasswordHash() call to allow
form field editing.
(cherry picked from commit 8757bea2e88c6e349e1fe98d8e9695d7b9c6179e)
Conflicts:
sw/qa/extras/ww8import/ww8import.cxx
Change-Id: Id0c48e8eb4bde75c5520a7b108fcfada51148faf
diff --git a/sw/qa/extras/ww8import/data/cp1000044.doc b/sw/qa/extras/ww8import/data/cp1000044.doc
new file mode 100755
index 0000000..ea30cc0
Binary files /dev/null and b/sw/qa/extras/ww8import/data/cp1000044.doc differ
diff --git a/sw/qa/extras/ww8import/ww8import.cxx b/sw/qa/extras/ww8import/ww8import.cxx
index ef1621e..c34e354 100644
--- a/sw/qa/extras/ww8import/ww8import.cxx
+++ b/sw/qa/extras/ww8import/ww8import.cxx
@@ -37,6 +37,7 @@ public:
void testN823651();
void testFdo36868();
void testListNolevel();
+ void testCp1000044();
void testCp1000039();
void testBnc821208();
@@ -67,6 +68,7 @@ void Test::run()
{"n823651.doc", &Test::testN823651},
{"fdo36868.doc", &Test::testFdo36868},
{"list-nolevel.doc", &Test::testListNolevel},
+ {"cp1000044.doc", &Test::testCp1000044},
{"cp1000039.doc", &Test::testCp1000039},
{"bnc821208.doc", &Test::testBnc821208},
};
@@ -288,6 +290,13 @@ void Test::testListNolevel()
CPPUNIT_ASSERT_EQUAL(OUString("1."), aText);
}
+void Test::testCp1000044()
+{
+ uno::Reference<frame::XStorable> xStorable(mxComponent, uno::UNO_QUERY);
+ // It wasn't possible to fill out this form.
+ CPPUNIT_ASSERT_EQUAL(false, bool(xStorable->isReadonly()));
+}
+
void Test::testCp1000039()
{
// This was RTL_TEXTENCODING_SYMBOL, causing "1" rendered as a placeholder rectangle.
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index ad39b11..5c46957 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -1608,7 +1608,9 @@ void SwWW8ImplReader::ImportDop()
}
}
- mpDocShell->SetModifyPasswordHash(pWDop->lKeyProtDoc);
+ // Still allow editing of form fields.
+ if (!pWDop->fProtEnabled)
+ mpDocShell->SetModifyPasswordHash(pWDop->lKeyProtDoc);
const SvtFilterOptions& rOpt = SvtFilterOptions::Get();
if (rOpt.IsUseEnhancedFields())
More information about the Libreoffice-commits
mailing list