X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/02761f6cd478e3c2c97cf6f93442747f7b029833..2e334012b4babcf063fbe79540c4c154cd54ab2b:/src/gtk/artgtk.cpp diff --git a/src/gtk/artgtk.cpp b/src/gtk/artgtk.cpp index 9d4c51c768..6153868e5c 100644 --- a/src/gtk/artgtk.cpp +++ b/src/gtk/artgtk.cpp @@ -20,7 +20,7 @@ #pragma hdrstop #endif -#if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__) +#if !defined(__WXUNIVERSAL__) #include "wx/artprov.h" @@ -28,8 +28,11 @@ #include "wx/module.h" #endif -#include "wx/gtk/private.h" - +#include +#if GTK_CHECK_VERSION(2, 9, 0) + // gtk_object_sink + #undef GTK_DISABLE_DEPRECATED +#endif #include // compatibility with older GTK+ versions: @@ -54,7 +57,7 @@ protected: /*static*/ void wxArtProvider::InitNativeProvider() { - wxArtProvider::PushProvider(new wxGTK2ArtProvider); + Push(new wxGTK2ArtProvider); } // ---------------------------------------------------------------------------- @@ -92,17 +95,14 @@ static const char *wxArtIDToStock(const wxArtID& id) //ART(wxART_REPORT_VIEW, ) //ART(wxART_LIST_VIEW, ) //ART(wxART_NEW_DIR, ) -#ifdef __WXGTK24__ ART(wxART_FOLDER, GTK_STOCK_DIRECTORY) ART(wxART_FOLDER_OPEN, GTK_STOCK_DIRECTORY) -#endif //ART(wxART_GO_DIR_UP, ) ART(wxART_EXECUTABLE_FILE, GTK_STOCK_EXECUTE) ART(wxART_NORMAL_FILE, GTK_STOCK_FILE) ART(wxART_TICK_MARK, GTK_STOCK_APPLY) ART(wxART_CROSS_MARK, GTK_STOCK_CANCEL) -#ifdef __WXGTK24__ ART(wxART_FLOPPY, GTK_STOCK_FLOPPY) ART(wxART_CDROM, GTK_STOCK_CDROM) ART(wxART_HARDDISK, GTK_STOCK_HARDDISK) @@ -124,7 +124,6 @@ static const char *wxArtIDToStock(const wxArtID& id) ART(wxART_FIND, GTK_STOCK_FIND) ART(wxART_FIND_AND_REPLACE, GTK_STOCK_FIND_AND_REPLACE) -#endif return NULL; @@ -211,7 +210,7 @@ static GdkPixbuf *CreateStockIcon(const char *stockid, GtkIconSize size) gs_gtkStyle = gtk_rc_get_style(widget); wxASSERT( gs_gtkStyle != NULL ); g_object_ref(gs_gtkStyle); - gtk_widget_destroy(widget); + gtk_object_sink((GtkObject*)widget); } GtkIconSet *iconset = gtk_style_lookup_icon_set(gs_gtkStyle, stockid); @@ -224,7 +223,6 @@ static GdkPixbuf *CreateStockIcon(const char *stockid, GtkIconSize size) GTK_STATE_NORMAL, size, NULL, NULL); } -#ifdef __WXGTK24__ static GdkPixbuf *CreateThemeIcon(const char *iconname, GtkIconSize iconsize, const wxSize& sz) { @@ -240,7 +238,6 @@ static GdkPixbuf *CreateThemeIcon(const char *iconname, size.x, (GtkIconLookupFlags)0, NULL); } -#endif wxBitmap wxGTK2ArtProvider::CreateBitmap(const wxArtID& id, const wxArtClient& client, @@ -260,14 +257,8 @@ wxBitmap wxGTK2ArtProvider::CreateBitmap(const wxArtID& id, stockid = id.ToAscii(); GdkPixbuf *pixbuf = CreateStockIcon(stockid, stocksize); - -#ifdef __WXGTK24__ - if (!gtk_check_version(2,4,0)) - { - if (!pixbuf) - pixbuf = CreateThemeIcon(stockid, stocksize, size); - } -#endif + if (!pixbuf) + pixbuf = CreateThemeIcon(stockid, stocksize, size); if (pixbuf && size != wxDefaultSize && (size.x != gdk_pixbuf_get_width(pixbuf) || @@ -282,13 +273,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; } @@ -315,4 +302,4 @@ public: IMPLEMENT_DYNAMIC_CLASS(wxArtGtkModule, wxModule) -#endif // defined(__WXGTK20__) && !defined(__WXUNIVERSAL__) +#endif // !defined(__WXUNIVERSAL__)