DarkRadiant: master 5363c1c2
Author | Committer | Branch | Timestamp | Parent |
---|---|---|---|---|
orbweaver | orbweaver | master | 30.11.2022 20:34 | master dc63b7c4 |
Affected Issues | 0006178: Sporadic assertion failure on shutdown due to LocalBitmapArtProvider destruction | |||
Changeset | 0006178: ArtProvider is now local to RadiantApp class LocalBitmapArtProvider was only ever constructed and owned by RadiantApp; the reason it was exposed as a wxutil header was for the ArtIdPrefix() method, which was used in a single other header (Bitmap.h). LocalBitmapArtProvider is now RadiantApp::ArtProvider, a local nested class which is not exposed anywhere else. The functions in Bitmap.h just use the "darkradiant:" prefix explicitly, which could be seen as duplication but (1) the prefix is very unlikely to change, and (2) the redundancy isn't serious enough to justify exposing the art provider class and its method(s) through several headers and their dependent shared objects. Also removed the LocalBitmapArtProvider destructor which explicitly removed the art provider from wxWidgets. This appeared to be redundant because the wxArtProvider base class already does this in its own destructor (according to documentation). |
|||
mod - libs/wxutil/Bitmap.h | Diff File | |||
rm - libs/wxutil/LocalBitmapArtProvider.h | Diff | |||
mod - radiant/RadiantApp.cpp | Diff File | |||
mod - radiant/RadiantApp.h | Diff File | |||
mod - radiant/ui/materials/editor/MaterialEditor.cpp | Diff File | |||
mod - radiant/ui/skin/SkinEditor.cpp | Diff File | |||
mod - radiant/xyview/GlobalXYWnd.cpp | Diff File |