summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-12-11 08:25:33 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-12-11 08:49:05 +0100
commit44ad6aca0dee29841ec7cd15c6d0ad9b3dcaedbe (patch)
tree50594cd3341d406c645c7c36f9c6a94a892e7f5f
parentcee2655445319133095b0f6b19fc5b31d321099f (diff)
DOC export: register the smart tag offsets/locations in the FIB
With this, a reader can actually find them in the table stream. Mark as experimental till all the related structures are written, so Word doesn't consider the file corrupted. Change-Id: I3f997dcdb14557b1f8eed78bd873b121068d9712
-rw-r--r--sw/source/filter/ww8/ww8scan.cxx18
1 files changed, 17 insertions, 1 deletions
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index da3950480005..144013d72561 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -44,6 +44,7 @@
#include <vcl/settings.hxx>
#include <vcl/svapp.hxx>
+#include <svtools/miscopt.hxx>
#ifdef DEBUGSPRMREADER
#include <stdio.h>
@@ -6240,7 +6241,22 @@ bool WW8Fib::Write(SvStream& rStrm)
Set_UInt32( pData, fcAtrdExtra );
Set_UInt32( pData, lcbAtrdExtra );
- pData += 0x4DA - 0x422;
+ SvtMiscOptions aMiscOptions;
+ if (aMiscOptions.IsExperimentalMode())
+ {
+ pData += 0x432 - 0x422;
+ Set_UInt32(pData, fcPlcfBkfFactoid);
+ Set_UInt32(pData, lcbPlcfBkfFactoid);
+
+ pData += 0x442 - 0x43A;
+ Set_UInt32(pData, fcPlcfBklFactoid);
+ Set_UInt32(pData, lcbPlcfBklFactoid);
+
+ pData += 0x4DA - 0x44A;
+ }
+ else
+ pData += 0x4DA - 0x422;
+
Set_UInt32( pData, fcHplxsdr );
Set_UInt32( pData, 0);
}