[Libreoffice-commits] core.git: sw/PythonTest_sw_python.mk sw/qa sw/source

Samuel Mehrbrodt (via logerrit) logerrit at kemper.freedesktop.org
Thu Sep 3 08:46:04 UTC 2020


 sw/PythonTest_sw_python.mk         |    1 
 sw/qa/python/check_drawpage.py     |   44 +++++++++++++++++++++++++++++++++++++
 sw/source/core/unocore/unodraw.cxx |    2 -
 3 files changed, 46 insertions(+), 1 deletion(-)

New commits:
commit 3eb5318ed9ae8cf02804fbdc584a5f4b046db0ae
Author:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Tue Sep 1 12:51:09 2020 +0200
Commit:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
CommitDate: Thu Sep 3 10:45:25 2020 +0200

    tdf#136423 make SwXDrawPage::group work with a single shape
    
    No reason this should not work (and the implementation in Draw/Impress/Calc
    also works this way)
    
    Change-Id: Ic5bc7420e9025b45ed848dccf68b112c0c6c2cd5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101842
    Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>

diff --git a/sw/PythonTest_sw_python.mk b/sw/PythonTest_sw_python.mk
index b1c96a5c26ab..d64a8b516563 100644
--- a/sw/PythonTest_sw_python.mk
+++ b/sw/PythonTest_sw_python.mk
@@ -16,6 +16,7 @@ $(eval $(call gb_PythonTest_set_defs,sw_python,\
 $(eval $(call gb_PythonTest_add_modules,sw_python,$(SRCDIR)/sw/qa/python,\
 	check_bookmarks \
 	check_change_color \
+	check_drawpage \
 	check_index \
 	check_flies \
 	check_fields \
diff --git a/sw/qa/python/check_drawpage.py b/sw/qa/python/check_drawpage.py
new file mode 100644
index 000000000000..ef28490ce224
--- /dev/null
+++ b/sw/qa/python/check_drawpage.py
@@ -0,0 +1,44 @@
+#! /usr/bin/env python
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-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/.
+#
+import unittest
+from org.libreoffice.unotest import UnoInProcess
+
+from com.sun.star.text.TextContentAnchorType import AT_PARAGRAPH
+
+class CheckDrawPage(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        cls._uno = UnoInProcess()
+        cls._uno.setUp()
+
+    @classmethod
+    def tearDownClass(cls):
+        cls._uno.tearDown()
+
+    """
+    Test that grouping shapes also works with a single shape.
+    """
+    def test_group_single_shape(self):
+        xDoc = self.__class__._uno.openEmptyWriterDoc()
+        page = xDoc.DrawPage
+        collection = self.__class__._uno.xContext.ServiceManager.createInstance( 'com.sun.star.drawing.ShapeCollection' )
+        shape = xDoc.createInstance('com.sun.star.drawing.TextShape')
+        shape.AnchorType = AT_PARAGRAPH
+        page.add(shape)
+        collection.add(shape)
+        shapegroup = page.group(collection)
+
+        self.assertEqual(shapegroup.Count, 1)
+
+        xDoc.close(True)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx
index 7c7f84f4399b..8e280ea7179a 100644
--- a/sw/source/core/unocore/unodraw.cxx
+++ b/sw/source/core/unocore/unodraw.cxx
@@ -753,7 +753,7 @@ uno::Reference< drawing::XShapeGroup >  SwXDrawPage::group(const uno::Reference<
         {
             // mark and return MarkList
             const SdrMarkList& rMarkList = pPage->PreGroup(xShapes);
-            if ( rMarkList.GetMarkCount() > 1 )
+            if ( rMarkList.GetMarkCount() > 0 )
             {
                 for (size_t i = 0; i < rMarkList.GetMarkCount(); ++i)
                 {


More information about the Libreoffice-commits mailing list