X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba700b5c1a59204578ac3a7232d035de7bf5566a..90805c24d70f439ebd8f8c443c1b6f0517d8f0e8:/src/msw/tbar95.cpp diff --git a/src/msw/tbar95.cpp b/src/msw/tbar95.cpp index 491dafd178..7ea83bd343 100644 --- a/src/msw/tbar95.cpp +++ b/src/msw/tbar95.cpp @@ -875,7 +875,30 @@ bool wxToolBar::Realize() // radio items button.fsState |= TBSTATE_CHECKED; - tool->Toggle(true); + if (tool->Toggle(true)) + { + DoToggleTool(tool, true); + } + } + else if (tool->IsToggled()) + { + wxToolBarToolsList::compatibility_iterator nodePrev = node->GetPrevious(); + int prevIndex = i - 1; + while ( nodePrev ) + { + TBBUTTON& prevButton = buttons[prevIndex]; + wxToolBarToolBase *tool = nodePrev->GetData(); + if ( !tool->IsButton() || tool->GetKind() != wxITEM_RADIO ) + break; + + if ( tool->Toggle(false) ) + { + DoToggleTool(tool, false); + } + prevButton.fsState = TBSTATE_ENABLED; + nodePrev = nodePrev->GetPrevious(); + prevIndex--; + } } isRadio = true;