From: Vadim Zeitlin Date: Wed, 28 Dec 2011 13:51:29 +0000 (+0000) Subject: Add standard art providers at the bottom of the art providers stack. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/0d68cd13598d84cbd080cd24f04bc58f7330d630 Add standard art providers at the bottom of the art providers stack. This ensures that any user-defined art providers will be in front of them, even when they are added at module-initialization time i.e. possibly before the standard ones. Closes #12519. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/artprov.cpp b/src/common/artprov.cpp index c51c08780c..908af16369 100644 --- a/src/common/artprov.cpp +++ b/src/common/artprov.cpp @@ -440,13 +440,16 @@ class wxArtProviderModule: public wxModule public: bool OnInit() { -#if wxUSE_ARTPROVIDER_STD - wxArtProvider::InitStdProvider(); -#endif // wxUSE_ARTPROVIDER_STD + // The order here is such that the native provider will be used first + // and the standard one last as all these default providers add + // themselves to the bottom of the stack. + wxArtProvider::InitNativeProvider(); #if wxUSE_ARTPROVIDER_TANGO wxArtProvider::InitTangoProvider(); #endif // wxUSE_ARTPROVIDER_TANGO - wxArtProvider::InitNativeProvider(); +#if wxUSE_ARTPROVIDER_STD + wxArtProvider::InitStdProvider(); +#endif // wxUSE_ARTPROVIDER_STD return true; } void OnExit() diff --git a/src/common/artstd.cpp b/src/common/artstd.cpp index 542247d4ae..b6889e3f87 100644 --- a/src/common/artstd.cpp +++ b/src/common/artstd.cpp @@ -45,7 +45,7 @@ protected: /*static*/ void wxArtProvider::InitStdProvider() { - wxArtProvider::Push(new wxDefaultArtProvider); + wxArtProvider::PushBack(new wxDefaultArtProvider); } // ---------------------------------------------------------------------------- diff --git a/src/common/arttango.cpp b/src/common/arttango.cpp index 49a47d7c1b..f2c6c00dcf 100644 --- a/src/common/arttango.cpp +++ b/src/common/arttango.cpp @@ -322,7 +322,7 @@ wxTangoArtProvider::CreateBitmap(const wxArtID& id, /* static */ void wxArtProvider::InitTangoProvider() { - wxArtProvider::Push(new wxTangoArtProvider); + wxArtProvider::PushBack(new wxTangoArtProvider); } #endif // wxUSE_ARTPROVIDER_TANGO diff --git a/src/gtk/artgtk.cpp b/src/gtk/artgtk.cpp index 88c32a4cac..c438a72a76 100644 --- a/src/gtk/artgtk.cpp +++ b/src/gtk/artgtk.cpp @@ -47,7 +47,7 @@ protected: /*static*/ void wxArtProvider::InitNativeProvider() { - Push(new wxGTK2ArtProvider); + PushBack(new wxGTK2ArtProvider); } // ---------------------------------------------------------------------------- diff --git a/src/msw/artmsw.cpp b/src/msw/artmsw.cpp index f304ffdea8..22314f1e25 100644 --- a/src/msw/artmsw.cpp +++ b/src/msw/artmsw.cpp @@ -91,7 +91,7 @@ wxBitmap wxWindowsArtProvider::CreateBitmap(const wxArtID& id, /*static*/ void wxArtProvider::InitNativeProvider() { - Push(new wxWindowsArtProvider); + PushBack(new wxWindowsArtProvider); } // ---------------------------------------------------------------------------- diff --git a/src/osx/artmac.cpp b/src/osx/artmac.cpp index 267516cb7a..8ca1906487 100644 --- a/src/osx/artmac.cpp +++ b/src/osx/artmac.cpp @@ -50,7 +50,7 @@ protected: /* static */ void wxArtProvider::InitNativeProvider() { - wxArtProvider::Push(new wxMacArtProvider); + PushBack(new wxMacArtProvider); } #if wxOSX_USE_COCOA_OR_CARBON