Opened 5 years ago

Closed 5 years ago

#12603 closed bug (fixed)

[regression] [Interface Kit] white border around some menus

Reported by: diver Owned by: axeld
Priority: blocker Milestone: R1/beta1
Component: Kits/Interface Kit Version: R1/Development
Keywords: Cc: looncraz
Blocked By: Blocking:
Platform: All

Description

hrev50040.

Some apps now have white border around menus. Take a look at the screenshot of FilWip which was taken before recent changes (i.e. hrev49977) As can be seen there was no white border around "Default" menu and dow there is.

Attachments (1)

MenuField-LowColor.patch (1.7 KB ) - added by looncraz 5 years ago.

Download all attachments as: .zip

Change History (10)

comment:1 by diver, 5 years ago

Another example is menus in Pe's find window.

comment:2 by waddlesplash, 5 years ago

Milestone: R1R1/beta1
Priority: normalblocker
Summary: [Interface Kit] white border around some menus[regression] [Interface Kit] white border around some menus

comment:3 by looncraz, 5 years ago

This took me a bit to understand what was wrong as it was so rarely occurring, but it was just the fact that we should be adopting the parent view color as the low color. Easily missed because most views' low color is the same as their view color (especially during initialization).

Attaching a patch.

by looncraz, 5 years ago

Attachment: MenuField-LowColor.patch added

comment:4 by looncraz, 5 years ago

patch: 01

comment:5 by markh, 5 years ago

Can this patch be applied or is there still something wrong with it?

in reply to:  5 comment:6 by looncraz, 5 years ago

Replying to markh:

Can this patch be applied or is there still something wrong with it?

It should probably be applied, it's a really simple fix that restores the intent of the code that existed prior to the application of another patch.

comment:7 by pulkomandy, 5 years ago

I'm not sure it goes the right way, setting the low color is known to cause flickering in some cases because the view is filled with the low color on invalidation (and then redrawn over that).

Why wouldn't BMenuField drawing use the ViewColor directly instead?

in reply to:  7 comment:8 by looncraz, 5 years ago

Replying to pulkomandy:

I'm not sure it goes the right way, setting the low color is known to cause flickering in some cases because the view is filled with the low color on invalidation (and then redrawn over that).

Why wouldn't BMenuField drawing use the ViewColor directly instead?

The low color matches the parent's view color, so it is used to draw a border around the menu when giving it a shape. Usually the view color and the low color are the same.

This method is used for many interface elements without issue (and it is the default BControl behavior). This is also the method deployed prior to the application of the SetViewUIColor patchset.

comment:9 by waddlesplash, 5 years ago

Resolution: fixed
Status: newclosed

Applied in hrev50057. Thanks!

Note: See TracTickets for help on using tickets.