[Libreoffice-commits] core.git: Branch 'feature/textbox' - 48 commits - avmedia/Module_avmedia.mk avmedia/source basegfx/source chart2/source compilerplugins/clang configure.ac connectivity/source drawinglayer/source .git-hooks/pre-commit include/drawinglayer include/oox include/svl include/svx jurt/test offapi/com oovbaapi/ooo oox/source postprocess/Rdb_services.mk scp2/source sc/qa sc/source sdext/source sd/source sfx2/source slideshow/source stoc/test svgio/inc svgio/source svtools/source svx/inc svx/source sw/inc sw/Library_sw.mk sw/qa sw/source toolkit/source unotools/source vcl/generic vcl/source wizards/source writerfilter/source xmloff/source

Miklos Vajna vmiklos at collabora.co.uk
Mon May 19 07:10:25 PDT 2014


Rebased ref, commits from common ancestor:
commit 910dc780b95ba81d7f9a0d0567ba431c04c205a7
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Mon May 19 16:07:39 2014 +0200

    SwXShape: return the right XText implementaation in the TextBox case
    
    Change-Id: I3ed2ec78c1e72a1144ccd5d98ed04b1fee1a94d9

diff --git a/sw/inc/textboxhelper.hxx b/sw/inc/textboxhelper.hxx
index 0c992dc..f7750b3 100644
--- a/sw/inc/textboxhelper.hxx
+++ b/sw/inc/textboxhelper.hxx
@@ -28,8 +28,8 @@ public:
     static void create(SwFrmFmt* pShape);
     /// Destroy a TextBox for a shape.
     static void destroy(SwFrmFmt* pShape);
-    /// Get XTextAppend of a shape's TextBox, if there is any.
-    static css::uno::Any getXTextAppend(SwFrmFmt* pShape, const css::uno::Type& rType);
+    /// Get interface of a shape's TextBox, if there is any.
+    static css::uno::Any queryInterface(SwFrmFmt* pShape, const css::uno::Type& rType);
     /// Sync property of TextBox with the one of the shape.
     static void syncProperty(SwFrmFmt* pShape, sal_uInt16 nWID, sal_uInt8 nMemberID, const OUString& rPropertyName, const css::uno::Any& rValue);
     /// If we have an associated TextFrame, then return that.
diff --git a/sw/source/core/doc/textboxhelper.cxx b/sw/source/core/doc/textboxhelper.cxx
index faadb5f..85b18b9 100644
--- a/sw/source/core/doc/textboxhelper.cxx
+++ b/sw/source/core/doc/textboxhelper.cxx
@@ -103,18 +103,29 @@ SwFrmFmt* SwTextBoxHelper::findTextBox(SwFrmFmt* pShape)
     return pRet;
 }
 
-uno::Any SwTextBoxHelper::getXTextAppend(SwFrmFmt* pShape, const uno::Type& rType)
+template < typename T >
+void lcl_queryInterface(SwFrmFmt* pShape, uno::Any& rAny)
+{
+    if (SwFrmFmt* pFmt = SwTextBoxHelper::findTextBox(pShape))
+    {
+        uno::Reference<T> xInterface(static_cast<cppu::OWeakObject*>(SwXFrames::GetObject(*pFmt, FLYCNTTYPE_FRM)), uno::UNO_QUERY);
+        rAny <<= xInterface;
+    }
+}
+
+uno::Any SwTextBoxHelper::queryInterface(SwFrmFmt* pShape, const uno::Type& rType)
 {
     uno::Any aRet;
 
     if (rType == cppu::UnoType<css::text::XTextAppend>::get())
     {
-        if (SwFrmFmt* pFmt = findTextBox(pShape))
-        {
-            uno::Reference<text::XTextAppend> xTextAppend(static_cast<cppu::OWeakObject*>(SwXFrames::GetObject(*pFmt, FLYCNTTYPE_FRM)), uno::UNO_QUERY);
-            aRet <<= xTextAppend;
-        }
+        lcl_queryInterface<text::XTextAppend>(pShape, aRet);
     }
+    else if (rType == cppu::UnoType<css::text::XText>::get())
+    {
+        lcl_queryInterface<text::XText>(pShape, aRet);
+    }
+
 
     return aRet;
 }
diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx
index 6a3261b..6cef384 100644
--- a/sw/source/core/unocore/unodraw.cxx
+++ b/sw/source/core/unocore/unodraw.cxx
@@ -975,7 +975,7 @@ SwXShape::~SwXShape()
 
 uno::Any SwXShape::queryInterface( const uno::Type& aType ) throw( uno::RuntimeException, std::exception )
 {
-    uno::Any aRet = SwTextBoxHelper::getXTextAppend(GetFrmFmt(), aType);
+    uno::Any aRet = SwTextBoxHelper::queryInterface(GetFrmFmt(), aType);
     if (aRet.hasValue())
         return aRet;
 
commit 1109bd2daf57c1672f9f3dc3e237252910bd8427
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed May 14 17:03:45 2014 +0200

    SwXShape: allow setting TextBox property to false
    
    Change-Id: I3b501d6928cded0f4684817c24674423c1d6c2da

diff --git a/sw/inc/textboxhelper.hxx b/sw/inc/textboxhelper.hxx
index 93a459d..0c992dc 100644
--- a/sw/inc/textboxhelper.hxx
+++ b/sw/inc/textboxhelper.hxx
@@ -26,6 +26,8 @@ class SwTextBoxHelper
 public:
     /// Create a TextBox for a shape.
     static void create(SwFrmFmt* pShape);
+    /// Destroy a TextBox for a shape.
+    static void destroy(SwFrmFmt* pShape);
     /// Get XTextAppend of a shape's TextBox, if there is any.
     static css::uno::Any getXTextAppend(SwFrmFmt* pShape, const css::uno::Type& rType);
     /// Sync property of TextBox with the one of the shape.
diff --git a/sw/source/core/doc/textboxhelper.cxx b/sw/source/core/doc/textboxhelper.cxx
index 9937778..faadb5f 100644
--- a/sw/source/core/doc/textboxhelper.cxx
+++ b/sw/source/core/doc/textboxhelper.cxx
@@ -65,6 +65,22 @@ void SwTextBoxHelper::create(SwFrmFmt* pShape)
     }
 }
 
+void SwTextBoxHelper::destroy(SwFrmFmt* pShape)
+{
+    // If a TextBox was enabled previously
+    if (pShape->GetAttrSet().HasItem(RES_CNTNT))
+    {
+        SwFrmFmt* pFmt = findTextBox(pShape);
+
+        // Unlink the TextBox's text range from the original shape.
+        pShape->ResetFmtAttr(RES_CNTNT);
+
+        // Delete the associated TextFrame.
+        if (pFmt)
+            pShape->GetDoc()->DelLayoutFmt(pFmt);
+    }
+}
+
 SwFrmFmt* SwTextBoxHelper::findTextBox(SwFrmFmt* pShape)
 {
     SwFrmFmt* pRet = 0;
diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx
index 5ece513..6a3261b 100644
--- a/sw/source/core/unocore/unodraw.cxx
+++ b/sw/source/core/unocore/unodraw.cxx
@@ -1182,9 +1182,10 @@ void SwXShape::setPropertyValue(const OUString& rPropertyName, const uno::Any& a
                 {
                     bool bValue;
                     aValue >>= bValue;
-                    // If TextBox is to be enabled.
                     if (bValue)
                         SwTextBoxHelper::create(pFmt);
+                    else
+                        SwTextBoxHelper::destroy(pFmt);
 
                 }
                 // #i28749#
commit 33de2a375ecbba7b8936130a55e8bc8ad2a72211
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed May 14 16:06:13 2014 +0200

    SwTextBoxHelper::syncProperty(): avoid crash on not-yet-inserted shape
    
    Change-Id: Ic5d6a62ec3ba2e096e9257ab7d30004cf3213069

diff --git a/sw/source/core/doc/textboxhelper.cxx b/sw/source/core/doc/textboxhelper.cxx
index ec27548..9937778 100644
--- a/sw/source/core/doc/textboxhelper.cxx
+++ b/sw/source/core/doc/textboxhelper.cxx
@@ -105,6 +105,10 @@ uno::Any SwTextBoxHelper::getXTextAppend(SwFrmFmt* pShape, const uno::Type& rTyp
 
 void SwTextBoxHelper::syncProperty(SwFrmFmt* pShape, sal_uInt16 nWID, sal_uInt8 nMemberId, const OUString& rPropertyName, const css::uno::Any& rValue)
 {
+    // No shape yet? Then nothing to do, initial properties are set by create().
+    if (!pShape)
+        return;
+
     uno::Any aValue(rValue);
     nMemberId &= ~CONVERT_TWIPS;
 
commit f6e11f2d236eb8cf26a50ef2cab01d8a1e964ee5
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed May 14 11:52:33 2014 +0200

    SwXShape: new bool TextBox property
    
    Change-Id: Id9744db2d2a7c6102514f05109c80650af243e28

diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h
index 8f49675..2d3ae39 100644
--- a/sw/inc/cmdid.h
+++ b/sw/inc/cmdid.h
@@ -855,6 +855,7 @@
 #define FN_SHAPE_STARTPOSITION_IN_HORI_L2R (FN_PARAM2+25)
 #define FN_SHAPE_ENDPOSITION_IN_HORI_L2R   (FN_PARAM2+26)
 #define FN_PARAM_PAM                    (FN_PARAM2+27) /* Point and Mark */
+#define FN_TEXT_BOX                     (FN_PARAM2+28) /* TextBox Property*/
 
 /*--------------------------------------------------------------------
     Description: Status: not more than 19!
diff --git a/sw/inc/textboxhelper.hxx b/sw/inc/textboxhelper.hxx
index 65ba9cf..93a459d 100644
--- a/sw/inc/textboxhelper.hxx
+++ b/sw/inc/textboxhelper.hxx
@@ -30,6 +30,8 @@ public:
     static css::uno::Any getXTextAppend(SwFrmFmt* pShape, const css::uno::Type& rType);
     /// Sync property of TextBox with the one of the shape.
     static void syncProperty(SwFrmFmt* pShape, sal_uInt16 nWID, sal_uInt8 nMemberID, const OUString& rPropertyName, const css::uno::Any& rValue);
+    /// If we have an associated TextFrame, then return that.
+    static SwFrmFmt* findTextBox(SwFrmFmt* pShape);
 };
 
 #endif // INCLUDED_SW_INC_TEXTBOXHELPER_HXX
diff --git a/sw/inc/unoprnms.hxx b/sw/inc/unoprnms.hxx
index 63dfe4a..bed1254 100644
--- a/sw/inc/unoprnms.hxx
+++ b/sw/inc/unoprnms.hxx
@@ -65,6 +65,7 @@
 #define UNO_NAME_FOOTER_LEFT_MARGIN "FooterLeftMargin"
 #define UNO_NAME_FOOTER_RIGHT_MARGIN "FooterRightMargin"
 #define UNO_NAME_TEXT_RANGE "TextRange"
+#define UNO_NAME_TEXT_BOX "TextBox"
 #define UNO_NAME_NAME "Name"
 #define UNO_NAME_NUMBERING_ALIGNMENT "NumberingAlignment"
 #define UNO_NAME_BULLET_FONT_NAME "BulletFontName"
diff --git a/sw/source/core/doc/textboxhelper.cxx b/sw/source/core/doc/textboxhelper.cxx
index d7702f7..ec27548 100644
--- a/sw/source/core/doc/textboxhelper.cxx
+++ b/sw/source/core/doc/textboxhelper.cxx
@@ -65,8 +65,7 @@ void SwTextBoxHelper::create(SwFrmFmt* pShape)
     }
 }
 
-// If we have an associated TextFrame, then return that.
-SwFrmFmt* lcl_findTextBox(SwFrmFmt* pShape)
+SwFrmFmt* SwTextBoxHelper::findTextBox(SwFrmFmt* pShape)
 {
     SwFrmFmt* pRet = 0;
 
@@ -94,7 +93,7 @@ uno::Any SwTextBoxHelper::getXTextAppend(SwFrmFmt* pShape, const uno::Type& rTyp
 
     if (rType == cppu::UnoType<css::text::XTextAppend>::get())
     {
-        if (SwFrmFmt* pFmt = lcl_findTextBox(pShape))
+        if (SwFrmFmt* pFmt = findTextBox(pShape))
         {
             uno::Reference<text::XTextAppend> xTextAppend(static_cast<cppu::OWeakObject*>(SwXFrames::GetObject(*pFmt, FLYCNTTYPE_FRM)), uno::UNO_QUERY);
             aRet <<= xTextAppend;
@@ -109,7 +108,7 @@ void SwTextBoxHelper::syncProperty(SwFrmFmt* pShape, sal_uInt16 nWID, sal_uInt8
     uno::Any aValue(rValue);
     nMemberId &= ~CONVERT_TWIPS;
 
-    if (SwFrmFmt* pFmt = lcl_findTextBox(pShape))
+    if (SwFrmFmt* pFmt = findTextBox(pShape))
     {
         bool bSync = false;
         bool bAdjustX = false;
diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx
index 82d969a..5ece513 100644
--- a/sw/source/core/unocore/unodraw.cxx
+++ b/sw/source/core/unocore/unodraw.cxx
@@ -1178,6 +1178,15 @@ void SwXShape::setPropertyValue(const OUString& rPropertyName, const uno::Any& a
                         delete pInternalPam;
                     }
                 }
+                else if (pEntry->nWID == FN_TEXT_BOX)
+                {
+                    bool bValue;
+                    aValue >>= bValue;
+                    // If TextBox is to be enabled.
+                    if (bValue)
+                        SwTextBoxHelper::create(pFmt);
+
+                }
                 // #i28749#
                 else if ( FN_SHAPE_POSITION_LAYOUT_DIR == pEntry->nWID )
                 {
@@ -1500,6 +1509,11 @@ uno::Any SwXShape::getPropertyValue(const OUString& rPropertyName)
                         }
                     }
                 }
+                else if (pEntry->nWID == FN_TEXT_BOX)
+                {
+                    bool bValue = SwTextBoxHelper::findTextBox(pFmt);
+                    aRet <<= bValue;
+                }
                 // #i28749#
                 else if ( FN_SHAPE_TRANSFORMATION_IN_HORI_L2R == pEntry->nWID )
                 {
diff --git a/sw/source/core/unocore/unomap.cxx b/sw/source/core/unocore/unomap.cxx
index b2fb907..5a9cb5a 100644
--- a/sw/source/core/unocore/unomap.cxx
+++ b/sw/source/core/unocore/unomap.cxx
@@ -1394,6 +1394,7 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                     { OUString(UNO_NAME_RELATIVE_HEIGHT_RELATION), RES_FRM_SIZE, cppu::UnoType<sal_Int16>::get(),      PROPERTY_NONE, MID_FRMSIZE_REL_HEIGHT_RELATION },
                     { OUString(UNO_NAME_RELATIVE_WIDTH), RES_FRM_SIZE,      cppu::UnoType<sal_Int16>::get()  ,         PROPERTY_NONE, MID_FRMSIZE_REL_WIDTH  },
                     { OUString(UNO_NAME_RELATIVE_WIDTH_RELATION), RES_FRM_SIZE, cppu::UnoType<sal_Int16>::get(),       PROPERTY_NONE, MID_FRMSIZE_REL_WIDTH_RELATION },
+                    { OUString(UNO_NAME_TEXT_BOX), FN_TEXT_BOX, cppu::UnoType<bool>::get(), PROPERTY_NONE, 0},
                     { OUString(), 0, css::uno::Type(), 0, 0 }
                 };
                 aMapEntriesArr[nPropertyId] = aShapeMap_Impl;
commit c82fb396191f35208125e80761e0288bc17fa2f1
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed May 14 11:44:35 2014 +0200

    SwXShape: invoke SwTextBoxHelper
    
    For now, only in queryInterface(), setPropertyValue() and setSize().
    It's safe to always call these methods, if they are not relevant, the
    method will be a NOP.
    
    Change-Id: I1985f8bcac38cf232652a1e30241a5fa6bef5aba

diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx
index 229ae11..82d969a 100644
--- a/sw/source/core/unocore/unodraw.cxx
+++ b/sw/source/core/unocore/unodraw.cxx
@@ -28,6 +28,7 @@
 #include <unotextrange.hxx>
 #include <svx/svditer.hxx>
 #include <swunohelper.hxx>
+#include <textboxhelper.hxx>
 #include <doc.hxx>
 #include <IDocumentUndoRedo.hxx>
 #include <fmtcntnt.hxx>
@@ -974,7 +975,11 @@ SwXShape::~SwXShape()
 
 uno::Any SwXShape::queryInterface( const uno::Type& aType ) throw( uno::RuntimeException, std::exception )
 {
-    uno::Any aRet = SwXShapeBaseClass::queryInterface(aType);
+    uno::Any aRet = SwTextBoxHelper::getXTextAppend(GetFrmFmt(), aType);
+    if (aRet.hasValue())
+        return aRet;
+
+    aRet = SwXShapeBaseClass::queryInterface(aType);
     // #i53320# - follow-up of #i31698#
     // interface drawing::XShape is overloaded. Thus, provide
     // correct object instance.
@@ -1325,6 +1330,8 @@ void SwXShape::setPropertyValue(const OUString& rPropertyName, const uno::Any& a
                     else
                         pFmt->SetFmtAttr(aSet);
                 }
+                // We have a pFmt and a pEntry as well: try to sync TextBox property.
+                SwTextBoxHelper::syncProperty(pFmt, pEntry->nWID, pEntry->nMemberId, rPropertyName, aValue);
             }
             else
             {
@@ -2309,6 +2316,7 @@ void SAL_CALL SwXShape::setSize( const awt::Size& aSize )
     {
         mxShape->setSize( aSize );
     }
+    SwTextBoxHelper::syncProperty(GetFrmFmt(), RES_FRM_SIZE, MID_FRMSIZE_SIZE, "Size", uno::makeAny(aSize));
 }
 // #i31698#
 // implementation of virtual methods from drawing::XShapeDescriptor
commit b62652f8d53085ace7eff52fcc925bc2ee2e6350
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed May 14 11:41:19 2014 +0200

    Initial SwTextBoxHelper
    
    Change-Id: I928cf7d7cbfb62ffa98be9412d7425a6dc61bfdb

diff --git a/sw/Library_sw.mk b/sw/Library_sw.mk
index ec4e021..b84e9fc 100644
--- a/sw/Library_sw.mk
+++ b/sw/Library_sw.mk
@@ -202,6 +202,7 @@ $(eval $(call gb_Library_add_exception_objects,sw,\
     sw/source/core/doc/tblafmt \
     sw/source/core/doc/tblcpy \
     sw/source/core/doc/tblrwcl \
+    sw/source/core/doc/textboxhelper \
     sw/source/core/doc/visiturl \
     sw/source/core/docnode/cancellablejob \
     sw/source/core/docnode/finalthreadmanager \
diff --git a/sw/inc/textboxhelper.hxx b/sw/inc/textboxhelper.hxx
new file mode 100644
index 0000000..65ba9cf
--- /dev/null
+++ b/sw/inc/textboxhelper.hxx
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_SW_INC_TEXTBOXHELPER_HXX
+#define INCLUDED_SW_INC_TEXTBOXHELPER_HXX
+
+#include <com/sun/star/uno/Any.h>
+#include <com/sun/star/uno/Type.h>
+
+class SwFrmFmt;
+
+/**
+ * A TextBox is a TextFrame, that is tied to a drawinglayer shape.
+ *
+ * This class provides helper methods to create, query and maintain such
+ * TextBoxes.
+ */
+class SwTextBoxHelper
+{
+public:
+    /// Create a TextBox for a shape.
+    static void create(SwFrmFmt* pShape);
+    /// Get XTextAppend of a shape's TextBox, if there is any.
+    static css::uno::Any getXTextAppend(SwFrmFmt* pShape, const css::uno::Type& rType);
+    /// Sync property of TextBox with the one of the shape.
+    static void syncProperty(SwFrmFmt* pShape, sal_uInt16 nWID, sal_uInt8 nMemberID, const OUString& rPropertyName, const css::uno::Any& rValue);
+};
+
+#endif // INCLUDED_SW_INC_TEXTBOXHELPER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/doc/textboxhelper.cxx b/sw/source/core/doc/textboxhelper.cxx
new file mode 100644
index 0000000..d7702f7
--- /dev/null
+++ b/sw/source/core/doc/textboxhelper.cxx
@@ -0,0 +1,189 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <textboxhelper.hxx>
+#include <frmfmt.hxx>
+#include <fmtcntnt.hxx>
+#include <doc.hxx>
+#include <docsh.hxx>
+#include <docary.hxx>
+#include <unocoll.hxx>
+#include <unoframe.hxx>
+#include <unotextbodyhf.hxx>
+#include <unotextrange.hxx>
+#include <unomid.h>
+
+#include <svx/svdoashp.hxx>
+#include <svx/unopage.hxx>
+
+#include <com/sun/star/table/BorderLine2.hpp>
+#include <com/sun/star/text/SizeType.hpp>
+#include <com/sun/star/text/XTextContent.hpp>
+#include <com/sun/star/text/XTextDocument.hpp>
+
+using namespace com::sun::star;
+
+void SwTextBoxHelper::create(SwFrmFmt* pShape)
+{
+    // If TextBox wasn't enabled previously
+    if (!pShape->GetAttrSet().HasItem(RES_CNTNT))
+    {
+        // Create the associated TextFrame and insert it into the document.
+        uno::Reference<text::XTextContent> xTextFrame(SwXServiceProvider::MakeInstance(SW_SERVICE_TYPE_TEXTFRAME, pShape->GetDoc()), uno::UNO_QUERY);
+        uno::Reference<text::XTextDocument> xTextDocument(pShape->GetDoc()->GetDocShell()->GetBaseModel(), uno::UNO_QUERY);
+        uno::Reference<text::XTextContentAppend> xTextContentAppend(xTextDocument->getText(), uno::UNO_QUERY);
+        xTextContentAppend->appendTextContent(xTextFrame, uno::Sequence<beans::PropertyValue>());
+
+        // Initialize properties.
+        uno::Reference<beans::XPropertySet> xPropertySet(xTextFrame, uno::UNO_QUERY);
+        uno::Any aEmptyBorder = uno::makeAny(table::BorderLine2());
+        xPropertySet->setPropertyValue("TopBorder", aEmptyBorder);
+        xPropertySet->setPropertyValue("BottomBorder", aEmptyBorder);
+        xPropertySet->setPropertyValue("LeftBorder", aEmptyBorder);
+        xPropertySet->setPropertyValue("RightBorder", aEmptyBorder);
+
+        xPropertySet->setPropertyValue("FillTransparence", uno::makeAny(sal_Int32(100)));
+
+        xPropertySet->setPropertyValue("SizeType", uno::makeAny(text::SizeType::FIX));
+
+        // Link its text range to the original shape.
+        uno::Reference<text::XTextRange> xTextBox(xTextFrame, uno::UNO_QUERY_THROW);
+        SwUnoInternalPaM aInternalPaM(*pShape->GetDoc());
+        if (sw::XTextRangeToSwPaM(aInternalPaM, xTextBox))
+        {
+            SwAttrSet aSet(pShape->GetAttrSet());
+            SwFmtCntnt aCntnt(aInternalPaM.GetNode()->StartOfSectionNode());
+            aSet.Put(aCntnt);
+            pShape->SetFmtAttr(aSet);
+        }
+    }
+}
+
+// If we have an associated TextFrame, then return that.
+SwFrmFmt* lcl_findTextBox(SwFrmFmt* pShape)
+{
+    SwFrmFmt* pRet = 0;
+
+    if (pShape->GetAttrSet().HasItem(RES_CNTNT))
+    {
+        const SwFmtCntnt& rCntnt = pShape->GetCntnt();
+        SwFrmFmts& rSpzFrmFmts = *pShape->GetDoc()->GetSpzFrmFmts();
+        for (SwFrmFmts::iterator it = rSpzFrmFmts.begin(); it != rSpzFrmFmts.end(); ++it)
+        {
+            SwFrmFmt* pFmt = *it;
+            if (pFmt->Which() == RES_FLYFRMFMT && pFmt->GetAttrSet().HasItem(RES_CNTNT) && pFmt->GetCntnt() == rCntnt)
+            {
+                pRet = pFmt;
+                break;
+            }
+        }
+    }
+
+    return pRet;
+}
+
+uno::Any SwTextBoxHelper::getXTextAppend(SwFrmFmt* pShape, const uno::Type& rType)
+{
+    uno::Any aRet;
+
+    if (rType == cppu::UnoType<css::text::XTextAppend>::get())
+    {
+        if (SwFrmFmt* pFmt = lcl_findTextBox(pShape))
+        {
+            uno::Reference<text::XTextAppend> xTextAppend(static_cast<cppu::OWeakObject*>(SwXFrames::GetObject(*pFmt, FLYCNTTYPE_FRM)), uno::UNO_QUERY);
+            aRet <<= xTextAppend;
+        }
+    }
+
+    return aRet;
+}
+
+void SwTextBoxHelper::syncProperty(SwFrmFmt* pShape, sal_uInt16 nWID, sal_uInt8 nMemberId, const OUString& rPropertyName, const css::uno::Any& rValue)
+{
+    uno::Any aValue(rValue);
+    nMemberId &= ~CONVERT_TWIPS;
+
+    if (SwFrmFmt* pFmt = lcl_findTextBox(pShape))
+    {
+        bool bSync = false;
+        bool bAdjustX = false;
+        bool bAdjustY = false;
+        bool bAdjustSize = false;
+        switch (nWID)
+        {
+        case RES_HORI_ORIENT:
+            switch (nMemberId)
+            {
+            case MID_HORIORIENT_ORIENT:
+            case MID_HORIORIENT_RELATION:
+                bSync = true;
+                break;
+            case MID_HORIORIENT_POSITION:
+                bSync = true;
+                bAdjustX = true;
+                break;
+            }
+            break;
+        case RES_VERT_ORIENT:
+            switch (nMemberId)
+            {
+            case MID_VERTORIENT_ORIENT:
+            case MID_VERTORIENT_RELATION:
+                bSync = true;
+                break;
+            case MID_VERTORIENT_POSITION:
+                bSync = true;
+                bAdjustY = true;
+                break;
+            }
+            break;
+        case RES_FRM_SIZE:
+            bSync = true;
+            bAdjustSize = true;
+            break;
+        }
+
+        if (bSync)
+        {
+            // Position/size should be the text position/size, not the shape one as-is.
+            if (bAdjustX || bAdjustY || bAdjustSize)
+            {
+                SdrObjCustomShape* pCustomShape = dynamic_cast<SdrObjCustomShape*>(pShape->FindRealSdrObject());
+                if (pCustomShape)
+                {
+                    Rectangle aRect;
+                    pCustomShape->GetTextBounds(aRect);
+
+                    if (bAdjustX || bAdjustY)
+                    {
+                        sal_Int32 nValue;
+                        if (aValue >>= nValue)
+                        {
+                            if (bAdjustX)
+                                nValue = TWIPS_TO_MM(aRect.getX());
+                            else if (bAdjustY)
+                                nValue = TWIPS_TO_MM(aRect.getY());
+                            aValue <<= nValue;
+                        }
+                    }
+                    else if (bAdjustSize)
+                    {
+                        awt::Size aSize(TWIPS_TO_MM(aRect.getWidth()), TWIPS_TO_MM(aRect.getHeight()));
+                        aValue <<= aSize;
+                    }
+                }
+            }
+
+            uno::Reference<beans::XPropertySet> xPropertySet(static_cast<cppu::OWeakObject*>(SwXFrames::GetObject(*pFmt, FLYCNTTYPE_FRM)), uno::UNO_QUERY);
+            xPropertySet->setPropertyValue(rPropertyName, aValue);
+        }
+    }
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit dd4fd57843038c59adb516eeac7b941e6d85483f
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed May 14 11:36:35 2014 +0200

    WIP: oox: trigger the TextBox property on XML_txbx
    
    Change-Id: Ia3e69e61073cc915c4462c9d3fcfe07b75ac3fb3

diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 33c846c..7b0642a 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -824,8 +824,7 @@ Reference< XShape > Shape::createAndInsert(
             }
             else if (mbTextBox)
             {
-                //No such property yet
-                //aShapeProps.setProperty(PROP_TextBox, uno::makeAny(true));
+                aShapeProps.setProperty(PROP_TextBox, uno::makeAny(true));
             }
 
             PropertySet( xSet ).setProperties( aShapeProps );
diff --git a/oox/source/shape/WpsContext.cxx b/oox/source/shape/WpsContext.cxx
index ed2b1de..cf7bb7e 100644
--- a/oox/source/shape/WpsContext.cxx
+++ b/oox/source/shape/WpsContext.cxx
@@ -116,7 +116,6 @@ oox::core::ContextHandlerRef WpsContext::onCreateContext(sal_Int32 nElementToken
     case XML_txbx:
     {
         mpShape->getCustomShapeProperties()->setShapeTypeOverride(true);
-        mpShape->setServiceName("com.sun.star.text.TextFrame");
         mpShape->setTextBox(true);
         //in case if the textbox is linked, save the attributes
         //for further processing.
commit 821c42b10a7095124a9afbbba3f9bc687ace40e6
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date:   Fri May 16 19:53:17 2014 +0200

    OGLWindow: fix key capturing issue
    
    Sometimes the event handler parent captures the mouse
    moce which should grab the focus for key event handling.
    
    Change-Id: Ida1022968543059154de824fc3d026c5cecba7b3

diff --git a/avmedia/source/opengl/oglwindow.cxx b/avmedia/source/opengl/oglwindow.cxx
index 90e32ed..ec21651 100644
--- a/avmedia/source/opengl/oglwindow.cxx
+++ b/avmedia/source/opengl/oglwindow.cxx
@@ -292,6 +292,10 @@ IMPL_LINK(OGLWindow, CameraHandler, VclWindowEvent*, pEvent)
     }
     else if( pEvent->GetId() == VCLEVENT_WINDOW_MOUSEMOVE )
     {
+        if ( !m_pEventHandler->HasFocus() )
+        {
+            m_pEventHandler->GrabFocus();
+        }
         MouseEvent* pMouseEvt = (MouseEvent*)pEvent->GetData();
         if(pMouseEvt && pMouseEvt->IsLeft())
         {
commit 9199616e9d6bd04e60a5135df3b2ba7113a5f436
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date:   Fri May 16 19:50:52 2014 +0200

    slideshow/glTF: make sure parent window does not cover the OpenGL window
    
    Change-Id: I0da3978cefeb3d145f7411cc1c83a87d981cac62

diff --git a/slideshow/source/engine/shapes/viewmediashape.cxx b/slideshow/source/engine/shapes/viewmediashape.cxx
index ab97235..f91be0b 100644
--- a/slideshow/source/engine/shapes/viewmediashape.cxx
+++ b/slideshow/source/engine/shapes/viewmediashape.cxx
@@ -476,6 +476,7 @@ namespace slideshow
                                 mpEventHandlerParent.reset(new Window(pWindow, WB_NOBORDER|WB_NODIALOGCONTROL));
                                 mpEventHandlerParent->SetPosSizePixel( Point( aAWTRect.X, aAWTRect.Y ),
                                                            Size( aAWTRect.Width, aAWTRect.Height ) );
+                                mpEventHandlerParent->EnablePaint(false);
                                 mpEventHandlerParent->Show();
                                 SystemWindowData aWinData = OpenGLContext::generateWinData(mpEventHandlerParent.get());
                                 mpMediaWindow.reset(new SystemChildWindow(mpEventHandlerParent.get(), 0, &aWinData));
commit 224002ee63b043404ecb3b594e6d9dddd02e5cd7
Author: Julien Nabet <serval2412 at yahoo.fr>
Date:   Sat Apr 5 10:30:54 2014 +0200

    Use SQL_DEFAULT_TXN_ISOLATION to get getDefaultTransactionIsolation
    
    Change-Id: I7f4785088151490ae1d55d2bb78bce28357d5c45
    Reviewed-on: https://gerrit.libreoffice.org/8863
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/connectivity/source/drivers/odbc/ODatabaseMetaData.cxx b/connectivity/source/drivers/odbc/ODatabaseMetaData.cxx
index ab62346..6a98544 100644
--- a/connectivity/source/drivers/odbc/ODatabaseMetaData.cxx
+++ b/connectivity/source/drivers/odbc/ODatabaseMetaData.cxx
@@ -24,6 +24,7 @@
 #include <com/sun/star/sdbc/DataType.hpp>
 #include <com/sun/star/sdbc/ResultSetType.hpp>
 #include <com/sun/star/sdbc/ResultSetConcurrency.hpp>
+#include <com/sun/star/sdbc/TransactionIsolation.hpp>
 #include "odbc/OFunctiondefs.hxx"
 #include "stdio.h"
 #include "TPrivilegesResultSet.hxx"
@@ -1252,8 +1253,26 @@ sal_Int32 SAL_CALL ODatabaseMetaData::getDriverMajorVersion(  ) throw(RuntimeExc
 sal_Int32 SAL_CALL ODatabaseMetaData::getDefaultTransactionIsolation(  ) throw(SQLException, RuntimeException, std::exception)
 {
     SQLUINTEGER nValue;
-    OTools::GetInfo(m_pConnection,m_aConnectionHandle,SQL_SUBQUERIES,nValue,*this);
-    return nValue;
+    sal_Int32 nValueTranslated;
+    OTools::GetInfo(m_pConnection,m_aConnectionHandle,SQL_DEFAULT_TXN_ISOLATION,nValue,*this);
+    switch(nValue)
+    {
+        case SQL_TXN_READ_UNCOMMITTED:
+            nValueTranslated = com::sun::star::sdbc::TransactionIsolation::READ_UNCOMMITTED;
+            break;
+        case SQL_TXN_READ_COMMITTED:
+            nValueTranslated = com::sun::star::sdbc::TransactionIsolation::READ_COMMITTED;
+            break;
+        case SQL_TXN_REPEATABLE_READ:
+            nValueTranslated = com::sun::star::sdbc::TransactionIsolation::REPEATABLE_READ;
+            break;
+        case  SQL_TXN_SERIALIZABLE:
+            nValueTranslated = com::sun::star::sdbc::TransactionIsolation::SERIALIZABLE;
+            break;
+        default:
+            nValueTranslated = 0;
+    }
+    return nValueTranslated;
 }
 
 sal_Int32 SAL_CALL ODatabaseMetaData::getDriverMinorVersion(  ) throw(RuntimeException, std::exception)
commit b9f6c3f9ed96a13c6c25d4002bd593bdbde6fd70
Author: Jean-Pierre Ledure <jp at ledure.be>
Date:   Fri May 16 17:34:52 2014 +0200

    Access2Base - Correct error message for some actions
    
    Change-Id: I8b49886c3b9a884ffc8e68c7483be8f940c3449e
    Reviewed-on: https://gerrit.libreoffice.org/9376
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/wizards/source/access2base/DoCmd.xba b/wizards/source/access2base/DoCmd.xba
index 22e3ef7..2ece700 100644
--- a/wizards/source/access2base/DoCmd.xba
+++ b/wizards/source/access2base/DoCmd.xba
@@ -1020,7 +1020,7 @@ Error_Function:
 	Set OpenForm = Nothing
 	GoTo Exit_Function
 Error_NotApplicable:
-	TraceError(TRACEFATAL, ERRMETHOD, Utils._CalledSub(), 0, 1, cstThisSub)
+	TraceError(TRACEFATAL, ERRACTION, Utils._CalledSub(), 0, 1)
 	Goto Exit_Function
 Trace_Error:
 	TraceError(TRACEFATAL, ERROPENFORM, Utils._CalledSub(), 0, , pvFormName)
@@ -1925,7 +1925,7 @@ Trace_Error:
 	TraceError(TRACEFATAL, ERROPENOBJECT, Utils._CalledSub(), 0, , Array(_GetLabel(psObjectType), pvObjectName))
 	Goto Exit_Function
 Error_NotApplicable:
-	TraceError(TRACEFATAL, ERRMETHOD, Utils._CalledSub(), 0, 1, cstThisSub)
+	TraceError(TRACEFATAL, ERRACTION, Utils._CalledSub(), 0, 1)
 	Goto Exit_Function
 Trace_NotFound:
 	TraceError(TRACEFATAL, ERROBJECTNOTFOUND, Utils._CalledSub(), 0, , Array(_GetLabel(psObjectType), pvObjectName))
commit 980f6b505844ffa29d3b78e0abeeb781ed12d57d
Author: Jean-Pierre Ledure <jp at ledure.be>
Date:   Fri May 16 15:05:49 2014 +0200

    Access2Base typo
    
    Change-Id: Id5161f2b8e8132c2a8b68073b233137db3fe74b1
    Reviewed-on: https://gerrit.libreoffice.org/9373
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/wizards/source/access2base/DoCmd.xba b/wizards/source/access2base/DoCmd.xba
index b3098a1..22e3ef7 100644
--- a/wizards/source/access2base/DoCmd.xba
+++ b/wizards/source/access2base/DoCmd.xba
@@ -989,7 +989,7 @@ Dim sFilter As String, oForm As Object, oFormsCollection As Object
 	With ofForm
 		Select Case pvDataMode
 			Case acFormAdd
-				.setAllowAdditions = True
+				.AllowAdditions = True
 				.AllowDeletions = False
 				.AllowEdits = False
 			Case acFormEdit
commit 6e60f1a69c87f5c443014f14027cca77a719586a
Author: Jean-Pierre Ledure <jp at ledure.be>
Date:   Fri May 16 14:55:36 2014 +0200

    Access2Base - solve compatibility issues
    
    1) AOO <> LO
    "Append" is a reserved word in AOO Basic, not in LO
    => Append method replaced with Add
    
    2) Windows <> Linux
    ActiveConnection not ready under Windows for standalone forms when database is (user/password) protected
    => Connection may be postponed to first use of form
    
    Change-Id: I8ba409191ba2a2a4c057480ec3287d7d48262073
    Reviewed-on: https://gerrit.libreoffice.org/9372
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Lionel Elie Mamane <lionel at mamane.lu>

diff --git a/wizards/source/access2base/Application.xba b/wizards/source/access2base/Application.xba
index 9de68cd..1350464 100644
--- a/wizards/source/access2base/Application.xba
+++ b/wizards/source/access2base/Application.xba
@@ -750,7 +750,7 @@ Dim vCurrentDoc() As Variant
 Dim oBaseContext As Object, sDbNames() As String, oBaseSource As Object
 Dim sDatabaseURL As String, oHandler As Object
 Dim vDbContainer As Variant, vDbContainers() As Variant, vDocContainer As Variant
-Dim sFormName As String, oConnection As Object
+Dim sFormName As String
 
 	If IsEmpty(_A2B_) Then Call Application._RootInit()	'	First use of Access2Base in current AOO/LibO session
 	Set OpenConnection = Nothing
@@ -844,29 +844,26 @@ Const cstThisSub = "OpenConnection"
 			For i = 0 To oForms.Count - 1
 				vDbContainer = New DbContainer					'	To make distinct entries !!
 				sFormName = oForms.ElementNames(i)
-				Set oConnection = oForms.getByName(sFormName).ActiveConnection
-				If IsNull(oConnection) Then
-					Set vDbContainer.Database = Nothing			'	Form is not data-aware
-				Else
-					Set vDbContainer.Database = New Database
-					Set vDbContainer.Database._This = vDbContainer.Database
-					With vDbContainer.Database
-						.FormName = sFormName
-						vDbContainer.FormName = sFormName
-						Set .Form = oForms.getByName(sFormName)
-						Set .Connection = oConnection
-						Set .MetaData = oConnection.MetaData
-						._ReadOnly = oConnection.isReadOnly()
-						Set .Document = oComponent
-						.Title = oComponent.Title
-						.URL = .Form.DataSourceName
-						._DbConnect = DBCONNECTFORM
-						Set vDbContainers(i) = vDbContainer
-						vDbContainers(i).FormName = sFormName
+				Set vDbContainer.Database = New Database
+				Set vDbContainer.Database._This = vDbContainer.Database
+				With vDbContainer.Database
+					.FormName = sFormName
+					vDbContainer.FormName = sFormName
+					Set .Form = oForms.getByName(sFormName)
+					Set .Connection = .Form.ActiveConnection	'	Might be Nothing in Windows at AOO/LO startup (not met in Linux)
+					If Not IsNull(.Connection) Then
+						Set .MetaData = .Connection.MetaData
+						._ReadOnly = .Connection.isReadOnly()
 						TraceLog(TRACEANY, .MetaData.getDatabaseProductName() & " " & .MetaData.getDatabaseProductVersion, False)
-						TraceLog(TRACEANY, UCase(cstThisSub) & " " & .URL & " Form=" & vDbContainer.FormName, False)
-					End With
-				End If
+					End If
+					Set .Document = oComponent
+					.Title = oComponent.Title
+					.URL = .Form.DataSourceName
+					._DbConnect = DBCONNECTFORM
+					Set vDbContainers(i) = vDbContainer
+					vDbContainers(i).FormName = sFormName
+					TraceLog(TRACEANY, UCase(cstThisSub) & " " & .URL & " Form=" & vDbContainer.FormName, False)
+				End With
 			Next i
 			vDocContainer.DbConnect = DBCONNECTFORM
 		End Select
diff --git a/wizards/source/access2base/Collect.xba b/wizards/source/access2base/Collect.xba
index 80c53a0..96da04d 100644
--- a/wizards/source/access2base/Collect.xba
+++ b/wizards/source/access2base/Collect.xba
@@ -31,6 +31,7 @@ Private Sub Class_Initialize()
 	_CollType = ""
 	_ParentType = ""
 	_ParentName = ""
+	Set _ParentDatabase = Nothing
 	_Count = 0
 End Sub		'	Constructor
 
@@ -161,15 +162,15 @@ REM ----------------------------------------------------------------------------
 REM --- CLASS METHODS	 								        														---
 REM -----------------------------------------------------------------------------------------------------------------------
 
-Public Function Append(Optional pvObject As Variant) As Boolean
+Public Function Add(Optional pvObject As Variant) As Boolean
 '	Append a new TableDef or Field object to the TableDefs/Fields collections
 
-Const cstThisSub = "Collection.Append"
+Const cstThisSub = "Collection.Add"
 	Utils._SetCalledSub(cstThisSub)
 	If _ErrorHandler() Then On Local Error Goto Error_Function
 	
 Dim odbDatabase As Object, oConnection As Object, oTables As Object, sName As String, oTable As Object
-	Append = False
+	Add = False
 	If IsMissing(pvObject) Then Call _TraceArguments()
 	If Not Utils._CheckArgument(pvObject, 1, vbObject) Then Goto Exit_Function
 
@@ -192,7 +193,7 @@ Dim odbDatabase As Object, oConnection As Object, oTables As Object, sName As St
 		End Select
 	End With
 
-	Append = True
+	Add = True
 
 Exit_Function:
 	Utils._ResetCalledSub(cstThisSub)
@@ -206,7 +207,7 @@ Error_NotApplicable:
 Error_Sequence:
 	TraceError(TRACEFATAL, ERRTABLECREATION, Utils._CalledSub(), 0, 1, pvObject._Name)
 	Goto Exit_Function
-End Function		'	Append	V1.1.0
+End Function		'	Add	V1.1.0
 
 REM -----------------------------------------------------------------------------------------------------------------------
 Public Function Delete(ByVal Optional pvName As Variant) As Boolean
diff --git a/wizards/source/access2base/Form.xba b/wizards/source/access2base/Form.xba
index 5768674..578200b 100644
--- a/wizards/source/access2base/Form.xba
+++ b/wizards/source/access2base/Form.xba
@@ -564,7 +564,7 @@ REM ----------------------------------------------------------------------------
 Public Sub _Initialize(psName As String)
 '	Set pointers to UNO objects
 
-Dim oDoc As Object, oFormsCollection As Object
+Dim oDoc As Object, oFormsCollection As Object, oDatabase As Object
 	If _ErrorHandler() Then On Local Error Goto Trace_Error
 	_Name = psName
 	_Shortcut = "Forms!" & Utils._Surround(psName)
@@ -587,7 +587,17 @@ Dim oDoc As Object, oFormsCollection As Object
 				End If
 			Case DBCONNECTFORM
 				Set ContainerWindow = oDoc.Document.CurrentController.Frame.ContainerWindow
-				Set DatabaseForm = Application._CurrentDb(_DocEntry, _DbEntry).Form
+				Set oDatabase = Application._CurrentDb(_DocEntry, _DbEntry)
+				With oDatabase
+					Set DatabaseForm = .Form
+					If IsNull(.Connection) Then
+						Set .Connection = DatabaseForm.ActiveConnection
+						If Not IsNull(.Connection) Then
+							Set .MetaData = .Connection.MetaData
+							oDatabase._ReadOnly = .Connection.isReadOnly()
+						End If
+					End If
+				End With
 		End Select
 	Else
 		Set Component = Nothing
commit 4a9a10d169653e42028d32ee8e260692ead8cc36
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri May 16 13:30:38 2014 +0100

    coverity#708868 Unused pointer value
    
    Change-Id: I5d25f7de37df6fe79bb195e1cb68876fb3b4fcca

diff --git a/sw/source/filter/writer/writer.cxx b/sw/source/filter/writer/writer.cxx
index e1c9ced..4d8255b 100644
--- a/sw/source/filter/writer/writer.cxx
+++ b/sw/source/filter/writer/writer.cxx
@@ -198,7 +198,7 @@ Writer::NewSwPaM(SwDoc & rDoc, sal_uLong const nStartIdx, sal_uLong const nEndId
 
     SwNodeIndex aStt( *pNds, nStartIdx );
     SwCntntNode* pCNode = aStt.GetNode().GetCntntNode();
-    if( !pCNode && 0 == ( pCNode = pNds->GoNext( &aStt )) )
+    if( !pCNode && 0 == pNds->GoNext( &aStt ) )
     {
         OSL_FAIL( "No more ContentNode at StartPos" );
     }
commit 87ad02d5ad4e192fb9723830169f6ce0736ac2c3
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri May 16 13:28:33 2014 +0100

    coverity#708847 Unused pointer value
    
    Change-Id: Id16ebc576834e418a3bf2d3d6eb3e2545e0aac2b

diff --git a/sw/source/core/docnode/nodes.cxx b/sw/source/core/docnode/nodes.cxx
index c8cc236..8282706 100644
--- a/sw/source/core/docnode/nodes.cxx
+++ b/sw/source/core/docnode/nodes.cxx
@@ -1586,8 +1586,6 @@ void SwNodes::MoveRange( SwPaM & rPam, SwPosition & rPos, SwNodes& rNodes )
                     pDestNd->SplitCntntNode( rPos );
                 }
 
-                pDestNd = rPos.nNode.GetNode().GetTxtNode();
-
                 if ( bCorrEnd )
                 {
                     aEndIdx--;
commit e772a97e1b21ac67fa226578a52855b9d60fde94
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri May 16 13:25:23 2014 +0100

    coverity#708815 Unused pointer value
    
    Change-Id: Ie58034f0475dc9a876eeb54f3bc6a3c415c3e0a1

diff --git a/sd/source/ui/view/outlnvsh.cxx b/sd/source/ui/view/outlnvsh.cxx
index 515e013..fcfb881 100644
--- a/sd/source/ui/view/outlnvsh.cxx
+++ b/sd/source/ui/view/outlnvsh.cxx
@@ -1814,7 +1814,6 @@ bool OutlineViewShell::UpdateOutlineObject( SdPage* pPage, Paragraph* pPara )
     if( nParasInLayout )
     {
         // create an OutlinerParaObject
-        pPara = pOutliner->GetParagraph( nTitlePara + 1 );
         pOPO  = pOutliner->CreateParaObject( nTitlePara + 1, nParasInLayout );
     }
 
commit 65219ed0566e987651d3fc16d16f5b40dec418cd
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri May 16 13:23:39 2014 +0100

    coverity#708811 Unused pointer value
    
    Change-Id: I18ed52cc6c00c5c462629c4fff7804ea22035e3a

diff --git a/sd/source/ui/func/fuexpand.cxx b/sd/source/ui/func/fuexpand.cxx
index 95299d9..4ab706d 100644
--- a/sd/source/ui/func/fuexpand.cxx
+++ b/sd/source/ui/func/fuexpand.cxx
@@ -212,9 +212,7 @@ void FuExpandPage::DoExecute( SfxRequest& )
                     if (pOutlineObj)
                     {
                         // create structuring text objects
-                        pPara = pOutl->GetParagraph( ++nParaPos );
-
-                        OutlinerParaObject* pOPO = pOutl->CreateParaObject( nParaPos, nChildCount);
+                        OutlinerParaObject* pOPO = pOutl->CreateParaObject(++nParaPos, nChildCount);
 
                         SdrOutliner* pTempOutl = SdrMakeOutliner( OUTLINERMODE_OUTLINEOBJECT, mpDoc );
                         pTempOutl->SetText( *pOPO );
commit 0ff4909a55158cb9607986c88c44722ac2291632
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri May 16 12:20:59 2014 +0100

    coverity#984442 Use after free
    
    Change-Id: I28822f6b74cbf8ace8f7a194248840cb401679be

diff --git a/sdext/source/pdfimport/pdfparse/pdfentries.cxx b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
index 540885e..8d54a9e 100644
--- a/sdext/source/pdfimport/pdfparse/pdfentries.cxx
+++ b/sdext/source/pdfimport/pdfparse/pdfentries.cxx
@@ -879,9 +879,9 @@ bool PDFObject::emit( EmitContext& rWriteContext ) const
                     bRet = rWriteContext.write( pOutBytes, nOutBytes );
                 if( bRet )
                     bRet = rWriteContext.write( "\nendstream\nendobj\n", 18 );
-                rtl_freeMemory( pStream );
                 if( pOutBytes != (sal_uInt8*)pStream )
                     rtl_freeMemory( pOutBytes );
+                rtl_freeMemory( pStream );
                 if( pEData )
                     pEData->setDecryptObject( 0, 0 );
                 return bRet;
commit cb6464fd73bc74af4952cf4dc39ffe6cb55a117f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri May 16 09:57:18 2014 +0100

    coverity#705542 Unintentional integer overflow
    
    Change-Id: I87712c71689d45259bc9e4e2f71c92375bc887ea

diff --git a/vcl/source/gdi/bitmap4.cxx b/vcl/source/gdi/bitmap4.cxx
index 29d4e57..8ebf477 100644
--- a/vcl/source/gdi/bitmap4.cxx
+++ b/vcl/source/gdi/bitmap4.cxx
@@ -946,7 +946,7 @@ bool Bitmap::ImplPopArt( const BmpFilterParam* /*pFilterParam*/, const Link* /*p
         {
             const long      nWidth = pWriteAcc->Width();
             const long      nHeight = pWriteAcc->Height();
-            const sal_uLong nEntryCount = 1L << pWriteAcc->GetBitCount();
+            const sal_uLong nEntryCount = 1UL << pWriteAcc->GetBitCount();
             sal_uLong       n;
             PopArtEntry*    pPopArtTable = new PopArtEntry[ nEntryCount ];
 
commit 6c7f1e1b5ab55934966f81dc87fad9738bc7af64
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri May 16 09:39:06 2014 +0100

    trivial cleanups
    
    Change-Id: I50bc7ab36690e572825109de9f0b1bb11d26867f

diff --git a/svtools/source/filter/SvFilterOptionsDialog.cxx b/svtools/source/filter/SvFilterOptionsDialog.cxx
index 6f5715d..c8267cc 100644
--- a/svtools/source/filter/SvFilterOptionsDialog.cxx
+++ b/svtools/source/filter/SvFilterOptionsDialog.cxx
@@ -249,9 +249,7 @@ sal_Int16 SvFilterOptionsDialog::execute()
             FltCallDialogParameter aFltCallDlgPara( Application::GetDefDialogParent(), NULL, meFieldUnit );
             aFltCallDlgPara.aFilterData = maFilterDataSequence;
 
-            ResMgr*     pResMgr;
-
-            pResMgr = ResMgr::CreateResMgr( "svt", Application::GetSettings().GetUILanguageTag() );
+            ResMgr* pResMgr = ResMgr::CreateResMgr( "svt", Application::GetSettings().GetUILanguageTag() );
             aFltCallDlgPara.pResMgr = pResMgr;
 
             aFltCallDlgPara.aFilterExt = aGraphicFilter.GetExportFormatShortName( nFormat );
commit aa583636e35aa1d6ae03906eb0a2953247a71f66
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu May 15 15:53:56 2014 +0100

    coverity#1202771 Operands don't affect result
    
    Change-Id: I6a0228594d31cda252f299cad55469ad02c6b353

diff --git a/vcl/source/fontsubset/cff.cxx b/vcl/source/fontsubset/cff.cxx
index 2ad874b..2d3ce61 100644
--- a/vcl/source/fontsubset/cff.cxx
+++ b/vcl/source/fontsubset/cff.cxx
@@ -678,16 +678,7 @@ void CffSubsetterContext::writeType1Val( ValType aVal)
     U8* pOut = mpWritePtr;
 
     int nInt = static_cast<int>(aVal);
-    static const int nOutCharstrType = 1;
-    if( (nInt != aVal) && (nOutCharstrType == 2)) {
-        // numtype==255 means int32 for Type1, but 16.16 for Type2 charstrings!!!
-        *(pOut++) = 255;                            // Fixed 16.16
-        *(pOut++) = static_cast<U8>(nInt >> 8);
-        *(pOut++) = static_cast<U8>(nInt);
-        nInt = static_cast<int>(aVal * 0x10000) & 0xFFFF;
-        *(pOut++) = static_cast<U8>(nInt >> 8);
-        *(pOut++) = static_cast<U8>(nInt);
-    } else if( (nInt >= -107) && (nInt <= +107)) {
+    if( (nInt >= -107) && (nInt <= +107)) {
         *(pOut++) = static_cast<U8>(nInt + 139);    // -107..+107
     } else if( (nInt >= -1131) && (nInt <= +1131)) {
         if( nInt >= 0)
@@ -696,7 +687,7 @@ void CffSubsetterContext::writeType1Val( ValType aVal)
             nInt = 64148 - nInt;                    // -108..-1131
         *(pOut++) = static_cast<U8>(nInt >> 8);
         *(pOut++) = static_cast<U8>(nInt);
-    } else if( nOutCharstrType == 1) {
+    } else {
         // numtype==255 means int32 for Type1, but 16.16 for Type2 charstrings!!!
         *(pOut++) = 255;
         *(pOut++) = static_cast<U8>(nInt >> 24);
commit 633003965a4be0c535b43cc3072c5c4a95109d34
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri May 16 16:43:25 2014 +0300

    Use SVM (metafile) instead of PNG for diagrams (SmartArt)
    
    It seemed a bit pointless to waste CPU cycles on PNG-compressing a
    bitmap image only to later then uncompress it anyway. vcl's PNG
    writing code showed up as 13% on the time profile of TiledLibreOffice
    when displaying a document full of SmartArts.
    
    Miklos suggested I try using SVM (which I guess means "StarView
    Metafile") instead. When using SVM, no rendering of diagrams to
    bitmaps during loading is done, but the diagram stays stored in a
    resolution-independent (vector-ish) form. Which means it will be
    rendered nicely and crisply regardless of the zoom level.
    
    At least, that is my understanding, and experimentation (on OS X and Linux)
    seems to confirm.
    
    ce8c0ff07559ddcc729bffd7a68f4c6f281882e3
    
    Change-Id: Ice8c0ff07559ddcc729bffd7a68f4c6f281882e3

diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index b319c38..33c846c 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -1088,7 +1088,7 @@ Reference < XShape > Shape::renderDiagramToGraphic( XmlFilterBase& rFilterBase )
         Reference < io::XOutputStream > xOutputStream( xStream->getOutputStream() );
 
         // Rendering format
-        OUString sFormat( "PNG" );
+        OUString sFormat( "SVM" );
 
         // Size of the rendering
         awt::Size aActualSize = mxShape->getSize();
@@ -1097,21 +1097,15 @@ Reference < XShape > Shape::renderDiagramToGraphic( XmlFilterBase& rFilterBase )
         awt::Size aSize = awt::Size( static_cast < sal_Int32 > ( ( fPixelsPer100thmm * aActualSize.Width ) + 0.5 ),
                                      static_cast < sal_Int32 > ( ( fPixelsPer100thmm * aActualSize.Height ) + 0.5 ) );
 
-        Sequence< PropertyValue > aFilterData( 7 );
-        aFilterData[ 0 ].Name = "Compression";
-        aFilterData[ 0 ].Value <<= static_cast < sal_Int32 > ( 9 );
-        aFilterData[ 1 ].Name = "Interlaced";
-        aFilterData[ 1 ].Value <<= static_cast < sal_Int32 > ( 1 );
-        aFilterData[ 2 ].Name = "Translucent";
-        aFilterData[ 2 ].Value <<= static_cast < sal_Int32 > ( 1 );
-        aFilterData[ 3 ].Name = "PixelWidth";
-        aFilterData[ 3 ].Value <<= aSize.Width;
-        aFilterData[ 4 ].Name = "PixelHeight";
-        aFilterData[ 4 ].Value <<= aSize.Height;
-        aFilterData[ 5 ].Name = "LogicalWidth";
-        aFilterData[ 5 ].Value <<= aActualSize.Width;
-        aFilterData[ 6 ].Name = "LogicalHeight";
-        aFilterData[ 6 ].Value <<= aActualSize.Height;
+        Sequence< PropertyValue > aFilterData( 4 );
+        aFilterData[ 0 ].Name = "PixelWidth";
+        aFilterData[ 0 ].Value <<= aSize.Width;
+        aFilterData[ 1 ].Name = "PixelHeight";
+        aFilterData[ 1 ].Value <<= aSize.Height;
+        aFilterData[ 2 ].Name = "LogicalWidth";
+        aFilterData[ 2 ].Value <<= aActualSize.Width;
+        aFilterData[ 3 ].Name = "LogicalHeight";
+        aFilterData[ 3 ].Value <<= aActualSize.Height;
 
         Sequence < PropertyValue > aDescriptor( 3 );
         aDescriptor[ 0 ].Name = "OutputStream";
commit 66fce1f61e7e088bd92e19ecb0dd94553de6f824
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Fri May 16 16:47:29 2014 +0200

    git pre-commit hook: block large files
    
    Change-Id: Id27cfa805fc7cd0f4f6cc3d8bb770aa7abd536e1

diff --git a/.git-hooks/pre-commit b/.git-hooks/pre-commit
index fdd07ad..6933198 100755
--- a/.git-hooks/pre-commit
+++ b/.git-hooks/pre-commit
@@ -131,6 +131,20 @@ EOM
     exit( 1 );
 }
 
+# Block large files.
+open( FILES, "git diff --cached --name-only --diff-filter=A -z $against |" ) ||  die "Cannot run git diff-index.";
+while (<FILES>)
+{
+    my $size = `git cat-file -s :$_`;
+    # For now let's say large is 500KB
+    my $limit = 500;
+    if ($size > $limit * 1024)
+    {
+        print "Error: Attempt to add a large file: $_, pleasy try to fit into $limit KB.\n";
+        exit( 1 );
+    }
+}
+
 # fix whitespace in code
 check_whitespaces( $against);
 
commit fcf5b5c081ded93b12dd888236d0a860b7693ed1
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Fri May 16 10:45:40 2014 -0400

    fdo#75056: Overline attribute needs special treatment as well.
    
    Also fix the export of underline types as well.  It was always saved
    as a single line.
    
    Change-Id: I88cb0f3702a6afc14544ecbce8f200b5422fd78f

diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index 737a881..d61496e 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -1171,6 +1171,10 @@ const SvxFieldData* toXMLPropertyStates(
                 if (nIndexWidth == -1 || nIndexWidth > nEntryCount)
                     break;
 
+                sal_Int32 nIndexType = xMapper->GetEntryIndex(XML_NAMESPACE_STYLE, "text-underline-type", 0);
+                if (nIndexType == -1 || nIndexType > nEntryCount)
+                    break;
+
                 sal_Int32 nIndexColor = xMapper->FindEntryIndex("CharUnderlineColor", XML_NAMESPACE_STYLE, "text-underline-color");
                 if (nIndexColor == -1 || nIndexColor > nEntryCount)
                     break;
@@ -1182,6 +1186,7 @@ const SvxFieldData* toXMLPropertyStates(
                 const SvxUnderlineItem* pUL = static_cast<const SvxUnderlineItem*>(p);
                 pUL->QueryValue(aAny, MID_TL_STYLE);
                 rPropStates.push_back(XMLPropertyState(nIndexStyle, aAny));
+                rPropStates.push_back(XMLPropertyState(nIndexType,  aAny));
                 rPropStates.push_back(XMLPropertyState(nIndexWidth, aAny));
 
                 pUL->QueryValue(aAny, MID_TL_COLOR);
@@ -1193,10 +1198,38 @@ const SvxFieldData* toXMLPropertyStates(
             break;
             case EE_CHAR_OVERLINE:
             {
-                if (!static_cast<const SvxOverlineItem*>(p)->QueryValue(aAny, pEntry->mnFlag))
-                    continue;
+                // Same with overline.  Do just as we do with underline attributes.
+                sal_Int32 nIndexStyle = xMapper->GetEntryIndex(XML_NAMESPACE_STYLE, "text-overline-style", 0);
+                if (nIndexStyle == -1 || nIndexStyle > nEntryCount)
+                    break;
 
-                rPropStates.push_back(XMLPropertyState(nIndex, aAny));
+                sal_Int32 nIndexWidth = xMapper->GetEntryIndex(XML_NAMESPACE_STYLE, "text-overline-width", 0);
+                if (nIndexWidth == -1 || nIndexWidth > nEntryCount)
+                    break;
+
+                sal_Int32 nIndexType = xMapper->GetEntryIndex(XML_NAMESPACE_STYLE, "text-overline-type", 0);
+                if (nIndexType == -1 || nIndexType > nEntryCount)
+                    break;
+
+                sal_Int32 nIndexColor = xMapper->FindEntryIndex("CharOverlineColor", XML_NAMESPACE_STYLE, "text-overline-color");
+                if (nIndexColor == -1 || nIndexColor > nEntryCount)
+                    break;
+
+                sal_Int32 nIndexHasColor = xMapper->FindEntryIndex("CharOverlineHasColor", XML_NAMESPACE_STYLE, "text-overline-color");
+                if (nIndexHasColor == -1 || nIndexHasColor > nEntryCount)
+                    break;
+
+                const SvxOverlineItem* pOL = static_cast<const SvxOverlineItem*>(p);
+                pOL->QueryValue(aAny, MID_TL_STYLE);
+                rPropStates.push_back(XMLPropertyState(nIndexStyle, aAny));
+                rPropStates.push_back(XMLPropertyState(nIndexType,  aAny));
+                rPropStates.push_back(XMLPropertyState(nIndexWidth, aAny));
+
+                pOL->QueryValue(aAny, MID_TL_COLOR);
+                rPropStates.push_back(XMLPropertyState(nIndexColor, aAny));
+
+                pOL->QueryValue(aAny, MID_TL_HASCOLOR);
+                rPropStates.push_back(XMLPropertyState(nIndexHasColor, aAny));
             }
             break;
             case EE_CHAR_COLOR:
commit 5c0b8937f4f41ed1e4a01151bc96113f65c2770c
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Fri May 16 10:45:09 2014 -0400

    fdo#75056: Write test for this.
    
    Change-Id: I716467ffe81a1f71f03e0dc7a17c33b2ed39d334

diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx
index ab25140..2e36357 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -45,6 +45,7 @@
 #include <editeng/crossedoutitem.hxx>
 #include <editeng/borderline.hxx>
 #include <editeng/fontitem.hxx>
+#include <editeng/udlnitem.hxx>
 #include <formula/grammar.hxx>
 
 #include <com/sun/star/table/BorderLineStyle.hpp>
@@ -437,6 +438,20 @@ void setAttribute( ScFieldEditEngine& rEE, sal_Int32 nPara, sal_Int32 nStart, sa
             rEE.QuickSetAttribs(aItemSet, aSel);
         }
         break;
+        case EE_CHAR_OVERLINE:
+        {
+            SvxOverlineItem aItem(UNDERLINE_DOUBLE, nType);
+            aItemSet.Put(aItem);
+            rEE.QuickSetAttribs(aItemSet, aSel);
+        }
+        break;
+        case EE_CHAR_UNDERLINE:
+        {
+            SvxUnderlineItem aItem(UNDERLINE_DOUBLE, nType);
+            aItemSet.Put(aItem);
+            rEE.QuickSetAttribs(aItemSet, aSel);
+        }
+        break;
         default:
             ;
     }
@@ -539,6 +554,40 @@ void ScExportTest::testRichTextExportODS()
             return false;
         }
 
+        static bool isOverline(const editeng::Section& rAttr, FontUnderline eStyle)
+        {
+            if (rAttr.maAttributes.empty())
+                return false;
+
+            std::vector<const SfxPoolItem*>::const_iterator it = rAttr.maAttributes.begin(), itEnd = rAttr.maAttributes.end();
+            for (; it != itEnd; ++it)
+            {
+                const SfxPoolItem* p = *it;
+                if (p->Which() != EE_CHAR_OVERLINE)
+                    continue;
+
+                return static_cast<const SvxOverlineItem*>(p)->GetLineStyle() == eStyle;
+            }
+            return false;
+        }
+
+        static bool isUnderline(const editeng::Section& rAttr, FontUnderline eStyle)
+        {
+            if (rAttr.maAttributes.empty())
+                return false;
+
+            std::vector<const SfxPoolItem*>::const_iterator it = rAttr.maAttributes.begin(), itEnd = rAttr.maAttributes.end();
+            for (; it != itEnd; ++it)
+            {
+                const SfxPoolItem* p = *it;
+                if (p->Which() != EE_CHAR_UNDERLINE)
+                    continue;
+
+                return static_cast<const SvxUnderlineItem*>(p)->GetLineStyle() == eStyle;
+            }
+            return false;
+        }
+
         static bool isFont(const editeng::Section& rAttr, const OUString& rFontName)
         {
             if (rAttr.maAttributes.empty())
@@ -715,6 +764,41 @@ void ScExportTest::testRichTextExportODS()
             return true;
         }
 
+        bool checkB8(const EditTextObject* pText) const
+        {
+            if (!pText)
+                return false;
+
+            if (pText->GetParagraphCount() != 1)
+                return false;
+
+            if (pText->GetText(0) != "Over and Under")
+                return false;
+
+            std::vector<editeng::Section> aSecAttrs;
+            pText->GetAllSections(aSecAttrs);
+            if (aSecAttrs.size() != 3)
+                return false;
+
+            // First section shoul have overline applied.
+            const editeng::Section* pAttr = &aSecAttrs[0];
+            if (pAttr->mnParagraph != 0 ||pAttr->mnStart != 0 || pAttr->mnEnd != 4)
+                return false;
+
+            if (pAttr->maAttributes.size() != 1 || !isOverline(*pAttr, UNDERLINE_DOUBLE))
+                return false;
+
+            // Last section should have underline applied.
+            pAttr = &aSecAttrs[2];
+            if (pAttr->mnParagraph != 0 ||pAttr->mnStart != 9 || pAttr->mnEnd != 14)
+                return false;
+
+            if (pAttr->maAttributes.size() != 1 || !isUnderline(*pAttr, UNDERLINE_DOUBLE))
+                return false;
+
+            return true;
+        }
+
     } aCheckFunc;
 
     // Start with an empty document, put one edit text cell, and make sure it
@@ -754,8 +838,8 @@ void ScExportTest::testRichTextExportODS()
     // Insert a multi-line content to B4.
     pEE->Clear();
     pEE->SetText("One\nTwo\nThree");
-    pDoc->SetEditText(ScAddress(3,1,0), pEE->CreateTextObject());
-    pEditText = pDoc->GetEditText(ScAddress(3,1,0));
+    pDoc->SetEditText(ScAddress(1,3,0), pEE->CreateTextObject());
+    pEditText = pDoc->GetEditText(ScAddress(1,3,0));
     CPPUNIT_ASSERT_MESSAGE("Incorret B4 value.", aCheckFunc.checkB4(pEditText));
 
     // Reload the doc again, and check the content of B2 and B4.
@@ -766,14 +850,14 @@ void ScExportTest::testRichTextExportODS()
 
     pEditText = pDoc->GetEditText(ScAddress(1,1,0));
     CPPUNIT_ASSERT_MESSAGE("B2 should be an edit text.", pEditText);
-    pEditText = pDoc->GetEditText(ScAddress(3,1,0));
+    pEditText = pDoc->GetEditText(ScAddress(1,3,0));
     CPPUNIT_ASSERT_MESSAGE("Incorret B4 value.", aCheckFunc.checkB4(pEditText));
 
     // Insert a multi-line content to B5, but this time, set some empty paragraphs.
     pEE->Clear();
     pEE->SetText("\nTwo\nThree\n\nFive\n");
-    pDoc->SetEditText(ScAddress(4,1,0), pEE->CreateTextObject());
-    pEditText = pDoc->GetEditText(ScAddress(4,1,0));
+    pDoc->SetEditText(ScAddress(1,4,0), pEE->CreateTextObject());
+    pEditText = pDoc->GetEditText(ScAddress(1,4,0));
     CPPUNIT_ASSERT_MESSAGE("Incorret B5 value.", aCheckFunc.checkB5(pEditText));
 
     // Insert a text with strikethrough in B6.
@@ -781,8 +865,8 @@ void ScExportTest::testRichTextExportODS()
     pEE->SetText("Strike Me");
     // Set the 'Strike' part strikethrough.
     setAttribute(*pEE, 0, 0, 6, EE_CHAR_STRIKEOUT);
-    pDoc->SetEditText(ScAddress(5,1,0), pEE->CreateTextObject());
-    pEditText = pDoc->GetEditText(ScAddress(5,1,0));
+    pDoc->SetEditText(ScAddress(1,5,0), pEE->CreateTextObject());
+    pEditText = pDoc->GetEditText(ScAddress(1,5,0));
     CPPUNIT_ASSERT_MESSAGE("Incorret B6 value.", aCheckFunc.checkB6(pEditText));
 
     // Insert a text with different font segments in B7.
@@ -790,25 +874,36 @@ void ScExportTest::testRichTextExportODS()
     pEE->SetText("Font1 and Font2");
     setFont(*pEE, 0, 0, 5, "Courier");
     setFont(*pEE, 0, 10, 15, "Luxi Mono");
-    pDoc->SetEditText(ScAddress(6,1,0), pEE->CreateTextObject());
-    pEditText = pDoc->GetEditText(ScAddress(6,1,0));
+    pDoc->SetEditText(ScAddress(1,6,0), pEE->CreateTextObject());
+    pEditText = pDoc->GetEditText(ScAddress(1,6,0));
     CPPUNIT_ASSERT_MESSAGE("Incorret B7 value.", aCheckFunc.checkB7(pEditText));
 
+    // Insert a text with overline and underline in B8.
+    pEE->Clear();
+    pEE->SetText("Over and Under");
+    setAttribute(*pEE, 0, 0, 4, EE_CHAR_OVERLINE);
+    setAttribute(*pEE, 0, 9, 14, EE_CHAR_UNDERLINE);
+    pDoc->SetEditText(ScAddress(1,7,0), pEE->CreateTextObject());
+    pEditText = pDoc->GetEditText(ScAddress(1,7,0));
+    CPPUNIT_ASSERT_MESSAGE("Incorret B8 value.", aCheckFunc.checkB8(pEditText));
+
     // Reload the doc again, and check the content of B2, B4, B6 and B7.
     ScDocShellRef xNewDocSh3 = saveAndReload(xNewDocSh2, ODS);
     pDoc = xNewDocSh3->GetDocument();
     xNewDocSh2->DoClose();
 
     pEditText = pDoc->GetEditText(ScAddress(1,1,0));
-    CPPUNIT_ASSERT_MESSAGE("Incorret B2 value.", aCheckFunc.checkB2(pEditText));
-    pEditText = pDoc->GetEditText(ScAddress(3,1,0));
-    CPPUNIT_ASSERT_MESSAGE("Incorret B4 value.", aCheckFunc.checkB4(pEditText));
-    pEditText = pDoc->GetEditText(ScAddress(4,1,0));
-    CPPUNIT_ASSERT_MESSAGE("Incorret B5 value.", aCheckFunc.checkB5(pEditText));
-    pEditText = pDoc->GetEditText(ScAddress(5,1,0));
-    CPPUNIT_ASSERT_MESSAGE("Incorret B6 value.", aCheckFunc.checkB6(pEditText));
-    pEditText = pDoc->GetEditText(ScAddress(6,1,0));
-    CPPUNIT_ASSERT_MESSAGE("Incorret B7 value.", aCheckFunc.checkB7(pEditText));
+    CPPUNIT_ASSERT_MESSAGE("Incorret B2 value after save and reload.", aCheckFunc.checkB2(pEditText));
+    pEditText = pDoc->GetEditText(ScAddress(1,3,0));
+    CPPUNIT_ASSERT_MESSAGE("Incorret B4 value after save and reload.", aCheckFunc.checkB4(pEditText));
+    pEditText = pDoc->GetEditText(ScAddress(1,4,0));
+    CPPUNIT_ASSERT_MESSAGE("Incorret B5 value after save and reload.", aCheckFunc.checkB5(pEditText));
+    pEditText = pDoc->GetEditText(ScAddress(1,5,0));
+    CPPUNIT_ASSERT_MESSAGE("Incorret B6 value after save and reload.", aCheckFunc.checkB6(pEditText));
+    pEditText = pDoc->GetEditText(ScAddress(1,6,0));
+    CPPUNIT_ASSERT_MESSAGE("Incorret B7 value after save and reload.", aCheckFunc.checkB7(pEditText));
+    pEditText = pDoc->GetEditText(ScAddress(1,7,0));
+    CPPUNIT_ASSERT_MESSAGE("Incorret B8 value after save and reload.", aCheckFunc.checkB8(pEditText));
 
     xNewDocSh3->DoClose();
 }
commit 45e8fd5fcc71219d7564b475a3fec3d4536f70aa
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri May 16 16:31:26 2014 +0200

    For now, reintroduce the horrible static counter into utl::TempFile
    
    ...i.e., bug fdo#41295 and its fix rediscovered.
    
    Change-Id: If958fad74c853f51660a9e0bfffd99969052ea80

diff --git a/unotools/source/ucbhelper/tempfile.cxx b/unotools/source/ucbhelper/tempfile.cxx
index 3d5814f..9fb5d25 100644
--- a/unotools/source/ucbhelper/tempfile.cxx
+++ b/unotools/source/ucbhelper/tempfile.cxx
@@ -237,6 +237,84 @@ OUString lcl_createName(
     }
 }
 
+OUString lcl_createName_BROKEN(
+    const OUString& rLeadingChars, sal_Int16 nRadix,
+    bool bFirst, const OUString* pExtension, const OUString* pParent,
+    bool bDirectory, bool bKeep, bool bLock)
+{
+    // 36 ** 6 == 2176782336
+    unsigned long const nMaxRadix = 36;
+    unsigned long const nMax = (nMaxRadix*nMaxRadix*nMaxRadix*nMaxRadix*nMaxRadix*nMaxRadix);
+    static unsigned long nSeed = Time::GetSystemTicks() % nMax;
+
+    // get correct directory
+    OUString aName = ConstructTempDir_Impl( pParent );
+
+    bool bUseNumber = bFirst;
+    // now use special naming scheme ( name takes leading chars and an index counting up from zero
+    aName += rLeadingChars;
+    for ( unsigned long i=nSeed;; )
+    {
+        OUString aTmp( aName );
+        if ( bUseNumber )
+            aTmp += OUString::number(nSeed, nRadix);
+        bUseNumber = true;
+        if ( pExtension )
+            aTmp += *pExtension;
+        else
+            aTmp += ".tmp";
+        if ( bDirectory )
+        {
+            FileBase::RC err = Directory::create( aTmp );
+            if ( err == FileBase::E_None )
+            {
+                // !bKeep: only for creating a name, not a file or directory
+                if ( bKeep || Directory::remove( aTmp ) == FileBase::E_None )
+                    return aTmp;
+                else
+                    return OUString();
+            }
+            else if ( err != FileBase::E_EXIST )
+                // if f.e. name contains invalid chars stop trying to create dirs
+                return OUString();
+        }
+        else
+        {
+            DBG_ASSERT( bKeep, "Too expensive, use directory for creating name!" );
+            File aFile( aTmp );
+#ifdef UNX
+            /* RW permission for the user only! */
+            mode_t old_mode = umask(077);
+#endif
+            FileBase::RC err = aFile.open(osl_File_OpenFlag_Create | (bLock ? 0 : osl_File_OpenFlag_NoLock));
+#ifdef UNX
+            umask(old_mode);
+#endif
+            if ( err == FileBase::E_None || (bLock && err == FileBase::E_NOLCK) )
+            {
+                aFile.close();
+                return aTmp;
+            }
+            else if ( err != FileBase::E_EXIST )
+            {
+                // if f.e. name contains invalid chars stop trying to create dirs
+                // but if there is a folder with such name proceed further
+
+                DirectoryItem aTmpItem;
+                FileStatus aTmpStatus( osl_FileStatus_Mask_Type );
+                if ( DirectoryItem::get( aTmp, aTmpItem ) != FileBase::E_None
+                  || aTmpItem.getFileStatus( aTmpStatus ) != FileBase::E_None
+                  || aTmpStatus.getFileType() != FileStatus::Directory )
+                    return OUString();
+            }
+        }
+        nSeed = (nSeed + 1) % nMax;
+        if (i == nSeed) {
+            return OUString();
+        }
+    }
+}
+
 OUString CreateTempName_Impl( const OUString* pParent, bool bKeep, bool bDir = true )
 {
     OUString aEyeCatcher = "lu";
@@ -249,8 +327,8 @@ OUString CreateTempName_Impl( const OUString* pParent, bool bKeep, bool bDir = t
     }
 #endif
 #endif
-    return lcl_createName(
-        aEyeCatcher, Time::GetSystemTicks(), 36, true, 0, pParent, bDir, bKeep,
+    return lcl_createName_BROKEN(
+        aEyeCatcher, 36, true, 0, pParent, bDir, bKeep,
         false);
 }
 
commit e25bdf7f602ce7d3d941c07b8c1cf5740e2b0a85
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Fri May 16 15:57:09 2014 +0200

    DOCX import: make sure inline shapes are not in the background
    
    Change-Id: I80d684662ac3f94bff4448fcdae94f9e69fd1590

diff --git a/sw/qa/extras/ooxmlimport/data/inline-groupshape.docx b/sw/qa/extras/ooxmlimport/data/inline-groupshape.docx
new file mode 100644
index 0000000..def5a05
Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/inline-groupshape.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index 5c08d7a..3e2f2ac 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -2120,6 +2120,12 @@ DECLARE_OOXMLIMPORT_TEST(testChartSize, "chart-size.docx")
     CPPUNIT_ASSERT_EQUAL(sal_Int32(6008), getProperty<sal_Int32>(xEmbeddedObjects->getByIndex(0), "Width"));
 }
 
+DECLARE_OOXMLIMPORT_TEST(testInlineGroupshape, "inline-groupshape.docx")
+{
+    // Inline groupshape was in the background, so it was hidden sometimes by other shapes.
+    CPPUNIT_ASSERT_EQUAL(true, getProperty<bool>(getShape(1), "Opaque"));
+}
+
 #endif
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index 59f27fc..1d19df0 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -723,6 +723,10 @@ void GraphicImport::lcl_attribute(Id nName, Value& rValue)
                              uno::makeAny
                              (text::TextContentAnchorType_AS_CHARACTER));
 
+                        // In Word, if a shape is anchored inline, that
+                        // excludes being in the background.
+                        xShapeProps->setPropertyValue("Opaque", uno::makeAny(true));
+
                         uno::Reference<lang::XServiceInfo> xServiceInfo(m_xShape, uno::UNO_QUERY_THROW);
 
                         // TextFrames can't be rotated. But for anything else,
commit e0d94ef4447734b27d15c50fdcea09d8200b2efe
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date:   Fri May 16 15:52:35 2014 +0200

    3D model insertion UI: add *.dae and *.kmz filters
    
    Change-Id: I20f6bea3b1f5ba03cc461f461458f5460da716c3

diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx
index a8c5eac..cb6c62b 100644
--- a/sd/source/ui/func/fuinsert.cxx
+++ b/sd/source/ui/func/fuinsert.cxx
@@ -777,8 +777,10 @@ void FuInsert3DModel::DoExecute( SfxRequest& )
     sfx2::FileDialogHelper aDlg( ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE, 0 );
 
     aDlg.SetTitle( "Insert 3D Model" );
+    aDlg.AddFilter( "All supported formats", "*.json; *.dae; *.kmz"  );
     aDlg.AddFilter( "GL Transmission Format", "*.json" );
-    aDlg.AddFilter( "All files", "*.*"  );
+    aDlg.AddFilter( "COLLADA", "*.dae" );
+    aDlg.AddFilter( "Keyhole Markup language Zipped", "*.kmz"  );
 
     OUString sURL;
     if( aDlg.Execute() == ERRCODE_NONE )
@@ -810,7 +812,6 @@ void FuInsert3DModel::DoExecute( SfxRequest& )
             aPos.Y() -= aSize.Height() >> 1;
         }
 
-
         mpView->Insert3DModelURL( sURL, nAction, aPos, aSize, false ) ;
 
         if( mpWindow )
commit b862a216f769d10e726ad759762b5e6a412acdaf
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date:   Fri May 16 15:31:38 2014 +0200

    ODF filters: fallback glTF model to bitmap for older versions
    
    Change-Id: I33161401a29f511e61429355dd2905d4643fe8ff

diff --git a/include/svl/solar.hrc b/include/svl/solar.hrc
index 0e7185f..b70cb6e 100644
--- a/include/svl/solar.hrc
+++ b/include/svl/solar.hrc
@@ -23,7 +23,7 @@
 // defines ------------------------------------------------------------------
 
 #define OWN_ATTR_VALUE_START                    3900
-#define OWN_ATTR_VALUE_END                      3992
+#define OWN_ATTR_VALUE_END                      3993
 
 #define RID_SFX_START               260
 //      RID_SFX_END                 9999
diff --git a/include/svx/unoshprp.hxx b/include/svx/unoshprp.hxx
index 3b263fd..94d358c 100644
--- a/include/svx/unoshprp.hxx
+++ b/include/svx/unoshprp.hxx
@@ -180,7 +180,8 @@
 #define OWN_ATTR_MEDIA_TEMPFILEURL              (OWN_ATTR_VALUE_START+90)
 #define OWN_ATTR_INTEROPGRABBAG                 (OWN_ATTR_VALUE_START+91)
 #define OWN_ATTR_MEDIA_MIMETYPE                 (OWN_ATTR_VALUE_START+92)
-// ATTENTION: maximum is OWN_ATTR_VALUE_START+92, see include/svl/solar.hrc
+#define OWN_ATTR_FALLBACK_GRAPHIC               (OWN_ATTR_VALUE_START+93)
+// ATTENTION: maximum is OWN_ATTR_VALUE_START+93 svx, see include/svl/solar.hrc
 
 // #FontWork#
 #define FONTWORK_PROPERTIES \
diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx
index 92bdcfb..ca70ab7 100644
--- a/svx/source/unodraw/unoprov.cxx
+++ b/svx/source/unodraw/unoprov.cxx
@@ -733,6 +733,7 @@ SfxItemPropertyMapEntry const * ImplGetSvxMediaShapePropertyMap()
         {OUString("PrivateStream"), OWN_ATTR_MEDIA_STREAM, cppu::UnoType<css::io::XInputStream>::get(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
         {OUString("PrivateTempFileURL"), OWN_ATTR_MEDIA_TEMPFILEURL, ::cppu::UnoType<OUString>::get(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
         { OUString("MediaMimeType"), OWN_ATTR_MEDIA_MIMETYPE, ::cppu::UnoType<OUString>::get(), 0, 0},
+        { OUString("FallbackGraphic"), OWN_ATTR_FALLBACK_GRAPHIC, cppu::UnoType<css::graphic::XGraphic>::get(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0},
         { OUString(), 0, css::uno::Type(), 0, 0 }
     };
 
diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx
index 35e88a5..16c0329 100644
--- a/svx/source/unodraw/unoshap4.cxx
+++ b/svx/source/unodraw/unoshap4.cxx
@@ -911,7 +911,8 @@ bool SvxMediaShape::getPropertyValueImpl( const OUString& rName, const SfxItemPr
             (pProperty->nWID <= OWN_ATTR_MEDIA_ZOOM))
         || (pProperty->nWID == OWN_ATTR_MEDIA_STREAM)
         || (pProperty->nWID == OWN_ATTR_MEDIA_TEMPFILEURL)
-        || (pProperty->nWID == OWN_ATTR_MEDIA_MIMETYPE))
+        || (pProperty->nWID == OWN_ATTR_MEDIA_MIMETYPE)
+        || (pProperty->nWID == OWN_ATTR_FALLBACK_GRAPHIC))
     {
         SdrMediaObj* pMedia = static_cast< SdrMediaObj* >( mpObj.get() );
         const ::avmedia::MediaItem aItem( pMedia->getMediaProperties() );
@@ -950,6 +951,10 @@ bool SvxMediaShape::getPropertyValueImpl( const OUString& rName, const SfxItemPr
                 rValue <<= aItem.getMimeType();
                 break;
 
+            case OWN_ATTR_FALLBACK_GRAPHIC:
+                rValue <<= pMedia->getSnapshot();
+                break;
+
             default:
                 OSL_FAIL("SvxMediaShape::getPropertyValueImpl(), unknown property!");
         }
diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
index e6492f2..9a1723b 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -3154,8 +3154,10 @@ lcl_StoreMediaAndGetURL(SvXMLExport & rExport,
     }
 }
 
-static void lcl_StoreJsonExternals(
-    SvXMLExport& rExport, const OUString& rURL)
+static void lcl_StoreJsonExternalsAndFallback(
+    SvXMLExport& rExport,
+    const uno::Reference<beans::XPropertySet> xPropSet,
+    const OUString& rURL )
 {
     OUString sUrlPath;
     if (rURL.startsWithIgnoreAsciiCase("vnd.sun.star.Package:", &sUrlPath))
@@ -3184,20 +3186,57 @@ static void lcl_StoreJsonExternals(
                 xTarget->openStorageElement(sUrlPath.copy(0,sUrlPath.lastIndexOf("/")), embed::ElementModes::WRITE));
 
             // Target of current model
+            const OUString sModelName = sUrlPath.copy(sUrlPath.lastIndexOf("/")+1);
             const uno::Reference<embed::XStorage> xModelTarget(
-                xModelsTarget->openStorageElement(sUrlPath.copy(sUrlPath.lastIndexOf("/")+1), embed::ElementModes::WRITE));
+                xModelsTarget->openStorageElement(sModelName, embed::ElementModes::WRITE));
 
             xModelStorage->copyToStorage(xModelTarget);
 
-            uno::Reference<embed::XTransactedObject> const xTransaction(xModelsTarget, uno::UNO_QUERY);
-            if (xTransaction.is())
+            /* Save the fallback image under the 'Model/Fallback/' folder
+               Place fallback image before the plugin tag otherwise older LO versions will parse an empty
+               plugin shape instead of the image. In current version this image will be ingored during import.*/
+            uno::Reference< graphic::XGraphic > xGraphic( xPropSet->getPropertyValue("FallbackGraphic"), uno::UNO_QUERY );
+            if( xGraphic.is() )
             {
-                xTransaction->commit();
+                // Fallback storage
+                const uno::Reference<embed::XStorage> xFallbackTarget(
+                    xModelsTarget->openStorageElement(OUString("Fallback"), embed::ElementModes::WRITE));
+
+                uno::Reference< io::XStream > xPictureStream(
+                    xFallbackTarget->openStreamElement( sModelName + ".png", embed::ElementModes::WRITE ), uno::UNO_QUERY_THROW );
+
+                uno::Reference< graphic::XGraphicProvider > xProvider( graphic::GraphicProvider::create(comphelper::getProcessComponentContext()) );
+                uno::Sequence< beans::PropertyValue > aArgs( 2 );
+                aArgs[ 0 ].Name = "MimeType";
+                aArgs[ 0 ].Value <<= OUString( "image/png" );
+                aArgs[ 1 ].Name = "OutputStream";
+                aArgs[ 1 ].Value <<= xPictureStream->getOutputStream();
+                xProvider->storeGraphic( xGraphic, aArgs );
+
+                const uno::Reference<embed::XTransactedObject> xFallbackTransaction(xFallbackTarget, uno::UNO_QUERY);
+                if (xFallbackTransaction.is())
+                {
+                    xFallbackTransaction->commit();
+                }
+
+                const OUString sFallbackURL( sUrlPath.copy(0,sUrlPath.lastIndexOf("/")) + "/Fallback/" + sModelName + ".png");
+                rExport.AddAttribute(XML_NAMESPACE_XLINK, XML_HREF, sFallbackURL );
+                rExport.AddAttribute( XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE );
+                rExport.AddAttribute( XML_NAMESPACE_XLINK, XML_SHOW, XML_EMBED );
+                rExport.AddAttribute( XML_NAMESPACE_XLINK, XML_ACTUATE, XML_ONLOAD );
+
+                SvXMLElementExport aImage( rExport, XML_NAMESPACE_DRAW, XML_IMAGE, false, true );
+            }
+
+            const uno::Reference<embed::XTransactedObject> xModelsTransaction(xModelsTarget, uno::UNO_QUERY);
+            if (xModelsTransaction.is())
+            {
+                xModelsTransaction->commit();
             }
         }
         catch (uno::Exception const& e)
         {
-            SAL_INFO("xmloff", "exception while storing embedded model: '" << e.Message << "'");
+            SAL_INFO("xmloff", "exception while saving embedded model: '" << e.Message << "'");
         }
     }
 }
@@ -3229,7 +3268,7 @@ void XMLShapeExport::ImpExportMediaShape(
         OUString const persistentURL =
             lcl_StoreMediaAndGetURL(GetExport(), xPropSet, aMediaURL, sMimeType);
         if( sMimeType == "application/vnd.gltf+json" )
-            lcl_StoreJsonExternals(GetExport(), aMediaURL);
+            lcl_StoreJsonExternalsAndFallback(GetExport(), xPropSet, aMediaURL);
 
         mrExport.AddAttribute ( XML_NAMESPACE_XLINK, XML_HREF, persistentURL );
         mrExport.AddAttribute ( XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE );
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index 97040ea3..611a711 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -3056,6 +3056,7 @@ SdXMLPluginShapeContext::~SdXMLPluginShapeContext()
 
 void SdXMLPluginShapeContext::StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList)
 {
+
     // watch for MimeType attribute to see if we have a media object
     for( sal_Int16 n = 0, nAttrCount = ( xAttrList.is() ? xAttrList->getLength() : 0 ); n < nAttrCount; ++n )
     {
@@ -3583,6 +3584,18 @@ SvXMLImportContext *SdXMLFrameShapeContext::CreateChildContext( sal_uInt16 nPref
             }
         }
     }
+    // For glTF models the fallback image is placed before the real shape.
+    // So we need to remove the fallback image after real shape is detected.
+    else if ( mxImplContext.Is() && IsXMLToken(mxImplContext->GetLocalName(), XML_IMAGE) &&
+              IsXMLToken( rLocalName, XML_PLUGIN ) )
+    {
+        SvXMLShapeContext* pShapeContext= GetImport().GetShapeImport()->CreateFrameChildContext(
+                        GetImport(), nPrefix, rLocalName, xAttrList, mxShapes, mxAttrList );
+
+        pContext = pShapeContext;
+        if( pContext )
+            removeGraphicFromImportContext(*mxImplContext);
+    }
 
     // call parent for content
     if(!pContext)
commit e627929e5ea628ddbc981cc1afd9cde1b8f69a4e
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date:   Fri May 16 12:02:36 2014 +0200

    Fix class name typo in comment
    
    Change-Id: Ie37583fb53578fb91a121f7d2ec654a4fae01002

diff --git a/xmloff/source/draw/shapeimport.cxx b/xmloff/source/draw/shapeimport.cxx
index e31f8c3..b220c22 100644
--- a/xmloff/source/draw/shapeimport.cxx
+++ b/xmloff/source/draw/shapeimport.cxx
@@ -609,7 +609,7 @@ SvXMLShapeContext* XMLShapeImportHelper::CreateGroupChildContext(
     return pContext;
 }
 
-// This method is called from SdXMLFrameContext to create children of drawe:frame
+// This method is called from SdXMLFrameShapeContext to create children of drawe:frame
 SvXMLShapeContext* XMLShapeImportHelper::CreateFrameChildContext(
     SvXMLImport& rImport,
     sal_uInt16 p_nPrefix,
commit 06a45a1a1766f61cd583725c61d685ad4a3f868e
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri May 16 16:20:56 2014 +0200

    loplugin:saloverride
    
    Change-Id: I2b6e6a6654e888bec3ba4961f9130ca10b791f87

diff --git a/include/svx/langbox.hxx b/include/svx/langbox.hxx
index 7bc28f7..a278fac 100644
--- a/include/svx/langbox.hxx
+++ b/include/svx/langbox.hxx
@@ -104,17 +104,17 @@ public:
     virtual ~SvxLanguageBox();
 
 private:
-    SVX_DLLPRIVATE virtual sal_Int32    ImplInsertImgEntry( const OUString& rEntry, sal_Int32  nPos, bool bChecked );
-    SVX_DLLPRIVATE virtual void         ImplRemoveEntryAt( sal_Int32 nPos );
-
-    SVX_DLLPRIVATE virtual void         ImplClear();
-    SVX_DLLPRIVATE virtual sal_Int32    ImplInsertEntry( const OUString& rEntry, sal_Int32 nPos );
-    SVX_DLLPRIVATE virtual void         ImplSetEntryData( sal_Int32 nPos, void* pData );
-    SVX_DLLPRIVATE virtual sal_Int32    ImplGetSelectEntryPos() const;
-    SVX_DLLPRIVATE virtual void*        ImplGetEntryData( sal_Int32 nPos ) const;
-    SVX_DLLPRIVATE virtual void         ImplSelectEntryPos( sal_Int32 nPos, bool bSelect );
-    SVX_DLLPRIVATE virtual bool         ImplIsEntryPosSelected( sal_Int32 nPos ) const;
-    SVX_DLLPRIVATE virtual sal_Int32    ImplGetEntryCount() const;
+    SVX_DLLPRIVATE virtual sal_Int32    ImplInsertImgEntry( const OUString& rEntry, sal_Int32  nPos, bool bChecked ) SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual void         ImplRemoveEntryAt( sal_Int32 nPos ) SAL_OVERRIDE;
+
+    SVX_DLLPRIVATE virtual void         ImplClear() SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual sal_Int32    ImplInsertEntry( const OUString& rEntry, sal_Int32 nPos ) SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual void         ImplSetEntryData( sal_Int32 nPos, void* pData ) SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual sal_Int32    ImplGetSelectEntryPos() const SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual void*        ImplGetEntryData( sal_Int32 nPos ) const SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual void         ImplSelectEntryPos( sal_Int32 nPos, bool bSelect ) SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual bool         ImplIsEntryPosSelected( sal_Int32 nPos ) const SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual sal_Int32    ImplGetEntryCount() const SAL_OVERRIDE;
 };
 
 
@@ -125,17 +125,17 @@ public:
     virtual ~SvxLanguageComboBox();
 
 private:
-    SVX_DLLPRIVATE virtual sal_Int32    ImplInsertImgEntry( const OUString& rEntry, sal_Int32  nPos, bool bChecked );
-    SVX_DLLPRIVATE virtual void         ImplRemoveEntryAt( sal_Int32 nPos );
-
-    SVX_DLLPRIVATE virtual void         ImplClear();
-    SVX_DLLPRIVATE virtual sal_Int32    ImplInsertEntry( const OUString& rEntry, sal_Int32 nPos );
-    SVX_DLLPRIVATE virtual void         ImplSetEntryData( sal_Int32 nPos, void* pData );
-    SVX_DLLPRIVATE virtual sal_Int32    ImplGetSelectEntryPos() const;
-    SVX_DLLPRIVATE virtual void*        ImplGetEntryData( sal_Int32 nPos ) const;
-    SVX_DLLPRIVATE virtual void         ImplSelectEntryPos( sal_Int32 nPos, bool bSelect );
-    SVX_DLLPRIVATE virtual bool         ImplIsEntryPosSelected( sal_Int32 nPos ) const;
-    SVX_DLLPRIVATE virtual sal_Int32    ImplGetEntryCount() const;
+    SVX_DLLPRIVATE virtual sal_Int32    ImplInsertImgEntry( const OUString& rEntry, sal_Int32  nPos, bool bChecked ) SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual void         ImplRemoveEntryAt( sal_Int32 nPos ) SAL_OVERRIDE;
+
+    SVX_DLLPRIVATE virtual void         ImplClear() SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual sal_Int32    ImplInsertEntry( const OUString& rEntry, sal_Int32 nPos ) SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual void         ImplSetEntryData( sal_Int32 nPos, void* pData ) SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual sal_Int32    ImplGetSelectEntryPos() const SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual void*        ImplGetEntryData( sal_Int32 nPos ) const SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual void         ImplSelectEntryPos( sal_Int32 nPos, bool bSelect ) SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual bool         ImplIsEntryPosSelected( sal_Int32 nPos ) const SAL_OVERRIDE;
+    SVX_DLLPRIVATE virtual sal_Int32    ImplGetEntryCount() const SAL_OVERRIDE;
 };
 
 #endif
commit f6f208dd9a4bd62b3b732dc06d35ad082592706f
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri May 16 16:14:42 2014 +0300

    Add more info about XCODE_DEBUG_INFORMATION_FORMAT
    
    Change-Id: I90b1140d9c3f70f01eb673e6d9113593bbe57a09

diff --git a/configure.ac b/configure.ac
index 053fc51..b4052c6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3979,7 +3979,9 @@ else
 fi
 AC_SUBST(ENABLE_SYMBOLS)
 
-# Running dsymutil takes too long
+# Debug information format for iOS. Running dsymutil takes a long time... you really need a separate
+# .dSYM only if running Instruments, I think. (Not for normal debugging in Xcode.) To enable a
+# separate .dSYM, either use --enable-release-build or change manually to "DWARF with DSYM" in Xcode.
 XCODE_DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
 if test "$enable_release_build" != yes -a \( -n "$ENABLE_SYMBOLS" -o -n "$ENABLE_DEBUG" -o -n "$ENABLE_DBGUTIL" \); then
     XCODE_DEBUG_INFORMATION_FORMAT=dwarf
commit 942156b1ed7d0cd27c18960bf4cf874689e9aa0a
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Fri May 16 13:45:56 2014 +0200

    sw doc model dump: show SdrObject::nOrdNum
    
    Change-Id: I4ac2c3d883dd9bb111a2d600f5a17ea96a1e219e

diff --git a/sw/source/core/docnode/nodedump.cxx b/sw/source/core/docnode/nodedump.cxx
index 31d9821..ab888ad 100644
--- a/sw/source/core/docnode/nodedump.cxx
+++ b/sw/source/core/docnode/nodedump.cxx
@@ -146,6 +146,7 @@ void lcl_dumpSdrModel(WriterHelper& writer, const SdrModel* pModel)
                     writer.writeFormatAttribute("name", "%s", BAD_CAST(OUStringToOString(pObject->GetName(), RTL_TEXTENCODING_UTF8).getStr()));
                     writer.writeFormatAttribute("title", "%s", BAD_CAST(OUStringToOString(pObject->GetTitle(), RTL_TEXTENCODING_UTF8).getStr()));
                     writer.writeFormatAttribute("description", "%s", BAD_CAST(OUStringToOString(pObject->GetDescription(), RTL_TEXTENCODING_UTF8).getStr()));
+                    writer.writeFormatAttribute("nOrdNum", TMP_FORMAT, pObject->GetOrdNumDirect());
 
                     const OutlinerParaObject* pOutliner = pObject->GetOutlinerParaObject();
                     writer.startElement("outliner");
commit fcfa1b7e1f643f97ca81edd199b9d67d37411adc
Author: Thomas Arnhold <thomas at arnhold.org>
Date:   Fri May 16 14:31:40 2014 +0200

    idl: fix some include guards
    
    Change-Id: I6f306ba26d888a617aae89d29fc80acd00bd71d8

diff --git a/offapi/com/sun/star/chart2/RegressionEquation.idl b/offapi/com/sun/star/chart2/RegressionEquation.idl
index 9fc7ac9..e95459a 100644
--- a/offapi/com/sun/star/chart2/RegressionEquation.idl
+++ b/offapi/com/sun/star/chart2/RegressionEquation.idl
@@ -16,8 +16,8 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
-#ifndef com_sun_star_chart2_RegressionCurveEquation_idl
-#define com_sun_star_chart2_RegressionCurveEquation_idl
+#ifndef com_sun_star_chart2_RegressionEquation_idl
+#define com_sun_star_chart2_RegressionEquation_idl
 
 #include <com/sun/star/beans/XPropertySet.idl>
 
diff --git a/offapi/com/sun/star/datatransfer/XTransferableEx.idl b/offapi/com/sun/star/datatransfer/XTransferableEx.idl
index 05012d2..ac13fca 100644
--- a/offapi/com/sun/star/datatransfer/XTransferableEx.idl
+++ b/offapi/com/sun/star/datatransfer/XTransferableEx.idl
@@ -18,7 +18,7 @@
  */
 
 #ifndef __com_sun_star_datatransfer_XTransferableEx_idl__
-#define __com_sun_star_datatransfer_XTransferable_idl__
+#define __com_sun_star_datatransfer_XTransferableEx_idl__
 
 #include <com/sun/star/datatransfer/DataFlavor.idl>
 #include <com/sun/star/uno/XInterface.idl>
diff --git a/offapi/com/sun/star/xforms/XForms.idl b/offapi/com/sun/star/xforms/XForms.idl
index ba23bdd..2255f09 100644
--- a/offapi/com/sun/star/xforms/XForms.idl
+++ b/offapi/com/sun/star/xforms/XForms.idl
@@ -16,8 +16,8 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
-#ifndef __com_sun_star_xforms_Binding_idl__
-#define __com_sun_star_xforms_Binding_idl__
+#ifndef __com_sun_star_xforms_XForms_idl__
+#define __com_sun_star_xforms_XForms_idl__
 
 #include <com/sun/star/container/XNameContainer.idl>
 
diff --git a/oovbaapi/ooo/vba/excel/XCharts.idl b/oovbaapi/ooo/vba/excel/XCharts.idl
index 4384c04..91c8c6b 100644
--- a/oovbaapi/ooo/vba/excel/XCharts.idl
+++ b/oovbaapi/ooo/vba/excel/XCharts.idl
@@ -16,8 +16,8 @@
  *   except in compliance with the License. You may obtain a copy of
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
-#ifndef __ooo_vba_excel_XChart_idl__
-#define __ooo_vba_excel_XChart_idl__
+#ifndef __ooo_vba_excel_XCharts_idl__
+#define __ooo_vba_excel_XCharts_idl__
 
 #include <com/sun/star/uno/XInterface.idl>
 #include <ooo/vba/XCollection.idl>
commit 638848d5eab0ca713814cef6e6f2aca5956fe0f9
Author: Thomas Arnhold <thomas at arnhold.org>
Date:   Thu May 15 19:56:46 2014 +0200

    idl: remove external header guards
    
    Change-Id: I78661f0750e4213a20dd2341580cbb181897f3ba

diff --git a/jurt/test/com/sun/star/lib/uno/protocols/urp/interfaces.idl b/jurt/test/com/sun/star/lib/uno/protocols/urp/interfaces.idl
index 690b544..4ea1c8e 100644
--- a/jurt/test/com/sun/star/lib/uno/protocols/urp/interfaces.idl
+++ b/jurt/test/com/sun/star/lib/uno/protocols/urp/interfaces.idl
@@ -17,22 +17,10 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#ifndef __com_sun_star_uno_XInterface_idl__
 #include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_beans_XPropertySet_idl_
 #include <com/sun/star/beans/XPropertySet.idl>
-#endif
-
-#ifndef __com_sun_star_uno_Exception_idl__
 #include <com/sun/star/uno/Exception.idl>
-#endif
-
-#ifndef __com_sun_star_uno_Exception_idl__
 #include <com/sun/star/uno/Any.idl>
-#endif
-
 
 module com { module sun { module star { module lib { module uno {
 module protocols { module urp {
diff --git a/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl b/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl
index 3ff2ab7..80fe8c6 100644
--- a/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl
+++ b/offapi/com/sun/star/ui/ContextChangeEventMultiplexer.idl
@@ -19,9 +19,7 @@
 #ifndef __com_sun_star_ui_ContextChangeEventMultiplexer_idl__
 #define __com_sun_star_ui_ContextChangeEventMultiplexer_idl__
 
-#ifndef __com_sun_star_ui_XContextChangeEventMultiplexer_idl__
 #include <com/sun/star/ui/XContextChangeEventMultiplexer.idl>
-#endif
 
 module com {  module sun {  module star {  module ui {
 
diff --git a/offapi/com/sun/star/ui/ContextChangeEventObject.idl b/offapi/com/sun/star/ui/ContextChangeEventObject.idl
index a9a9023..64280be 100644
--- a/offapi/com/sun/star/ui/ContextChangeEventObject.idl
+++ b/offapi/com/sun/star/ui/ContextChangeEventObject.idl
@@ -19,14 +19,8 @@
 #ifndef __com_sun_star_ui_ContextChangeEventObject_idl__
 #define __com_sun_star_ui_ContextChangeEventObject_idl__
 
-#ifndef __com_sun_star_uno_XInterface_idl__
 #include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_lang_EventObject_idl__
 #include <com/sun/star/lang/EventObject.idl>
-#endif
-
 
 module com { module sun { module star { module ui {
 
diff --git a/offapi/com/sun/star/ui/XContextChangeEventListener.idl b/offapi/com/sun/star/ui/XContextChangeEventListener.idl
index c71fb34..71b352d 100644
--- a/offapi/com/sun/star/ui/XContextChangeEventListener.idl
+++ b/offapi/com/sun/star/ui/XContextChangeEventListener.idl
@@ -19,17 +19,9 @@
 #ifndef __com_sun_star_ui_XContextChangeEventListener_idl__
 #define __com_sun_star_ui_XContextChangeEventListener_idl__
 
-#ifndef __com_sun_star_uno_XInterface_idl__
 #include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_lang_XEventListener_idl__
 #include <com/sun/star/lang/XEventListener.idl>
-#endif
-
-#ifndef __com_sun_star_ui_ContextChangeEventObject_idl__
 #include <com/sun/star/ui/ContextChangeEventObject.idl>
-#endif
 
 module com { module sun { module star { module ui {
 
diff --git a/offapi/com/sun/star/ui/XContextChangeEventMultiplexer.idl b/offapi/com/sun/star/ui/XContextChangeEventMultiplexer.idl
index 457158e..4c0e5b7 100644
--- a/offapi/com/sun/star/ui/XContextChangeEventMultiplexer.idl
+++ b/offapi/com/sun/star/ui/XContextChangeEventMultiplexer.idl
@@ -19,22 +19,10 @@
 #ifndef __com_sun_star_ui_XContextChangeEventMultiplexer_idl__
 #define __com_sun_star_ui_XContextChangeEventMultiplexer_idl__
 
-#ifndef __com_sun_star_uno_XInterface_idl__
 #include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_ui_XContextChangeEventListener_idl__
 #include <com/sun/star/ui/XContextChangeEventListener.idl>
-#endif
-
-#ifndef __com_sun_star_ui_ContextChangeEventObject_idl__
 #include <com/sun/star/ui/ContextChangeEventObject.idl>
-#endif
-
-#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
 #include <com/sun/star/lang/IllegalArgumentException.idl>
-#endif
-
 
 module com { module sun { module star { module ui {
 
diff --git a/offapi/com/sun/star/ui/XSidebar.idl b/offapi/com/sun/star/ui/XSidebar.idl
index 9b16659..d5c495e 100644
--- a/offapi/com/sun/star/ui/XSidebar.idl
+++ b/offapi/com/sun/star/ui/XSidebar.idl
@@ -19,9 +19,7 @@
 #ifndef __com_sun_star_ui_XSidebar_idl__
 #define __com_sun_star_ui_XSidebar_idl__
 
-#ifndef __com_sun_star_uno_XInterface_idl__
 #include <com/sun/star/uno/XInterface.idl>
-#endif
 
 module com { module sun { module star { module ui {
 
diff --git a/offapi/com/sun/star/ui/XSidebarPanel.idl b/offapi/com/sun/star/ui/XSidebarPanel.idl
index 268fa72..aa60b32 100644
--- a/offapi/com/sun/star/ui/XSidebarPanel.idl
+++ b/offapi/com/sun/star/ui/XSidebarPanel.idl
@@ -19,24 +19,11 @@
 #ifndef __com_sun_star_ui_XSidebarPanel_idl__
 #define __com_sun_star_ui_XSidebarPanel_idl__
 
-#ifndef __com_sun_star_uno_XInterface_idl__
 #include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_rendering_XCanvas_idl__
 #include <com/sun/star/rendering/XCanvas.idl>
-#endif
-
-#ifndef __com_sun_star_awt_Point_idl__
 #include <com/sun/star/awt/Point.idl>
-#endif
-
-#ifndef __com_sun_star_beans_XPropertySet_idl__
 #include <com/sun/star/beans/XPropertySet.idl>
-#endif
-#ifndef __com_sun_star_ui_LayoutSize_idl__
 #include <com/sun/star/ui/LayoutSize.idl>
-#endif
 
 module com { module sun { module star { module ui {
 
diff --git a/stoc/test/testintrosp.idl b/stoc/test/testintrosp.idl
index 7f75e7a..338ce02 100644
--- a/stoc/test/testintrosp.idl
+++ b/stoc/test/testintrosp.idl
@@ -19,28 +19,11 @@
 #ifndef __com_sun_star_beans_XIntroTest_idl__
 #define __com_sun_star_beans_XIntroTest_idl__
 
-#ifndef __com_sun_star_uno_XInterface_idl__
 #include <com/sun/star/uno/XInterface.idl>
-#endif
-
-#ifndef __com_sun_star_beans_Property_idl__
 #include <com/sun/star/beans/Property.idl>
-#endif
-
-#ifndef __com_sun_star_beans_PropertyValue_idl__
 #include <com/sun/star/beans/PropertyValue.idl>
-#endif
-
-#ifndef __com_sun_star_uno_TypeClass_idl__
 #include <com/sun/star/uno/TypeClass.idl>
-#endif
-
-#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__
 #include <com/sun/star/beans/XPropertiesChangeListener.idl>
-#endif
-
-
-
 
 module ModuleA
 {
commit 93037e30610ef9549acadf4696f119dde2f5307f
Author: Thomas Arnhold <thomas at arnhold.org>
Date:   Thu May 15 18:58:32 2014 +0200

    fix-includes.pl: svgio
    
    Change-Id: I660f0b2da8f5e6fd8de37e22fd4edd2bd8d21ef8

diff --git a/svgio/source/svguno/svguno.cxx b/svgio/source/svguno/svguno.cxx
index 2c15990..f0dbe26 100644
--- a/svgio/source/svguno/svguno.cxx
+++ b/svgio/source/svguno/svguno.cxx
@@ -17,11 +17,11 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include "sal/config.h"
+#include <sal/config.h>
 
-#include "cppuhelper/factory.hxx"
-#include "cppuhelper/implementationentry.hxx"
-#include "sal/types.h"
+#include <cppuhelper/factory.hxx>
+#include <cppuhelper/implementationentry.hxx>
+#include <sal/types.h>
 
 #include "xsvgparser.hxx"
 
diff --git a/svgio/source/svguno/xsvgparser.cxx b/svgio/source/svguno/xsvgparser.cxx
index 2032ce8..9884698 100644
--- a/svgio/source/svguno/xsvgparser.cxx
+++ b/svgio/source/svguno/xsvgparser.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include "sal/config.h"
+#include <sal/config.h>
 
 #include <boost/noncopyable.hpp>
 #include <com/sun/star/graphic/XSvgParser.hpp>
diff --git a/svgio/source/svguno/xsvgparser.hxx b/svgio/source/svguno/xsvgparser.hxx
index 01513e0..7853b1e 100644
--- a/svgio/source/svguno/xsvgparser.hxx
+++ b/svgio/source/svguno/xsvgparser.hxx
@@ -20,11 +20,11 @@
 #ifndef INCLUDED_SVGIO_SOURCE_SVGUNO_XSVGPARSER_HXX
 #define INCLUDED_SVGIO_SOURCE_SVGUNO_XSVGPARSER_HXX
 
-#include "sal/config.h"
+#include <sal/config.h>
 
-#include "com/sun/star/uno/Reference.hxx"
-#include "com/sun/star/uno/Sequence.hxx"
-#include "sal/types.h"
+#include <com/sun/star/uno/Reference.hxx>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <sal/types.h>
 
 namespace com { namespace sun { namespace star {
     namespace uno {
commit a6ef8ed1d6ba5843fa2e5fc49e21d8adda2b7583
Author: Thomas Arnhold <thomas at arnhold.org>
Date:   Thu May 15 18:53:12 2014 +0200

    clean up, remove eof comments
    
    Change-Id: I166e781cb54181a8e5d08021cf5f6dfcd1fde5cb

diff --git a/basegfx/source/tuple/b3i64tuple.cxx b/basegfx/source/tuple/b3i64tuple.cxx
index 8bb7c08..ac7c879 100644
--- a/basegfx/source/tuple/b3i64tuple.cxx
+++ b/basegfx/source/tuple/b3i64tuple.cxx
@@ -26,6 +26,4 @@ namespace basegfx
 {
 } // end of namespace basegfx
 
-// eof
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/drawinglayer/source/primitive2d/objectinfoprimitive2d.cxx b/drawinglayer/source/primitive2d/objectinfoprimitive2d.cxx
index a9b452c..29f0569 100644
--- a/drawinglayer/source/primitive2d/objectinfoprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/objectinfoprimitive2d.cxx
@@ -19,12 +19,8 @@
 #include <drawinglayer/primitive2d/objectinfoprimitive2d.hxx>

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list