]>
Commit | Line | Data |
---|---|---|
1c6d3d3b TP |
1 | diff -urp icewm-1.3.7/src/wmtaskbar.cc icewm-1.3.7a/src/wmtaskbar.cc |
2 | --- icewm-1.3.7/src/wmtaskbar.cc 2010-10-31 15:09:36.000000000 +0100 | |
6096add7 TP |
3 | +++ icewm-1.3.7a/src/wmtaskbar.cc 2011-08-28 22:13:26.000000000 +0200 |
4 | @@ -897,12 +897,12 @@ void TaskBar::updateWMHints() { | |
5 | ||
6 | ||
7 | void TaskBar::handleCrossing(const XCrossingEvent &crossing) { | |
8 | - if (crossing.serial != ignore_enternotify_hack && crossing.serial != ignore_enternotify_hack + 1) | |
9 | + if (crossing.serial != ignore_enternotify_hack && (crossing.serial != ignore_enternotify_hack + 1 || crossing.detail != NotifyVirtual)) | |
10 | { | |
1c6d3d3b TP |
11 | if (crossing.type == EnterNotify /* && crossing.mode != NotifyNormal */) { |
12 | fEdgeTrigger->stopHide(); | |
13 | } else if (crossing.type == LeaveNotify /* && crossing.mode != NotifyNormal */) { | |
14 | - if (crossing.detail != NotifyInferior && crossing.detail != NotifyVirtual && crossing.detail != NotifyAncestor) { | |
15 | + if (crossing.detail != NotifyInferior && !(crossing.detail == NotifyVirtual && crossing.mode == NotifyGrab) && !(crossing.detail == NotifyAncestor && crossing.mode != NotifyNormal)) { | |
16 | MSG(("taskbar hide: %d", crossing.detail)); | |
17 | fEdgeTrigger->startHide(); | |
18 | } else { |