summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/control/button.cxx10
-rw-r--r--vcl/source/window/dlgctrl.cxx2
2 files changed, 8 insertions, 4 deletions
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index e9533fec6ff4..829b390a31f7 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -2150,6 +2150,10 @@ std::vector< VclPtr<RadioButton> > RadioButton::GetRadioButtonGroup(bool bInclud
return aGroup;
}
+ std::vector<VclPtr<RadioButton>> aGroup;
+ if (mbUsesExplicitGroup)
+ return aGroup;
+
//old-school
// go back to first in group;
@@ -2162,7 +2166,6 @@ std::vector< VclPtr<RadioButton> > RadioButton::GetRadioButtonGroup(bool bInclud
else
break;
}
- std::vector< VclPtr<RadioButton> > aGroup;
// insert radiobuttons up to next group
do
{
@@ -2223,8 +2226,9 @@ void RadioButton::ImplCallClick( bool bGrabFocus, GetFocusFlags nFocusFlags )
mbStateChanged = false;
}
-RadioButton::RadioButton( vcl::Window* pParent, WinBits nStyle ) :
- Button( WindowType::RADIOBUTTON )
+RadioButton::RadioButton(vcl::Window* pParent, bool bUsesExplicitGroup, WinBits nStyle)
+ : Button(WindowType::RADIOBUTTON)
+ , mbUsesExplicitGroup(bUsesExplicitGroup)
{
ImplInitRadioButtonData();
ImplInit( pParent, nStyle );
diff --git a/vcl/source/window/dlgctrl.cxx b/vcl/source/window/dlgctrl.cxx
index 45582a7a4e50..1c7fb30f4f99 100644
--- a/vcl/source/window/dlgctrl.cxx
+++ b/vcl/source/window/dlgctrl.cxx
@@ -600,7 +600,7 @@ namespace
{
std::vector<VclPtr<RadioButton> > aGroup(pSourceWindow->GetRadioButtonGroup());
- if (aGroup.size() == 1) //only one button in group
+ if (aGroup.size() < 2) // have to have at last 2 buttons to be a useful group
return false;
if (bBackward)