http://bugs.winehq.org/show_bug.cgi?id=13410
--- Comment #6 from Danny Baumann maniac@compiz-fusion.org 2008-07-01 02:48:23 --- (In reply to comment #5)
Wine receives mouse events from X. If compiz some how intercepts them and does something to those events - the bug is in compiz.
To verify - get the +event trace with and without compiz. And compare the two.
In either case - this is not the only problem with compiz and it messing with input events.
Closing invalid - input invents are being intercepted/mangled by compiz. This should never happen.
What's your explanation for this problem happening _only_ with that particular application running under Wine? Every other app in the world seems to work just fine. So seemingly it isn't Compiz doing something completely wrong, but rather some very uncommon action in _either_ Compiz or Wine (Wine sometimes does very uncommon actions, such as flipping the override_redirect bit during a window's lifetime), unexpected for the other side.
Doing silly fingerpointing won't help in neither debugging nor fixing that issue, though, so I suggest to actually _try_ to debug that issue instead of blindly dismissing it which helps neither us (we don't have enough information), nor the user (who still has a non-working app), nor you (you'll get bug reports again and again).
If there is a missing event, we need to find out why it's missing. But first step is figuring out what exactly happens in the app (what would be expected/what happens). With that information we can work on the issue.
From a first glance I can't really see what Compiz should do different in
button handling: It has a passive grab on the button presses (for raise-on-click), and replays the pointer event after processing it. Metacity does exactly the same, as far as I can see.