[Libreoffice-commits] core.git: sc/qa
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Mar 13 21:11:24 UTC 2019
sc/qa/extras/scstylefamilyobj.cxx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
New commits:
commit b37b299d5228beeecb913980780f463756c5a878
Author: Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Wed Mar 13 19:27:10 2019 +0100
Commit: Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Wed Mar 13 22:10:57 2019 +0100
Fix CppunitTest_sc_stylefamilyobj
It is "ScStyleFamilyObj" element that is inserted in the ScStyleFamilyTestObj::init()
which is intended to be tormented in all thinkable ways in the tests; and its name
must be passed to all the different interface ctors here. Trying to remove "Default"
style is not something really expected to work.
In my testing on Windows, I experienced hung XNameContainer::testRemoveByName with
endless loop in SfxStyleSheetBase::SetParent, where it tried to set parent of Para
style "Status" to "Heading"; while iterating over "Heading" parents to check for
recursive linkages, it searched for its parent "Default", already removed at that
stage; that search gave another "Default" style of Page type; that makes
DoesStyleMatchStyleSheetPredicate from DoesStyleMatchStyleSheetPredicate to fail in
IndexedStyleSheets::FindPositionsByNameAndPredicate, which for some reason returns
the next stylesheet matching the predicate *with any name* - and that happens to be
"Footnote". When returned to SfxStyleSheetBase::SetParent, it then tried to test
its parent, which is "Text"; then tests its parent "Default" => endless loop.
Whether this is a problem in IndexedStyleSheets::FindPositionsByNameAndPredicate
that needs fixing or not, setting the test object name here to the object intended
for that fixes the never-finishing subsequenttests problem.
Change-Id: I9a36f5c8f399d5c9b863bf33426b15a4388747dc
Reviewed-on: https://gerrit.libreoffice.org/69225
Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
Tested-by: Mike Kaganski <mike.kaganski at collabora.com>
diff --git a/sc/qa/extras/scstylefamilyobj.cxx b/sc/qa/extras/scstylefamilyobj.cxx
index c2dfffd81491..aa49cb34580a 100644
--- a/sc/qa/extras/scstylefamilyobj.cxx
+++ b/sc/qa/extras/scstylefamilyobj.cxx
@@ -87,9 +87,9 @@ ScStyleFamilyObj::ScStyleFamilyObj()
: CalcUnoApiTest("/sc/qa/extras/testdocuments")
, XElementAccess(cppu::UnoType<style::XStyle>::get())
, XIndexAccess(19)
- , XNameAccess("Default")
- , XNameContainer("Default")
- , XNameReplace("Default")
+ , XNameAccess("ScStyleFamilyObj")
+ , XNameContainer("ScStyleFamilyObj")
+ , XNameReplace("ScStyleFamilyObj")
, XServiceInfo("ScStyleFamilyObj", "com.sun.star.style.StyleFamily")
{
}
More information about the Libreoffice-commits
mailing list