Opened 10 years ago

Closed 10 years ago

#4119 closed bug (fixed)

Occasional incorrect behavior from Invalidate()

Reported by: anevilyak Owned by: stippi
Priority: normal Milestone: R1
Component: Servers/app_server Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

In the Debugger's textview component I've been observing some odd behavior where Invalidate() sometimes appears to be ignored. To be exact I'm using the BRegion version of Invalidate(), and the best I can describe it is, while selecting text, if the selection region is small (i.e. a few characters/words), the redraw requested does not appear to happen, though for instance switching workspaces and back will show that the region is indeed correct as at that point the selection is drawn where expected. However, once the region is made large enough, by say selecting several lines worth, it suddenly Invalidates correctly, and then continues to do so afterwards regardless of size. Adding a Sync() after the Invalidate() call causes the expected correct behavior in all cases but AFAIK this shouldn't be necessary (c.f. mailing list discussion re hrev31724). Note that the Sync() is currently present in the source tree, so you will need to comment it out in order to view this behavior (src/apps/debugger/gui/team_window/SourceView.cpp line 1109).

Change History (2)

comment:1 Changed 10 years ago by axeld

Component: Kits/Interface KitServers/app_server
Owner: changed from axeld to stippi

comment:2 Changed 10 years ago by stippi

Resolution: fixed
Status: newclosed

Should be fixed in hrev31734. Intermediate solution by turning off a troublesome optimization.

Note: See TracTickets for help on using tickets.