+++ /dev/null
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## tray_hotfixes.dpatch, reverting a weird CVS change creating races
-##
-
-@DPATCH@
-Index: icewm-1.3.7~pre2/src/icetray.cc
-===================================================================
---- icewm-1.3.7~pre2.orig/src/icetray.cc 2010-04-28 21:00:30.000000000 +0200
-+++ icewm-1.3.7~pre2/src/icetray.cc 2010-04-29 22:11:16.938048246 +0200
-@@ -36,14 +36,10 @@
- bool checkMessageEvent(const XClientMessageEvent &message);
- void requestDock();
-
-- void handleUnmap(const XUnmapEvent &ev) {
-- YWindow::handleUnmap(ev);
-- MSG(("hide1"));
--// if (visible() && ev.window == handle()) {
-- MSG(("hide2"));
-+ void handleUnmap(const XUnmapEvent &) {
-+ MSG(("hide"));
-+ if (visible())
- hide();
-- fManaged = false;
--// }
- }
-
- void trayChanged();
-@@ -51,7 +47,6 @@
- Atom icewm_internal_tray;
- Atom _NET_SYSTEM_TRAY_OPCODE;
- YXTray *fTray2;
-- bool fManaged;
- };
-
- class SysTrayApp: public YXApplication {
-@@ -187,7 +182,6 @@
- setSize(fTray2->width(),
- fTray2->height());
- fTray2->show();
-- fManaged = false;
- requestDock();
- }
-
-@@ -195,15 +189,10 @@
- fTray2->backgroundChanged();
- setSize(fTray2->width(),
- fTray2->height());
-- if (fTray2->visible()) {
-- if (!fManaged)
-- requestDock();
-- else
-- show();
-- } else {
-- fManaged = false;
-+ if (fTray2->visible())
-+ show();
-+ else
- hide();
-- }
- }
-
- void SysTray::requestDock() {
-@@ -223,19 +212,12 @@
-
- XSendEvent(xapp->display(), w, False, StructureNotifyMask, (XEvent *) &xev);
- }
-- fManaged = true;
- }
-
- bool SysTray::checkMessageEvent(const XClientMessageEvent &message) {
- if (message.message_type == icewm_internal_tray) {
-- MSG(("requestDock %lX", (long)handle()));
-- setSize(fTray2->width(),
-- fTray2->height());
-- MSG(("requestDock2 %d %d", width(), height()));
-- if (fTray2->visible())
-- requestDock();
-- else
-- fManaged = false;
-+ MSG(("requestDock"));
-+ requestDock();
- }
- return true;
- }