-rw-r--r-- | library/fontdatabase.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/library/fontdatabase.cpp b/library/fontdatabase.cpp index 147134c..899d5cf 100644 --- a/library/fontdatabase.cpp +++ b/library/fontdatabase.cpp | |||
@@ -148,32 +148,36 @@ void FontDatabase::loadRenderers() | |||
148 | if ( !factoryList ) | 148 | if ( !factoryList ) |
149 | factoryList = new QValueList<FontFactory>; | 149 | factoryList = new QValueList<FontFactory>; |
150 | 150 | ||
151 | QValueList<FontFactory>::Iterator mit; | 151 | QValueList<FontFactory>::Iterator mit; |
152 | for ( mit = factoryList->begin(); mit != factoryList->end(); ++mit ) { | 152 | for ( mit = factoryList->begin(); mit != factoryList->end(); ++mit ) { |
153 | qt_fontmanager->factories.setAutoDelete( false ); | 153 | qt_fontmanager->factories.setAutoDelete( false ); |
154 | qt_fontmanager->factories.removeRef( (*mit).factory ); | 154 | qt_fontmanager->factories.removeRef( (*mit).factory ); |
155 | qt_fontmanager->factories.setAutoDelete( true ); | 155 | qt_fontmanager->factories.setAutoDelete( true ); |
156 | (*mit).interface->release(); | 156 | (*mit).interface->release(); |
157 | (*mit).library->unload(); | 157 | (*mit).library->unload(); |
158 | delete (*mit).library; | 158 | delete (*mit).library; |
159 | } | 159 | } |
160 | factoryList->clear(); | 160 | factoryList->clear(); |
161 | 161 | ||
162 | QString path = QPEApplication::qpeDir() + "/plugins/fontfactories"; | 162 | QString path = QPEApplication::qpeDir() + "/plugins/fontfactories"; |
163 | QDir dir( path, "lib*.so" ); | 163 | QDir dir( path, "lib*.so" ); |
164 | |||
165 | if ( !dir.exists()) | ||
166 | return; | ||
167 | |||
164 | QStringList list = dir.entryList(); | 168 | QStringList list = dir.entryList(); |
165 | QStringList::Iterator it; | 169 | QStringList::Iterator it; |
166 | for ( it = list.begin(); it != list.end(); ++it ) { | 170 | for ( it = list.begin(); it != list.end(); ++it ) { |
167 | FontFactoryInterface *iface = 0; | 171 | FontFactoryInterface *iface = 0; |
168 | QLibrary *lib = new QLibrary( path + "/" + *it ); | 172 | QLibrary *lib = new QLibrary( path + "/" + *it ); |
169 | if ( lib->queryInterface( IID_FontFactory, (QUnknownInterface**)&iface ) == QS_OK ) { | 173 | if ( lib->queryInterface( IID_FontFactory, (QUnknownInterface**)&iface ) == QS_OK ) { |
170 | FontFactory factory; | 174 | FontFactory factory; |
171 | factory.library = lib; | 175 | factory.library = lib; |
172 | factory.interface = iface; | 176 | factory.interface = iface; |
173 | factory.factory = factory.interface->fontFactory(); | 177 | factory.factory = factory.interface->fontFactory(); |
174 | factoryList->append( factory ); | 178 | factoryList->append( factory ); |
175 | qt_fontmanager->factories.append( factory.factory ); | 179 | qt_fontmanager->factories.append( factory.factory ); |
176 | readFonts( factory.factory ); | 180 | readFonts( factory.factory ); |
177 | } else { | 181 | } else { |
178 | delete lib; | 182 | delete lib; |
179 | } | 183 | } |