X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Ffreenet%2Fcaptcha%2Falternatecaptchafonts.cpp;h=1941a43b2b4b9bbcbd6917e48d6606ade864827e;hp=da7b267fcc3681bf967615ca8551baf239129492;hb=05ef25de71be91442b4cbd22dc7cc45629c5d5bb;hpb=b7f3b3e6ae9dc527f02b5c06e2eeae0e9cac3ad8 diff --git a/src/freenet/captcha/alternatecaptchafonts.cpp b/src/freenet/captcha/alternatecaptchafonts.cpp index da7b267..1941a43 100644 --- a/src/freenet/captcha/alternatecaptchafonts.cpp +++ b/src/freenet/captcha/alternatecaptchafonts.cpp @@ -4,6 +4,7 @@ #include #include +#include bool AlternateCaptchaFonts::m_fontsloaded(false); std::vector AlternateCaptchaFonts::m_fonts; @@ -21,19 +22,34 @@ AlternateCaptchaFonts::AlternateCaptchaFonts() void AlternateCaptchaFonts::LoadFonts() { - FreeImage::Bitmap bmp; - Poco::Path path("fonts"); - Poco::DirectoryIterator di(path); - Poco::DirectoryIterator end; - - while(di!=end) + try { - if(di.name().find("bmp")!=std::string::npos) + FreeImage::Bitmap bmp; + Poco::Path path("fonts"); + Poco::DirectoryIterator di(path); + Poco::DirectoryIterator end; + + while(di!=end) + { + if(di.name().find("bmp")!=std::string::npos) + { + bmp.Load("bmp",di.path().toString()); + m_fonts.push_back(FreeImage::Font(bmp)); + } + ++di; + } + if(m_fonts.size()==0) { - bmp.Load("bmp",di.path().toString()); - m_fonts.push_back(FreeImage::Font(bmp)); + m_log->fatal("AlternateCaptchaFonts::LoadFonts You have no loadable fonts in the font directory!"); } - ++di; + } + catch(Poco::Exception &e) + { + m_log->error("AlternateCaptchaFonts::LoadFonts caught "+e.displayText()); + } + catch(...) + { + m_log->error("AlternateCaptchaFonts::LoadFonts caught unknown exception"); } }