]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/taskbarx11.cpp
check that the version of __sync_sub_and_fetch that returns a value is supported...
[wxWidgets.git] / src / unix / taskbarx11.cpp
index db3cd49704fd4b539f94caaf0f779bae22b9574b..06118f3109a40061e0ecac2c0fa58eed18fe5232 100644 (file)
@@ -21,6 +21,8 @@
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
+#if wxUSE_TASKBARICON
+
 #include "wx/taskbar.h"
 
 #ifndef  WX_PRECOMP
     #include "wx/frame.h"
     #include "wx/dcclient.h"
     #include "wx/statbmp.h"
+    #include "wx/sizer.h"
+    #include "wx/bitmap.h"
+    #include "wx/image.h"
 #endif
 
-#include "wx/bitmap.h"
-#include "wx/sizer.h"
-#include "wx/image.h"
-
 #ifdef __VMS
 #pragma message disable nosimpint
 #endif
@@ -123,24 +124,24 @@ BEGIN_EVENT_TABLE(wxTaskBarIconArea, wxTaskBarIconAreaBase)
 END_EVENT_TABLE()
 
 wxTaskBarIconArea::wxTaskBarIconArea(wxTaskBarIcon *icon, const wxBitmap &bmp)
-    : wxTaskBarIconAreaBase(), m_icon(icon), m_pos(0,0)
+    : wxTaskBarIconAreaBase(), m_icon(icon), m_bmp(bmp)
 {
-    if (!IsProtocolSupported())
-    {
-        wxLogTrace(_T("systray"),
-                   _T("using legacy KDE1,2 and GNOME 1.2 methods"));
-        SetLegacyWMProperties();
-    }
-
 #if defined(__WXGTK20__) && defined(TASKBAR_ICON_AREA_BASE_INCLUDED)
     m_invokingWindow = icon;
 #endif
 
     // Set initial size to bitmap size (tray manager may and often will
     // change it):
-    SetSize(wxSize(bmp.GetWidth(), bmp.GetHeight()));
+    SetClientSize(wxSize(bmp.GetWidth(), bmp.GetHeight()));
 
     SetTrayIcon(bmp);
+
+    if (!IsProtocolSupported())
+    {
+        wxLogTrace(_T("systray"),
+                   _T("using legacy KDE1,2 and GNOME 1.2 methods"));
+        SetLegacyWMProperties();
+    }
 }
 
 void wxTaskBarIconArea::SetTrayIcon(const wxBitmap& bmp)
@@ -148,7 +149,7 @@ void wxTaskBarIconArea::SetTrayIcon(const wxBitmap& bmp)
     m_bmp = bmp;
 
     // determine suitable bitmap size:
-    wxSize winsize(GetSize());
+    wxSize winsize(GetClientSize());
     wxSize bmpsize(m_bmp.GetWidth(), m_bmp.GetHeight());
     wxSize iconsize(wxMin(winsize.x, bmpsize.x), wxMin(winsize.y, bmpsize.y));
 
@@ -326,3 +327,5 @@ bool wxTaskBarIcon::PopupMenu(wxMenu *menu)
     m_iconWnd->PopupMenu(menu);
     return true;
 }
+
+#endif // wxUSE_TASKBARICON