]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/artgtk.cpp
capture mouse to be notified when it exists the popup rect (bug 1372228)
[wxWidgets.git] / src / gtk / artgtk.cpp
index f1de4e09518e5c825d3754b06e0a17b857c72bc1..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;
@@ -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__)