X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eb03e0e714b162912f70a78de14cc5e1e070fd86..232ba4c3329127a3ae57e37dc088513d06fe436f:/src/unix/taskbarx11.cpp?ds=sidebyside diff --git a/src/unix/taskbarx11.cpp b/src/unix/taskbarx11.cpp index 99ed4fb030..cf94b21583 100644 --- a/src/unix/taskbarx11.cpp +++ b/src/unix/taskbarx11.cpp @@ -32,6 +32,7 @@ #include "wx/sizer.h" #include "wx/dcclient.h" #include "wx/log.h" +#include "wx/image.h" #ifdef __VMS #pragma message disable nosimpint @@ -47,8 +48,14 @@ // ---------------------------------------------------------------------------- #ifdef __WXGTK20__ - #include "wx/gtk/taskbarpriv.h" -#else + #include + #if GTK_CHECK_VERSION(2,1,0) + #include "wx/gtk/taskbarpriv.h" + #define TASKBAR_ICON_AREA_BASE_INCLUDED + #endif +#endif + +#ifndef TASKBAR_ICON_AREA_BASE_INCLUDED class WXDLLIMPEXP_ADV wxTaskBarIconAreaBase : public wxFrame { public: @@ -139,7 +146,7 @@ void wxTaskBarIconArea::SetTrayIcon(const wxBitmap& bmp) // determine suitable bitmap size: wxSize winsize(GetSize()); wxSize bmpsize(m_bmp.GetWidth(), m_bmp.GetHeight()); - wxSize iconsize(wxMin(winsize.x-2, bmpsize.x), wxMin(winsize.y-2, bmpsize.y)); + wxSize iconsize(wxMin(winsize.x, bmpsize.x), wxMin(winsize.y, bmpsize.y)); // rescale the bitmap to fit into the tray icon window: if (bmpsize != iconsize) @@ -150,10 +157,7 @@ void wxTaskBarIconArea::SetTrayIcon(const wxBitmap& bmp) } wxRegion region; - if (m_bmp.GetMask()) - region.Union(m_bmp); - else - region.Union(0,0, iconsize.x, iconsize.y); + region.Union(m_bmp); // if the bitmap is smaller than the window, offset it: if (winsize != iconsize) @@ -313,7 +317,6 @@ bool wxTaskBarIcon::PopupMenu(wxMenu *menu) { if (!m_iconWnd) return false; - wxSize size(m_iconWnd->GetClientSize()); - m_iconWnd->PopupMenu(menu, size.x/2, size.y/2); + m_iconWnd->PopupMenu(menu); return true; }