\r
#include <Poco/Path.h>\r
#include <Poco/DirectoryIterator.h>\r
+#include <Poco/Exception.h>\r
\r
bool AlternateCaptchaFonts::m_fontsloaded(false);\r
std::vector<FreeImage::Font> AlternateCaptchaFonts::m_fonts;\r
void AlternateCaptchaFonts::LoadFonts()\r
{\r
\r
- FreeImage::Bitmap bmp;\r
- Poco::Path path("fonts");\r
- Poco::DirectoryIterator di(path);\r
- Poco::DirectoryIterator end;\r
-\r
- while(di!=end)\r
+ try\r
{\r
- if(di.name().find("bmp")!=std::string::npos)\r
+ FreeImage::Bitmap bmp;\r
+ Poco::Path path("fonts");\r
+ Poco::DirectoryIterator di(path);\r
+ Poco::DirectoryIterator end;\r
+\r
+ while(di!=end)\r
+ {\r
+ if(di.name().find("bmp")!=std::string::npos)\r
+ {\r
+ bmp.Load("bmp",di.path().toString());\r
+ m_fonts.push_back(FreeImage::Font(bmp));\r
+ }\r
+ ++di;\r
+ }\r
+ if(m_fonts.size()==0)\r
{\r
- bmp.Load("bmp",di.path().toString());\r
- m_fonts.push_back(FreeImage::Font(bmp));\r
+ m_log->fatal("AlternateCaptchaFonts::LoadFonts You have no loadable fonts in the font directory!");\r
}\r
- ++di;\r
+ }\r
+ catch(Poco::Exception &e)\r
+ {\r
+ m_log->error("AlternateCaptchaFonts::LoadFonts caught "+e.displayText());\r
+ }\r
+ catch(...)\r
+ {\r
+ m_log->error("AlternateCaptchaFonts::LoadFonts caught unknown exception");\r
}\r
\r
}\r