]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/artgtk.cpp
corrected version in the libraries names: it's only 2 digits even in development...
[wxWidgets.git] / src / gtk / artgtk.cpp
index c31b1c8c8e169de986459500413b56107b4ac12b..e5fc5a45e9a7f9743a18691a8132be242507c693 100644 (file)
@@ -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:
     #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 <gtk/gtk.h>
@@ -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;
@@ -206,7 +210,7 @@ static GdkPixbuf *CreateStockIcon(const char *stockid, GtkIconSize size)
         GtkWidget *widget = gtk_button_new();
         gs_gtkStyle = gtk_rc_get_style(widget);
         wxASSERT( gs_gtkStyle != NULL );
-        g_object_ref(G_OBJECT(gs_gtkStyle));
+        g_object_ref(gs_gtkStyle);
         gtk_widget_destroy(widget);
     }
 
@@ -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
 
@@ -273,18 +276,14 @@ wxBitmap wxGTK2ArtProvider::CreateBitmap(const wxArtID& id,
                                                 GDK_INTERP_BILINEAR);
         if (p2)
         {
-            g_object_unref (G_OBJECT (pixbuf));
+            g_object_unref (pixbuf);
             pixbuf = p2;
         }
     }
 
-    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;
 }
@@ -301,7 +300,7 @@ public:
     {
         if (gs_gtkStyle)
         {
-            g_object_unref(G_OBJECT(gs_gtkStyle));
+            g_object_unref(gs_gtkStyle);
             gs_gtkStyle = NULL;
         }
     }
@@ -311,4 +310,4 @@ public:
 
 IMPLEMENT_DYNAMIC_CLASS(wxArtGtkModule, wxModule)
 
-#endif // defined(__WXGTK20__) && !defined(__WXUNIVERSAL__)
+#endif // !defined(__WXUNIVERSAL__)