Kaydet (Commit) ed5450f2 authored tarafından Jan Holesovsky's avatar Jan Holesovsky

sd lok: Fix normal 'search' performed after a 'search all'.

The DBG_ASSERT followed by the same test actually returning immediately
prevents the actual 'search' after a 'search all' being performed.

I hope this does not have any negative consequences; but if it does, we should
fix the root cause, instead of having this kind of defensive programming here.

Change-Id: I909533f301dda9c20cab1968de45e5fa7975e852
üst dcdc98b7
......@@ -55,6 +55,7 @@ public:
void testSearchAll();
void testSearchAllSelections();
void testSearchAllNotifications();
void testSearchAllFollowedBySearch();
#endif
CPPUNIT_TEST_SUITE(SdTiledRenderingTest);
......@@ -70,6 +71,7 @@ public:
CPPUNIT_TEST(testSearchAll);
CPPUNIT_TEST(testSearchAllSelections);
CPPUNIT_TEST(testSearchAllNotifications);
CPPUNIT_TEST(testSearchAllFollowedBySearch);
#endif
CPPUNIT_TEST_SUITE_END();
......@@ -482,6 +484,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);
......
......@@ -705,11 +705,8 @@ bool Outliner::SearchAndReplaceOnce(std::vector<SearchSelection>* pSelections)
DetectChange ();
OutlinerView* pOutlinerView = mpImpl->GetOutlinerView();
DBG_ASSERT(pOutlinerView!=nullptr && GetEditEngine().HasView( &pOutlinerView->GetEditView() ),
"SearchAndReplace without valid view!" );
if( nullptr == pOutlinerView || !GetEditEngine().HasView( &pOutlinerView->GetEditView() ) )
return true;
if (!pOutlinerView)
return true; // end of search
std::shared_ptr<ViewShell> pViewShell (mpWeakViewShell.lock());
if (pViewShell != nullptr)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment