--- /dev/null
+diff -urp icewm-1.3.7/src/wmtaskbar.cc icewm-1.3.7a/src/wmtaskbar.cc
+--- icewm-1.3.7/src/wmtaskbar.cc 2010-10-31 15:09:36.000000000 +0100
++++ icewm-1.3.7a/src/wmtaskbar.cc 2011-05-31 00:05:52.000000000 +0200
+@@ -902,7 +902,7 @@ void TaskBar::handleCrossing(const XCros
+ if (crossing.type == EnterNotify /* && crossing.mode != NotifyNormal */) {
+ fEdgeTrigger->stopHide();
+ } else if (crossing.type == LeaveNotify /* && crossing.mode != NotifyNormal */) {
+- if (crossing.detail != NotifyInferior && crossing.detail != NotifyVirtual && crossing.detail != NotifyAncestor) {
++ if (crossing.detail != NotifyInferior && !(crossing.detail == NotifyVirtual && crossing.mode == NotifyGrab) && !(crossing.detail == NotifyAncestor && crossing.mode != NotifyNormal)) {
+ MSG(("taskbar hide: %d", crossing.detail));
+ fEdgeTrigger->startHide();
+ } else {