diff --git a/src/blitter/factory.hpp b/src/blitter/factory.hpp --- a/src/blitter/factory.hpp +++ b/src/blitter/factory.hpp @@ -73,6 +73,15 @@ protected: } } + /** + * Is the blitter usable with the current drivers and hardware config? + * @return True if the blitter can be instantiated. + */ + virtual bool IsUsable() const + { + return true; + } + public: virtual ~BlitterFactory() { @@ -119,7 +128,7 @@ public: for (; it != GetBlitters().end(); it++) { BlitterFactory *b = (*it).second; if (strcasecmp(bname, b->name.c_str()) == 0) { - return b; + return b->IsUsable() ? b : nullptr; } } return nullptr;