diff options
author | Henry Castro <hcastro@collabora.com> | 2016-05-24 17:24:16 -0400 |
---|---|---|
committer | Henry Castro <hcastro@collabora.com> | 2016-05-25 19:42:09 -0400 |
commit | 260f3ff257d7839119c8221397d18a516afd8799 (patch) | |
tree | 49f3b07034590fa3f7d886f21ab791915310f562 | |
parent | 69f9e2a7c807e7e572919152c3db42083322734e (diff) |
lok: reset the font list when there are no items
In the pre-init stage the devices were initialized with no
font list, but later the font list is updated. So those devices
were not updated.
Change-Id: I157d4c7079f9b1252916eb92b512aadb8e77329f
-rw-r--r-- | desktop/qa/desktop_lib/test_desktop_lib.cxx | 5 | ||||
-rw-r--r-- | vcl/source/outdev/font.cxx | 10 |
2 files changed, 14 insertions, 1 deletions
diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index 13382acb4d56..98fa6665f3c5 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -274,7 +274,8 @@ void DesktopLOKTest::testGetStyles() void DesktopLOKTest::testGetFonts() { - LibLODocument_Impl* pDocument = loadDoc("blank_text.odt"); + comphelper::LibreOfficeKit::setActive(); + LibLODocument_Impl* pDocument = loadDoc("blank_presentation.odp"); boost::property_tree::ptree aTree; char* pJSON = pDocument->m_pDocumentClass->getCommandValues(pDocument, ".uno:CharFontName"); std::stringstream aStream(pJSON); @@ -289,6 +290,8 @@ void DesktopLOKTest::testGetFonts() // check that we have font sizes available for each font CPPUNIT_ASSERT( rPair.second.size() > 0); } + free(pJSON); + comphelper::LibreOfficeKit::setActive(false); } void DesktopLOKTest::testCreateView() diff --git a/vcl/source/outdev/font.cxx b/vcl/source/outdev/font.cxx index bce865190815..4eb02f9312aa 100644 --- a/vcl/source/outdev/font.cxx +++ b/vcl/source/outdev/font.cxx @@ -92,9 +92,19 @@ int OutputDevice::GetDevFontCount() const if( !mpGetDevFontList ) { if (!mpFontCollection) + { return 0; + } mpGetDevFontList = mpFontCollection->GetDevFontList(); + + if (!mpGetDevFontList->Count()) + { + delete mpGetDevFontList; + mpGetDevFontList = nullptr; + + return 0; + } } return mpGetDevFontList->Count(); } |