[Libreoffice-commits] core.git: Branch 'libreoffice-4-4' - sw/qa sw/source

Miklos Vajna vmiklos at collabora.co.uk
Thu Aug 20 02:25:07 PDT 2015


 sw/qa/extras/uiwriter/data/tdf89720.odt |binary
 sw/qa/extras/uiwriter/uiwriter.cxx      |   21 +++++++++++++++++++++
 sw/source/uibase/docvw/SidebarWin.cxx   |    3 ++-
 3 files changed, 23 insertions(+), 1 deletion(-)

New commits:
commit 7ef02b34a47869a582dfd1dc6c1291e20c029eed
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Thu Jul 30 09:11:35 2015 +0200

    tdf#89720 sw: do not create text range overlay for reply annotations
    
    Regression from commit 0761f81643a6890457e9ef7d913ab5c88c2593a4 (123792:
    complete annotations on text ranges feature, 2013-12-19), the problem
    was that in case a comment had a reply, then both comments produced its
    range overlay, and this repeated semi-transparent overlay resulted in
    dark color.
    
    Go back to the old behavior of just painting the overlay for the
    non-reply comment; for real, partly overlapping comments showing the
    exact boundaries of the overlapping overlays still makes sense.
    
    (cherry picked from commit 780dd8c1cf5302ca503cf7b55357dace4d69beb9)
    
    Conflicts:
    	sw/qa/extras/uiwriter/uiwriter.cxx
    
    Change-Id: Ic2673a1a41146ff547262ba681b34a63f41aa8ff
    Reviewed-on: https://gerrit.libreoffice.org/17851
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/qa/extras/uiwriter/data/tdf89720.odt b/sw/qa/extras/uiwriter/data/tdf89720.odt
new file mode 100644
index 0000000..0b86ec5
Binary files /dev/null and b/sw/qa/extras/uiwriter/data/tdf89720.odt differ
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
index b7d0157..e78dc88 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -23,6 +23,9 @@
 #include <textboxhelper.hxx>
 #include <view.hxx>
 #include <hhcwrp.hxx>
+#include <postithelper.hxx>
+#include <PostItMgr.hxx>
+#include <SidebarWin.hxx>
 
 #include <svx/svdpage.hxx>
 #include <svx/svdview.hxx>
@@ -61,6 +64,7 @@ public:
     void testBookmarkUndo();
     void testCp1000115();
     void testDde();
+    void testTdf89720();
 
     CPPUNIT_TEST_SUITE(SwUiWriterTest);
     CPPUNIT_TEST(testReplaceForward);
@@ -87,6 +91,7 @@ public:
     CPPUNIT_TEST(testBookmarkUndo);
     CPPUNIT_TEST(testCp1000115);
     CPPUNIT_TEST(testDde);
+    CPPUNIT_TEST(testTdf89720);
 
     CPPUNIT_TEST_SUITE_END();
 
@@ -679,6 +684,22 @@ void SwUiWriterTest::testDde()
     CPPUNIT_ASSERT(xField->getString().endsWith("asdf"));
 }
 
+void SwUiWriterTest::testTdf89720()
+{
+#ifndef MACOSX
+    SwDoc* pDoc = createDoc("tdf89720.odt");
+    SwView* pView = pDoc->GetDocShell()->GetView();
+    SwPostItMgr* pPostItMgr = pView->GetPostItMgr();
+    for (SwSidebarItem* pItem : *pPostItMgr)
+    {
+        if (pItem->pPostIt->IsFollow())
+            // This was non-0: reply comments had a text range overlay,
+            // resulting in unexpected dark color.
+            CPPUNIT_ASSERT(!pItem->pPostIt->TextRange());
+    }
+#endif
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest);
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/sw/source/uibase/docvw/SidebarWin.cxx b/sw/source/uibase/docvw/SidebarWin.cxx
index 84d9974..4bfb394 100644
--- a/sw/source/uibase/docvw/SidebarWin.cxx
+++ b/sw/source/uibase/docvw/SidebarWin.cxx
@@ -702,8 +702,9 @@ void SwSidebarWin::SetPosAndSize()
                 mpTextRangeOverlay->HideSolidBorder();
             }
         }
-        else
+        else if (!IsFollow())
         {
+            // This window is not a reply, then draw its range overlay.
             mpTextRangeOverlay =
                 sw::overlay::OverlayRanges::CreateOverlayRange(
                     DocView(),


More information about the Libreoffice-commits mailing list