X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b6819de8da101f1ec62f25648de5d2d132e02daf..820c05dfd61d43c5a6d58e5d91951ff91fa8d505:/src/unix/taskbarx11.cpp diff --git a/src/unix/taskbarx11.cpp b/src/unix/taskbarx11.cpp index 6c3af3359f..0978d60c1a 100644 --- a/src/unix/taskbarx11.cpp +++ b/src/unix/taskbarx11.cpp @@ -21,7 +21,7 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#if wxUSE_TASKBARICON +#if wxUSE_TASKBARICON && !defined(__WXGTK20__) #include "wx/taskbar.h" @@ -48,15 +48,6 @@ // base class that implements toolkit-specific method: // ---------------------------------------------------------------------------- -#ifdef __WXGTK20__ - #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: @@ -66,19 +57,16 @@ wxDEFAULT_FRAME_STYLE | wxFRAME_NO_TASKBAR | wxSIMPLE_BORDER | wxFRAME_SHAPED) {} - bool IsProtocolSupported() const { return false; } + static bool IsProtocolSupported() { return false; } }; -#endif - // ---------------------------------------------------------------------------- // toolkit dependent methods to set properties on helper window: // ---------------------------------------------------------------------------- #if defined(__WXGTK__) - #include - #include #include + #include #define GetDisplay() GDK_DISPLAY() #define GetXWindow(wxwin) GDK_WINDOW_XWINDOW((wxwin)->m_widget->window) #elif defined(__WXX11__) || defined(__WXMOTIF__) @@ -126,10 +114,6 @@ END_EVENT_TABLE() wxTaskBarIconArea::wxTaskBarIconArea(wxTaskBarIcon *icon, const wxBitmap &bmp) : wxTaskBarIconAreaBase(), m_icon(icon), m_bmp(bmp) { -#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): SetClientSize(wxSize(bmp.GetWidth(), bmp.GetHeight())); @@ -250,6 +234,15 @@ void wxTaskBarIconArea::OnMenuEvent(wxCommandEvent& event) m_icon->ProcessEvent(event); } +// ---------------------------------------------------------------------------- +// wxTaskBarIconBase class: +// ---------------------------------------------------------------------------- + +bool wxTaskBarIconBase::IsAvailable() +{ + return wxTaskBarIconArea::IsProtocolSupported(); +} + // ---------------------------------------------------------------------------- // wxTaskBarIcon class: // ---------------------------------------------------------------------------- @@ -264,7 +257,8 @@ wxTaskBarIcon::~wxTaskBarIcon() { if (m_iconWnd) { - m_iconWnd->Disconnect(wxEVT_DESTROY, NULL, NULL, this); + m_iconWnd->Disconnect(wxEVT_DESTROY, + wxWindowDestroyEventHandler(wxTaskBarIcon::OnDestroy), NULL, this); RemoveIcon(); } }