don't cache tray protocol availability result in wxTaskBarIconAreaBase::IsProtocolSupported(), it may change at runtime

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2008-09-30 20:55:52 +00:00
parent cf78bdcb68
commit 61f6ba079c

View File

@@ -60,23 +60,17 @@ wxTaskBarIconAreaBase::wxTaskBarIconAreaBase()
bool wxTaskBarIconAreaBase::IsProtocolSupported()
{
static int s_supported = -1;
if (s_supported == -1)
{
Display *display = GDK_DISPLAY();
Screen *screen = DefaultScreenOfDisplay(display);
Display *display = GDK_DISPLAY();
Screen *screen = DefaultScreenOfDisplay(display);
char name[32];
g_snprintf(name, sizeof(name), "_NET_SYSTEM_TRAY_S%d",
XScreenNumberOfScreen(screen));
Atom atom = XInternAtom(display, name, False);
char name[32];
g_snprintf(name, sizeof(name), "_NET_SYSTEM_TRAY_S%d",
XScreenNumberOfScreen(screen));
Atom atom = XInternAtom(display, name, False);
Window manager = XGetSelectionOwner(display, atom);
Window manager = XGetSelectionOwner(display, atom);
s_supported = (manager != None);
}
return (bool)s_supported;
return (manager != None);
}
//-----------------------------------------------------------------------------