diff --git a/radiant/RadiantApp.cpp b/radiant/RadiantApp.cpp index 1c16388325..db04cbd4b4 100644 --- a/radiant/RadiantApp.cpp +++ b/radiant/RadiantApp.cpp @@ -63,7 +63,7 @@ class RadiantApp::ArtProvider final: public wxArtProvider wxArtProvider::Push(this); } - wxBitmap CreateBitmap(const wxArtID& id, const wxArtClient& client, const wxSize& size) + wxBitmap CreateBitmap(const wxArtID& id, const wxArtClient& client, const wxSize& size) override { auto filename = id.ToStdString(); const auto& prefix = ArtIdPrefix(); @@ -71,16 +71,20 @@ class RadiantApp::ArtProvider final: public wxArtProvider // We listen only to "darkradiant" art IDs if (string::starts_with(filename, prefix)) { - std::string filePath = _searchPath + filename.substr(prefix.length()); + auto filePath = _searchPath + filename.substr(prefix.length()); - if (os::fileOrDirExists(filePath)) { + if (os::fileOrDirExists(filePath)) + { +#ifdef __WXMSW__ + return wxBitmap(wxImage(filePath)); +#else wxBitmap bm; if (bm.LoadFile(filePath)) { return bm; } - else { - rError() << "Failed to load bitmap [" << filePath << "]\n"; - } + + rError() << "Failed to load bitmap [" << filePath << "]\n"; +#endif } }