http://bugs.winehq.org/show_bug.cgi?id=2527
--- Comment #21 from Jason Edmeades us@edmeades.me.uk 2008-05-26 16:11:57 --- Just a comment but I cant see this being fixed in the short or possibly even the long term. The first issue I mentioned in the link above, ie move window not updating the visible region is definitely fixable. BUT it wouldnt help you - the real problem here is the next bit which shows a big difference between windows and X. In windows, the createwindow call shows the popup, and its drawn to immediately. Under wine, the createwindows starts the action of showing the window, but a redraw is forced when the asynchronous Expose event comes along which is after the app has finished painting.
So the application draws to a window which isnt exposed, the expose event occurs causing a redraw, which the application doesnt handle (as can be seen on windows by alt-tab away to a window which partially covers it, then back again).
As per http://article.gmane.org/gmane.comp.emulators.wine.devel/57793 one solution is to buffer all the drawing which occurs before the first expose event, but I cannot believe this will be easy to implement and given this (unless anyone can correct me and indicate how it might be done) I'd guess this is a border case which will remain unfixed.
Obviously, if the application redraws the popup when asked, the first issue could be fixed, so although I hate to say it - asking the app provider to fix that scenario would help a lot here.