[Libreoffice-commits] core.git: include/sfx2 include/svx sc/source sd/qa sd/source svx/source sw/source

Miklos Vajna vmiklos at collabora.co.uk
Wed Jun 29 08:38:11 UTC 2016


 dev/null                                    |binary
 include/sfx2/objsh.hxx                      |    6 +-
 include/svx/svdmodel.hxx                    |    4 -
 sc/source/ui/docshell/docsh.cxx             |    8 --
 sd/qa/unit/import-tests.cxx                 |   76 ----------------------------
 sd/source/ui/docshell/docshel4.cxx          |    7 --
 svx/source/svdraw/svdmodel.cxx              |   33 +-----------
 svx/source/svdraw/svdotextdecomposition.cxx |   18 +-----
 sw/source/uibase/app/docshini.cxx           |   10 ---
 9 files changed, 11 insertions(+), 151 deletions(-)

New commits:
commit a4780b3c8b45261e59ed3cbb34c4463d58ad8079
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed Jun 29 09:58:42 2016 +0200

    Revert "tdf#99729: fix text alignment (no autofit & no full width)"
    
    This reverts commit 0cb200d000fad8ba31c7400e08cd031823f27308. Even if it
    was verified by Jenkins, it broke CppunitTest_sd_import_tests on a
    number of tinderboxes. Need to at least find out how to reliably trigger
    the crash and fix it before it goes in again.
    
    Change-Id: I7ed52cae559648ec101b7a343046a7d74a7c48d3

diff --git a/include/sfx2/objsh.hxx b/include/sfx2/objsh.hxx
index 6b694f9..6f0c244 100644
--- a/include/sfx2/objsh.hxx
+++ b/include/sfx2/objsh.hxx
@@ -217,6 +217,8 @@ private:
 
     bool                        CloseInternal();
 
+    SAL_DLLPRIVATE static bool IsOwnStorageFormat(const SfxMedium &);
+
     SAL_DLLPRIVATE void UpdateTime_Impl(const css::uno::Reference<
         css::document::XDocumentProperties> & i_xDocProps);
 
@@ -624,9 +626,7 @@ public:
     virtual void    SetProtectionPassword( const OUString &rPassword );
     virtual bool    GetProtectionHash( /*out*/ css::uno::Sequence< sal_Int8 > &rPasswordHash );
 
-    static bool IsOwnStorageFormat(const SfxMedium &);
-
-    SAL_DLLPRIVATE std::shared_ptr<GDIMetaFile> CreatePreviewMetaFile_Impl(bool bFullContent) const;
+    SAL_DLLPRIVATE std::shared_ptr<GDIMetaFile> CreatePreviewMetaFile_Impl( bool bFullContent ) const;
 
     SAL_DLLPRIVATE bool IsPackageStorageFormat_Impl(const SfxMedium &) const;
 
diff --git a/include/svx/svdmodel.hxx b/include/svx/svdmodel.hxx
index 81ec9c5..ae3c68c 100644
--- a/include/svx/svdmodel.hxx
+++ b/include/svx/svdmodel.hxx
@@ -544,10 +544,6 @@ public:
     void SetAddExtLeading( bool bEnabled );
     bool IsAddExtLeading() const { return mbAddExtLeading; }
 
-    // tdf#99729 compatibility flag
-    void SetAnchoredTextOverflowLegacy(bool bEnabled);
-    bool IsAnchoredTextOverflowLegacy() const;
-
     void ReformatAllTextObjects();
 
     SdrOutliner* createOutliner( OutlinerMode nOutlinerMode );
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index d700e16..79cb8c8 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -557,14 +557,6 @@ bool ScDocShell::Load( SfxMedium& rMedium )
     //  -> initialize the others from options (before loading)
     InitOptions(true);
 
-    // If this is an ODF file being loaded, then by default, use legacy processing
-    // for tdf#99729 (if required, it will be overriden in *::ReadUserDataSequence())
-    if (IsOwnStorageFormat(rMedium))
-    {
-        if (aDocument.GetDrawLayer())
-            aDocument.GetDrawLayer()->SetAnchoredTextOverflowLegacy(true);
-    }
-
     GetUndoManager()->Clear();
 
     bool bRet = SfxObjectShell::Load( rMedium );
diff --git a/sd/qa/unit/data/odp/tdf99729-legacy.odp b/sd/qa/unit/data/odp/tdf99729-legacy.odp
deleted file mode 100644
index 899b55c..0000000
Binary files a/sd/qa/unit/data/odp/tdf99729-legacy.odp and /dev/null differ
diff --git a/sd/qa/unit/data/odp/tdf99729-new.odp b/sd/qa/unit/data/odp/tdf99729-new.odp
deleted file mode 100644
index 1c5a9cd..0000000
Binary files a/sd/qa/unit/data/odp/tdf99729-new.odp and /dev/null differ
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 538fdd0..6e321f4 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -68,9 +68,6 @@
 #include <comphelper/processfactory.hxx>
 #include <vcl/pngread.hxx>
 #include <vcl/bitmapaccess.hxx>
-#include <sfx2/frame.hxx>
-#include <com/sun/star/frame/XModel2.hpp>
-#include <com/sun/star/frame/XController2.hpp>
 
 using namespace ::com::sun::star;
 
@@ -120,7 +117,6 @@ public:
     void testTdf93097();
     void testTdf62255();
     void testTdf93124();
-    void testTdf99729();
     void testTdf89927();
     void testTdf93868();
     void testTdf95932();
@@ -171,7 +167,6 @@ public:
     CPPUNIT_TEST(testTdf93097);
     CPPUNIT_TEST(testTdf62255);
     CPPUNIT_TEST(testTdf93124);
-    CPPUNIT_TEST(testTdf99729);
     CPPUNIT_TEST(testTdf89927);
     CPPUNIT_TEST(testTdf93868);
     CPPUNIT_TEST(testTdf95932);
@@ -1324,77 +1319,6 @@ void SdImportTest::testTdf93124()
     xDocShRef->DoClose();
 }
 
-void SdImportTest::testTdf99729()
-{
-    const char* filenames[] = { "/sd/qa/unit/data/odp/tdf99729-new.odp", "/sd/qa/unit/data/odp/tdf99729-legacy.odp" };
-    int nonwhitecounts[] = { 0, 0 };
-    for (unsigned int i = 0; i < sizeof(filenames)/sizeof(filenames[0]); ++i)
-    {
-        // 1st check for new behaviour - having AnchoredTextOverflowLegacy compatibility flag set to false in settings.xml
-        sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc(filenames[i]), ODP);
-
-        const css::uno::Reference< css::frame::XFrame > xFrame = SfxFrame::CreateBlankFrame();
-        CPPUNIT_ASSERT(xFrame.is());
-        const css::uno::Reference< css::frame::XModel2 > xModel(xDocShRef->GetModel(), css::uno::UNO_QUERY);
-        CPPUNIT_ASSERT(xModel.is());
-        const css::uno::Reference< css::frame::XController2 > xController(xModel->createViewController(
-            "Default",
-            css::uno::Sequence< css::beans::PropertyValue >(),
-            xFrame
-            ), css::uno::UNO_QUERY);
-        CPPUNIT_ASSERT(xController.is());
-        xController->attachModel(xModel.get());
-        xModel->connectController(xController.get());
-        xFrame->setComponent(xController->getComponentWindow(), xController.get());
-        xController->attachFrame(xFrame);
-        xModel->setCurrentController(xController.get());
-
-        uno::Reference < uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
-        CPPUNIT_ASSERT(xContext.is());
-        uno::Reference< drawing::XGraphicExportFilter > xGraphicExporter = drawing::GraphicExportFilter::create(xContext);
-        CPPUNIT_ASSERT(xGraphicExporter.is());
-
-        uno::Sequence< beans::PropertyValue > aFilterData(2);
-        aFilterData[0].Name = "PixelWidth";
-        aFilterData[0].Value <<= (sal_Int32)(320);
-        aFilterData[1].Name = "PixelHeight";
-        aFilterData[1].Value <<= (sal_Int32)(240);
-
-        utl::TempFile aTempFile;
-        aTempFile.EnableKillingFile();
-
-        uno::Sequence< beans::PropertyValue > aDescriptor(3);
-        aDescriptor[0].Name = "URL";
-        aDescriptor[0].Value <<= aTempFile.GetURL();
-        aDescriptor[1].Name = "FilterName";
-        aDescriptor[1].Value <<= OUString("PNG");
-        aDescriptor[2].Name = "FilterData";
-        aDescriptor[2].Value <<= aFilterData;
-
-        uno::Reference< lang::XComponent > xPage(getPage(0, xDocShRef), uno::UNO_QUERY);
-        xGraphicExporter->setSourceDocument(xPage);
-        xGraphicExporter->filter(aDescriptor);
-
-        SvFileStream aFileStream(aTempFile.GetURL(), StreamMode::READ);
-        vcl::PNGReader aPNGReader(aFileStream);
-        BitmapEx aBMPEx = aPNGReader.Read();
-        Bitmap aBMP = aBMPEx.GetBitmap();
-        BitmapReadAccess* pRead = aBMP.AcquireReadAccess();
-        for (long nX = 154; nX < (154 + 12); ++nX)
-            for (long nY = 16; nY < (16 + 96); ++nY)
-            {
-                const Color aColor = pRead->GetColor(nY, nX);
-                if ((aColor.GetRed() != 0xff) || (aColor.GetGreen() != 0xff) || (aColor.GetBlue() != 0xff))
-                    ++nonwhitecounts[i];
-            }
-    }
-    // The numbers 1-9 should be above the Text Box in rectangle 154,16 - 170,112.
-    // If text alignment is wrong, the rectangle will be white.
-    CPPUNIT_ASSERT_MESSAGE("Tdf99729: vertical alignment of text is incorrect!", nonwhitecounts[0]>200); // it was 245 at my testing
-    // The numbers 1-9 should be below the Text Box -> rectangle 154,16 - 170,112 should be white.
-    CPPUNIT_ASSERT_MESSAGE("Tdf99729: legacy vertical alignment of text is incorrect!", nonwhitecounts[1] == 0);
-}
-
 void SdImportTest::testTdf89927()
 {
     sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf89927.pptx"), PPTX);
diff --git a/sd/source/ui/docshell/docshel4.cxx b/sd/source/ui/docshell/docshel4.cxx
index 5fa1204..844548f 100644
--- a/sd/source/ui/docshell/docshel4.cxx
+++ b/sd/source/ui/docshell/docshel4.cxx
@@ -264,13 +264,6 @@ bool DrawDocShell::Load( SfxMedium& rMedium )
 {
     mbNewDocument = false;
 
-    // If this is an ODF file being loaded, then by default, use legacy processing
-    // for tdf#99729 (if required, it will be overriden in *::ReadUserDataSequence())
-    if (IsOwnStorageFormat(rMedium))
-    {
-        mpDoc->SetAnchoredTextOverflowLegacy(true);
-    }
-
     bool       bRet = false;
     bool       bStartPresentation = false;
     ErrCode nError = ERRCODE_NONE;
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index 8d97029..5c66289 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -103,8 +103,6 @@ struct SdrModelImpl
 {
     SfxUndoManager* mpUndoManager;
     SdrUndoFactory* mpUndoFactory;
-
-    bool mbAnchoredTextOverflowLegacy; // tdf#99729 compatibility flag
 };
 
 
@@ -114,7 +112,6 @@ void SdrModel::ImpCtor(SfxItemPool* pPool, ::comphelper::IEmbeddedHelper* _pEmbe
     mpImpl.reset(new SdrModelImpl);
     mpImpl->mpUndoManager=nullptr;
     mpImpl->mpUndoFactory=nullptr;
-    mpImpl->mbAnchoredTextOverflowLegacy = false;
     mbInDestruction = false;
     aObjUnit=SdrEngineDefaults::GetMapFraction();
     eObjUnit=SdrEngineDefaults::GetMapUnit();
@@ -1889,16 +1886,6 @@ void SdrModel::SetAddExtLeading( bool bEnabled )
     }
 }
 
-void SdrModel::SetAnchoredTextOverflowLegacy(bool bEnabled)
-{
-    mpImpl->mbAnchoredTextOverflowLegacy = bEnabled;
-}
-
-bool SdrModel::IsAnchoredTextOverflowLegacy() const
-{
-    return mpImpl->mbAnchoredTextOverflowLegacy;
-}
-
 void SdrModel::ReformatAllTextObjects()
 {
     ImpReformatAllTextObjects();
@@ -1938,28 +1925,16 @@ SvxNumType SdrModel::GetPageNumType() const
     return SVX_ARABIC;
 }
 
-void SdrModel::ReadUserDataSequenceValue(const css::beans::PropertyValue* pValue)
-{
-    bool bBool = false;
-    if (pValue->Name == "AnchoredTextOverflowLegacy")
-    {
-        if (pValue->Value >>= bBool)
-        {
-            mpImpl->mbAnchoredTextOverflowLegacy = bBool;
-        }
-    }
-}
-
-template <typename T>
-inline void addPair(std::vector< std::pair< OUString, Any > >& aUserData, const OUString& name, const T val)
+void SdrModel::ReadUserDataSequenceValue(const css::beans::PropertyValue* /*pValue*/)
 {
-    aUserData.push_back(std::pair< OUString, Any >(name, css::uno::makeAny(val)));
+    (void) this; // TODO: Read common model-level values
 }
 
 void SdrModel::WriteUserDataSequence(css::uno::Sequence < css::beans::PropertyValue >& rValues, bool /*bBrowse*/)
 {
     std::vector< std::pair< OUString, Any > > aUserData;
-    addPair(aUserData, "AnchoredTextOverflowLegacy", IsAnchoredTextOverflowLegacy());
+    (void) this;
+    // TODO: Write common model-level properties (e.g. to settings.xml)
 
     const sal_Int32 nOldLength = rValues.getLength();
     rValues.realloc(nOldLength + aUserData.size());
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 63bfcdd..27f289d 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -972,24 +972,14 @@ void SdrTextObj::impDecomposeBlockTextPrimitive(
             // 'measurement' of the real size of block text would not work
             Size aMaxAutoPaperSize(aAnchorTextSize);
 
-            // Usual processing - always grow in one of directions
-            bool bAllowGrowVertical = !bVerticalWriting;
-            bool bAllowGrowHorizontal = bVerticalWriting;
-            // Compatibility mode for tdf#99729
-            if (this->pModel->IsAnchoredTextOverflowLegacy())
+            if(bHorizontalIsBlock)
             {
-                bAllowGrowVertical = bHorizontalIsBlock;
-                bAllowGrowHorizontal = bVerticalIsBlock;
-            }
-
-            if (bAllowGrowVertical)
-            {
-                // allow to grow vertical for horizontal texts
+                // allow to grow vertical for horizontal blocks
                 aMaxAutoPaperSize.setHeight(1000000);
             }
-            else if (bAllowGrowHorizontal)
+            else if(bVerticalIsBlock)
             {
-                // allow to grow horizontal for vertical texts
+                // allow to grow horizontal for vertical blocks
                 aMaxAutoPaperSize.setWidth(1000000);
             }
 
diff --git a/sw/source/uibase/app/docshini.cxx b/sw/source/uibase/app/docshini.cxx
index 7d8bf17..92b2394 100644
--- a/sw/source/uibase/app/docshini.cxx
+++ b/sw/source/uibase/app/docshini.cxx
@@ -88,7 +88,6 @@
 #include <swerror.h>
 #include <globals.hrc>
 #include <unochart.hxx>
-#include <drawdoc.hxx>
 
 #include <svx/CommonStyleManager.hxx>
 
@@ -491,15 +490,6 @@ void SwDocShell::ReactivateModel()
 bool  SwDocShell::Load( SfxMedium& rMedium )
 {
     bool bRet = false;
-
-    // If this is an ODF file being loaded, then by default, use legacy processing
-    // for tdf#99729 (if required, it will be overriden in *::ReadUserDataSequence())
-    if (IsOwnStorageFormat(rMedium))
-    {
-        if (m_pDoc && m_pDoc->getIDocumentDrawModelAccess().GetDrawModel())
-            m_pDoc->getIDocumentDrawModelAccess().GetDrawModel()->SetAnchoredTextOverflowLegacy(true);
-    }
-
     if( SfxObjectShell::Load( rMedium ))
     {
         SAL_INFO( "sw.ui", "after SfxInPlaceObject::Load" );


More information about the Libreoffice-commits mailing list