X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d68cd13598d84cbd080cd24f04bc58f7330d630..d07f2e19181bc5caf29eb2338ce513be6fa42405:/src/gtk/artgtk.cpp diff --git a/src/gtk/artgtk.cpp b/src/gtk/artgtk.cpp index c438a72a76..533eab7619 100644 --- a/src/gtk/artgtk.cpp +++ b/src/gtk/artgtk.cpp @@ -21,6 +21,8 @@ #endif #include "wx/artprov.h" + +#include #include "wx/gtk/private.h" // compatibility with older GTK+ versions: @@ -259,7 +261,7 @@ wxIconBundle DoCreateIconBundle(const char *stockid, continue; wxIcon icon; - icon.SetPixbuf(pixbuf); + icon.CopyFromBitmap(wxBitmap(pixbuf)); bundle.AddIcon(icon); } @@ -296,17 +298,14 @@ wxBitmap wxGTK2ArtProvider::CreateBitmap(const wxArtID& id, } } - wxBitmap bmp; - if (pixbuf != NULL) - bmp.SetPixbuf(pixbuf); - - return bmp; + return wxBitmap(pixbuf); } wxIconBundle wxGTK2ArtProvider::CreateIconBundle(const wxArtID& id, const wxArtClient& WXUNUSED(client)) { + wxIconBundle bundle; const wxString stockid = wxArtIDToStock(id); // try to load the bundle as stock icon first @@ -317,7 +316,7 @@ wxGTK2ArtProvider::CreateIconBundle(const wxArtID& id, GtkIconSize *sizes; gint n_sizes; gtk_icon_set_get_sizes(iconset, &sizes, &n_sizes); - wxIconBundle bundle = DoCreateIconBundle + bundle = DoCreateIconBundle ( stockid.utf8_str(), sizes, sizes + n_sizes, @@ -328,33 +327,27 @@ wxGTK2ArtProvider::CreateIconBundle(const wxArtID& id, } // otherwise try icon themes -#ifdef __WXGTK26__ - if ( !gtk_check_version(2,6,0) ) - { - gint *sizes = gtk_icon_theme_get_icon_sizes - ( - gtk_icon_theme_get_default(), - stockid.utf8_str() - ); - if ( !sizes ) - return wxNullIconBundle; - - gint *last = sizes; - while ( *last ) - last++; - - wxIconBundle bundle = DoCreateIconBundle - ( - stockid.utf8_str(), - sizes, last, - &CreateThemeIcon - ); - g_free(sizes); + gint *sizes = gtk_icon_theme_get_icon_sizes + ( + gtk_icon_theme_get_default(), + stockid.utf8_str() + ); + if ( !sizes ) return bundle; - } -#endif // __WXGTK26__ - return wxNullIconBundle; + gint *last = sizes; + while ( *last ) + last++; + + bundle = DoCreateIconBundle + ( + stockid.utf8_str(), + sizes, last, + &CreateThemeIcon + ); + g_free(sizes); + + return bundle; } // ----------------------------------------------------------------------------