[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - sd/qa

Tomaž Vajngerl (via logerrit) logerrit at kemper.freedesktop.org
Tue Jun 15 07:52:21 UTC 2021


 sd/qa/unit/data/odp/search-all-notes.odp |binary
 sd/qa/unit/uiimpress.cxx                 |   25 +++++++++++++++++++++++++
 2 files changed, 25 insertions(+)

New commits:
commit 369c5c69118b3f0cf0c064b226a8ae71337af3fa
Author:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Mon Jun 7 10:01:55 2021 +0900
Commit:     Miklos Vajna <vmiklos at collabora.com>
CommitDate: Tue Jun 15 09:51:45 2021 +0200

    tdf#142478 add test that triggers find all and crashes
    
    String "Crash" in document and notes, then trigger "find all",
    which produced a crash without the fix in-place.
    
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116769
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>
    (cherry picked from commit 7f059ce157da0de40a98f63f61d923cc67d93884)
    
    Change-Id: I8e6e4a9da1afc85643648aee36a03c1fb39ca16d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117146
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.com>

diff --git a/sd/qa/unit/data/odp/search-all-notes.odp b/sd/qa/unit/data/odp/search-all-notes.odp
new file mode 100644
index 000000000000..6c38ecabb0ea
Binary files /dev/null and b/sd/qa/unit/data/odp/search-all-notes.odp differ
diff --git a/sd/qa/unit/uiimpress.cxx b/sd/qa/unit/uiimpress.cxx
index 81ec6e4bf321..274160105156 100644
--- a/sd/qa/unit/uiimpress.cxx
+++ b/sd/qa/unit/uiimpress.cxx
@@ -21,6 +21,7 @@
 #include <sfx2/request.hxx>
 #include <sfx2/viewfrm.hxx>
 #include <svl/intitem.hxx>
+#include <svl/srchitem.hxx>
 #include <svx/svxids.hrc>
 #include <svx/svdoashp.hxx>
 #include <svx/svdotable.hxx>
@@ -346,6 +347,30 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testSpellOnlineParameter)
     CPPUNIT_ASSERT_EQUAL(!bSet, pImpressDocument->GetDoc()->GetOnlineSpell());
 }
 
+CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testSearchAllInDocumentAndNotes)
+{
+    // tdf#142478
+    // "find all" produces a crash when the search string exists in notes
+    // and the document
+
+    mxComponent = loadFromDesktop(
+        m_directories.getURLFromSrc(u"/sd/qa/unit/data/odp/search-all-notes.odp"));
+
+    auto pXImpressDocument = dynamic_cast<SdXImpressDocument*>(mxComponent.get());
+    sd::ViewShell* pViewShell = pXImpressDocument->GetDocShell()->GetViewShell();
+    CPPUNIT_ASSERT(pViewShell);
+
+    uno::Sequence<beans::PropertyValue> aPropertyValues(comphelper::InitPropertySequence({
+        { "SearchItem.SearchString", uno::makeAny(OUString("Crash")) },
+        { "SearchItem.Backward", uno::makeAny(false) },
+        { "SearchItem.Command", uno::makeAny(sal_uInt16(SvxSearchCmd::FIND_ALL)) },
+    }));
+
+    dispatchCommand(mxComponent, ".uno:ExecuteSearch", aPropertyValues);
+
+    Scheduler::ProcessEventsToIdle();
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list