summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2016-05-24 17:24:16 -0400
committerHenry Castro <hcastro@collabora.com>2016-05-25 19:42:09 -0400
commit260f3ff257d7839119c8221397d18a516afd8799 (patch)
tree49f3b07034590fa3f7d886f21ab791915310f562
parent69f9e2a7c807e7e572919152c3db42083322734e (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.cxx5
-rw-r--r--vcl/source/outdev/font.cxx10
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();
}