diff --git a/src/toolbars/DeviceToolBar.cpp b/src/toolbars/DeviceToolBar.cpp index daf8aee4f..258636e80 100644 --- a/src/toolbars/DeviceToolBar.cpp +++ b/src/toolbars/DeviceToolBar.cpp @@ -386,8 +386,8 @@ void DeviceToolBar::RegenerateTooltips() bool DeviceToolBar::Layout() { bool ret; - RepositionCombos(); ret = ToolBar::Layout(); + RepositionCombos(); return ret; } @@ -444,7 +444,7 @@ void DeviceToolBar::RepositionCombos() wxSize desiredInput, desiredOutput, desiredHost, desiredChannels; float hostRatio, outputRatio, inputRatio, channelsRatio; // if the toolbar is docked then the width we should use is the project width. - // as the toolbar's with can extend past this. + // as the toolbar's width can extend past this. GetClientSize(&w, &h); // FIXME: Note that there's some bug in here, in that even if the prefs show the toolbar diff --git a/src/toolbars/ToolDock.cpp b/src/toolbars/ToolDock.cpp index a024d1442..c2c4581e6 100644 --- a/src/toolbars/ToolDock.cpp +++ b/src/toolbars/ToolDock.cpp @@ -697,13 +697,17 @@ void ToolDock::LayoutToolBars() }; VisitLayout(sizeSetter, &mWrappedConfiguration); - // Set tab order + // Set tab order and layout internal controls. { ToolBar *lt{}; for ( const auto &place : GetConfiguration() ) { auto ct = place.pTree->pBar; - if( lt ) + if( lt ){ ct->MoveAfterInTabOrder( lt ); + // Bug 1371. + // After a dock size change, the toolbars may need relaying inside. + lt->Layout(); + } lt = ct; } }