Apparently, the code to adjust the rectangle when a menu is present is what was causing the problem. Also added an if statement to move the separator with the button when sunken.
Details
- Reviewers
ngraham hpereiradacosta - Group Reviewers
VDG Breeze - Commits
- R31:b43e19e3e13c: Fix width and separator of ToolButtonComplexControl outline w/ dropdown menu
Old:
New:
Diff Detail
- Repository
- R31 Breeze
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Hi Noah
Thanks for the patch, however, it is not the right fix to the issue. If you use a light color scheme (like the default breeze), you will see that the shadow below the part of the button that corresponds to the arrow is darker than below the rest of the button. This is because the frame is actually rendered twice.
Now, the bug you try to fix is real, and as I was 100% sure that it was not there in the past, I used git bisect to track it down to this commit:
32d8b02880a237e6de415861500a018a5cd09781
The corresponding diff contains
@@ -5988,7 +5988,6 @@ namespace Breeze
// frame if( toolButtonOption->subControls & SC_ToolButton ) {
- copy.rect = buttonRect; if( inTabBar ) drawTabBarPanelButtonToolPrimitive( ©, painter, widget ); else drawPrimitive( PE_PanelButtonTool, ©, painter, widget); }
Which is what causes the issue.
Could you revert this commit, and push instead the proper fix that I will post in another comment ?
Alternatively, I can do it myself.
Note that your changes on the separator position is legit, but should be a different patch
Zoom showing the issue mentionned above with the "current" patch (or master branch of breeze)
How it should look: