X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3fe39b0ce3c0f47faea34ef99c3d0260957cc4e0..8168167976dc3cc5f5223a21e1a62ba91a4f77b3:/src/gtk/artgtk.cpp diff --git a/src/gtk/artgtk.cpp b/src/gtk/artgtk.cpp index f1de4e0951..e5fc5a45e9 100644 --- a/src/gtk/artgtk.cpp +++ b/src/gtk/artgtk.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: artstd.cpp +// Name: src/gtk/artstd.cpp // Purpose: stock wxArtProvider instance with native GTK+ stock icons // Author: Vaclav Slavik // Modified by: @@ -20,10 +20,14 @@ #pragma hdrstop #endif -#if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__) +#if !defined(__WXUNIVERSAL__) #include "wx/artprov.h" -#include "wx/module.h" + +#ifndef WX_PRECOMP + #include "wx/module.h" +#endif + #include "wx/gtk/private.h" #include @@ -50,7 +54,7 @@ protected: /*static*/ void wxArtProvider::InitNativeProvider() { - wxArtProvider::PushProvider(new wxGTK2ArtProvider); + Push(new wxGTK2ArtProvider); } // ---------------------------------------------------------------------------- @@ -175,7 +179,7 @@ static GtkIconSize FindClosestIconSize(const wxSize& size) if (size.x > s_sizes[i].x || size.y > s_sizes[i].y) continue; - unsigned dist = (size.x - s_sizes[i].x) * (size.x - s_sizes[i].x) + + unsigned dist = (size.x - s_sizes[i].x) * (size.x - s_sizes[i].x) + (size.y - s_sizes[i].y) * (size.y - s_sizes[i].y); if (dist == 0) return s_sizes[i].icon; @@ -258,10 +262,9 @@ wxBitmap wxGTK2ArtProvider::CreateBitmap(const wxArtID& id, GdkPixbuf *pixbuf = CreateStockIcon(stockid, stocksize); #ifdef __WXGTK24__ - if (!gtk_check_version(2,4,0)) + if (!pixbuf && !gtk_check_version(2,4,0)) { - if (!pixbuf) - pixbuf = CreateThemeIcon(stockid, stocksize, size); + pixbuf = CreateThemeIcon(stockid, stocksize, size); } #endif @@ -278,13 +281,9 @@ wxBitmap wxGTK2ArtProvider::CreateBitmap(const wxArtID& id, } } - if (!pixbuf) - return wxNullBitmap; - wxBitmap bmp; - bmp.SetWidth(gdk_pixbuf_get_width(pixbuf)); - bmp.SetHeight(gdk_pixbuf_get_height(pixbuf)); - bmp.SetPixbuf(pixbuf); + if (pixbuf != NULL) + bmp.SetPixbuf(pixbuf); return bmp; } @@ -311,4 +310,4 @@ public: IMPLEMENT_DYNAMIC_CLASS(wxArtGtkModule, wxModule) -#endif // defined(__WXGTK20__) && !defined(__WXUNIVERSAL__) +#endif // !defined(__WXUNIVERSAL__)