#414 closed bug (fixed)
window content redraw
Reported by: | diver | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | - General | Version: | |
Keywords: | Cc: | post@… | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
Window conten down't redraws if you click and hold mouse in a window which is partialy covered by another one. Screenshot will follow as even i don't understand of what i just wrote :-) bummer.
Attachments (1)
Change History (12)
comment:1 by , 19 years ago
Owner: | changed from | to
---|
by , 19 years ago
Attachment: | window.PNG added |
---|
comment:2 by , 19 years ago
Axel, I'm reassigning to you, because it is a Tracker specific bug and probably results from how mouse events are dispatched in app_server. Maybe the update message is always arriving first in R5 (in which case I would propose to fix Tracker). Anyways, from reading the Tracker code some while back, I remember that it blocks on mouse down to see if the popup menu should be opened (for users without a second mouse button). The bug doesn't happen in other apps, and it also doesn't happen if you click into the menu or scrollbar to bring the window to front. If you click into the pose view or the info view to bring a Tracker window to front, just keep holding the mouse button to reproduce the problem.
comment:3 by , 19 years ago
Owner: | changed from | to
---|
comment:4 by , 19 years ago
Cc: | added |
---|
comment:5 by , 19 years ago
I've investigated the bug, and the problem is as follows: Tracker does this to make sure the window contents are up-to-date:
Window()->Activate(); Window()->UpdateIfNeeded();
and later it waits with GetMouse(..., false) so that it doesn't check for any new update messages to arrive. Under R5 it seems like UpdateIfNeeded() is always working. While I could change the GetMouse() stuff to check the queue and update the window automatically, wouldn't it make sense to let UpdateIfNeeded() make sure that the window is clean? It could do this by starting a drawing session just like _UPDATE_ would do - the app_server could then decide if there is anything to redraw at the moment. Stephan, what do you think?
comment:6 by , 19 years ago
Status: | new → assigned |
---|
comment:9 by , 19 years ago
Status: | assigned → closed |
---|
comment:10 by , 19 years ago
Cc: | added |
---|
window