diff options
-rw-r--r-- | sd/qa/unit/tiledrendering/tiledrendering.cxx | 17 | ||||
-rw-r--r-- | sd/source/ui/view/Outliner.cxx | 7 |
2 files changed, 19 insertions, 5 deletions
diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx b/sd/qa/unit/tiledrendering/tiledrendering.cxx index 264f492f142f..5c88c537c586 100644 --- a/sd/qa/unit/tiledrendering/tiledrendering.cxx +++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx @@ -62,6 +62,7 @@ public: void testSearchAll(); void testSearchAllSelections(); void testSearchAllNotifications(); + void testSearchAllFollowedBySearch(); #endif CPPUNIT_TEST_SUITE(SdTiledRenderingTest); @@ -77,6 +78,7 @@ public: CPPUNIT_TEST(testSearchAll); //CPPUNIT_TEST(testSearchAllSelections); CPPUNIT_TEST(testSearchAllNotifications); + CPPUNIT_TEST(testSearchAllFollowedBySearch); #endif CPPUNIT_TEST_SUITE_END(); @@ -481,6 +483,21 @@ void SdTiledRenderingTest::testSearchAllNotifications() comphelper::LibreOfficeKit::setActive(false); } +void SdTiledRenderingTest::testSearchAllFollowedBySearch() +{ + comphelper::LibreOfficeKit::setActive(); + SdXImpressDocument* pXImpressDocument = createDoc("search-all.odp"); + pXImpressDocument->registerCallback(&SdTiledRenderingTest::callback, this); + + lcl_search("third", /*bFindAll=*/true); + lcl_search("match", /*bFindAll=*/false); + + OString aUsedFormat; + // This used to give wrong result: 'search' after 'search all' still + // returned 'third' + CPPUNIT_ASSERT_EQUAL(OString("match"), pXImpressDocument->getTextSelection("text/plain;charset=utf-8", aUsedFormat)); +} + #endif CPPUNIT_TEST_SUITE_REGISTRATION(SdTiledRenderingTest); diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx index ca625c89284e..b1535a2b0d62 100644 --- a/sd/source/ui/view/Outliner.cxx +++ b/sd/source/ui/view/Outliner.cxx @@ -719,11 +719,8 @@ bool Outliner::SearchAndReplaceOnce(std::vector<SearchSelection>* pSelections) DetectChange (); OutlinerView* pOutlinerView = mpImpl->GetOutlinerView(); - DBG_ASSERT(pOutlinerView!=NULL && GetEditEngine().HasView( &pOutlinerView->GetEditView() ), - "SearchAndReplace without valid view!" ); - - if( NULL == pOutlinerView || !GetEditEngine().HasView( &pOutlinerView->GetEditView() ) ) - return true; + if (!pOutlinerView) + return true; // end of search ::boost::shared_ptr<ViewShell> pViewShell (mpWeakViewShell.lock()); if (pViewShell != 0) |