Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#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


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)

window.PNG (27.4 KB ) - added by diver 14 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 by axeld, 14 years ago

Owner: changed from axeld to stippi

by diver, 14 years ago

Attachment: window.PNG added


comment:2 by stippi, 14 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 stippi, 14 years ago

Owner: changed from stippi to axeld

comment:4 by axeld, 14 years ago

Cc: superstippi@… added

comment:5 by axeld, 14 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 stippi, 14 years ago

Status: newassigned

comment:7 by stippi, 14 years ago

Ok, makes sense. I'll take care of this one.

comment:8 by stippi, 14 years ago

Resolution: fixed

Fixed in 17158.

comment:9 by stippi, 14 years ago

Status: assignedclosed

comment:10 by axeld, 14 years ago

Cc: post@… added

comment:11 by axeld, 14 years ago

* Bug 509 has been marked as a duplicate of this bug. *

Note: See TracTickets for help on using tickets.