sw/qa/extras/rtfexport/data/fdo69384-paste.rtf | 4 ++-- sw/qa/extras/rtfexport/rtfexport2.cxx | 13 ++++++++++--- writerfilter/source/dmapper/StyleSheetTable.cxx | 7 ------- 3 files changed, 12 insertions(+), 12 deletions(-)
New commits: commit 1f1e349bbee1b2bff01a850d9a7fe4d6a77c4f29 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Aug 23 17:19:07 2018 +0100 Commit: Miklos Vajna <vmik...@collabora.co.uk> CommitDate: Mon Aug 27 09:27:02 2018 +0200 Resolves: tdf#118382 crash on paste of rtf into an existing document since.... commit deaa16bd24fba4a3a6b072ab2b94542a7dbd41c6 Author: Serge Krot <serge.k...@cib.de> Date: Mon Jan 29 12:17:06 2018 +0100 tdf#72942 Do not overwrite styles from the inserted doc During inserting of the text from the external document we should not change original default styles in currently opened document. because missing styles aren't created, so there's exceptons thrown on their use. I see that the m_bIsNewDoc flag is already checked for since... commit 5ebe826caf75e8d00656b3333385bf0bbc05cb27 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Fri Oct 4 11:02:59 2013 +0200 fdo#69384 fix impress -> writer copy&paste Regression from 2ade07126971b79c92f729fae5709f2e2e2b495c (fdo#62044 RTF import: don't overwrite existing styles when pasting, 2013-06-04), during paste, if existing style was found, then the intention was to skip that style, but instead we tried to create one. in the body of the following loop, which should mean that existing styles are left alone and only missing styles created if we remove this hunk of the tdf#72942 commit Change-Id: Ia4aedb5e309c991490656061aa20d11ff24f4f9e Reviewed-on: https://gerrit.libreoffice.org/59519 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/sw/qa/extras/rtfexport/data/fdo69384-paste.rtf b/sw/qa/extras/rtfexport/data/fdo69384-paste.rtf index cbdca5be6e9c..e0a9733c7475 100644 --- a/sw/qa/extras/rtfexport/data/fdo69384-paste.rtf +++ b/sw/qa/extras/rtfexport/data/fdo69384-paste.rtf @@ -8,10 +8,10 @@ {\s4\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext4 Object without fill;} {\s5\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext5 Object with no fill and no line;} {\s6\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext6 Text;} -{\s7\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs32\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext7 Text body;} +{\s7\fi0\li0\ri0\sb0\sa0\sl200\slmult0\cf0\f3\fs132\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs136\fs136\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext7 Text Body;} {\s8\fi0\li0\ri0\sb0\sa0\sl200\slmult0\ql\cf0\f3\fs36\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs36\fs36\b0\b0\i0\i0\accnone\olnone\sbasedon1\snext8 Text body justified;}} {\*\EditEnginePoolDefaults\ltrpar\fi0\li0\ri0\fi0\li0\ri0\sb0\sa0\sl0\slmult0\ql\cf0\f0\fs48\b0\ulnone\strike0\i0\outl0\shad0\kerning0\expndtw0\f1\f2\fs48\fs48\b0\b0\i0\i0\accnone\olnone} \deftab709 { -\s27\fi0\li0\ri0\qc\cf0\f3\fs64\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs64\fs64\b0\b0\i0\i0\accnone\olnone {\f3\fs64\b0\i0 sss}\par\pard\plain +\s7\fi0\li0\ri0\qc\cf0\f3\fs64\b0\ulnone\strike0\i0\outl0\shad0\kerning1\f4\f2\fs64\fs64\b0\b0\i0\i0\accnone\olnone {\f3\fs64\b0\i0 sss}\par\pard\plain }} diff --git a/sw/qa/extras/rtfexport/rtfexport2.cxx b/sw/qa/extras/rtfexport/rtfexport2.cxx index 64de79280e25..e5b2fd4f958b 100644 --- a/sw/qa/extras/rtfexport/rtfexport2.cxx +++ b/sw/qa/extras/rtfexport/rtfexport2.cxx @@ -655,8 +655,12 @@ DECLARE_RTFEXPORT_TEST(testFdo63428, "hello.rtf") DECLARE_RTFEXPORT_TEST(testFdo69384, "fdo69384-paste.rtf") { - // Check if the style is loaded + // Ensure non-default style is loaded getStyles("ParagraphStyles")->getByName("Text body justified"); + // Ensure default styles were modified, vs testFdo69384Inserted where it is not + uno::Reference<beans::XPropertySet> xPropertySet( + getStyles("ParagraphStyles")->getByName("Text Body"), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(68.f, getProperty<float>(xPropertySet, "CharHeight")); } DECLARE_RTFEXPORT_TEST(testFdo69384Inserted, "hello.rtf") @@ -666,8 +670,11 @@ DECLARE_RTFEXPORT_TEST(testFdo69384Inserted, "hello.rtf") uno::Reference<text::XTextRange> xEnd = xText->getEnd(); paste("rtfexport/data/fdo69384-paste.rtf", xEnd); - // During insert of the RTF document we do not insert new styles - CPPUNIT_ASSERT(!getStyles("ParagraphStyles")->hasByName("Text body justified")); + // During insert of the RTF document we do not change pre-existing styles + // vs testFdo69384 where it is + uno::Reference<beans::XPropertySet> xPropertySet( + getStyles("ParagraphStyles")->getByName("Text Body"), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(12.f, getProperty<float>(xPropertySet, "CharHeight")); } DECLARE_RTFEXPORT_TEST(testFdo61193, "hello.rtf") diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx index cb188909461a..4763519a1b46 100644 --- a/writerfilter/source/dmapper/StyleSheetTable.cxx +++ b/writerfilter/source/dmapper/StyleSheetTable.cxx @@ -911,13 +911,6 @@ uno::Sequence< OUString > PropValVector::getNames() void StyleSheetTable::ApplyStyleSheets( const FontTablePtr& rFontTable ) { - if (!m_pImpl->m_bIsNewDoc) - { - // tdf#72942: do not import styles from document being inserted, - // while they corrupts original styles in master document - return; - } - try { uno::Reference< style::XStyleFamiliesSupplier > xStylesSupplier( m_pImpl->m_xTextDocument, uno::UNO_QUERY_THROW ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits