Opened 6 years ago

Last modified 2 years ago

#9689 assigned bug

DisableUpdates()/EnableUpdates doesn't seem to work with Layout API

Reported by: jessicah Owned by: nobody
Priority: normal Milestone: R1
Component: Kits/Interface Kit Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

While making changes to Tracker's Find to use the Layout API, discovered a drawing bug when layout changes were triggered by a function in the overridden BWindow::MessageReceived hook.

The window calls DisableUpdates(), makes layout changes, and then calls EnableUpdates(), but the window is not redrawn correctly. Even adding UpdateIfNeeded() after EnableUpdates() did not cause the window to redraw.

Removing the calls to disable/enable updates allowed the window to redraw correctly.

My current changes are available at https://github.com/jessicah/haiku/tree/find-panel-layout-api, SwitchToTemplate.

Change History (3)

comment:1 by anevilyak, 6 years ago

Component: User InterfaceKits/Interface Kit
Owner: changed from stippi to axeld

comment:2 by stippi, 6 years ago

Thanks for the report! I think there might be some code in place to support this, but my faint memory is that I never tested this very well and there might be situations, specifically moving around BViews, which circumvent the blocked updates. I.e. support for this feature is probably incomplete.

Last edited 6 years ago by stippi (previous) (diff)

comment:3 by axeld, 2 years ago

Owner: changed from axeld to nobody
Status: newassigned
Note: See TracTickets for help on using tickets.