For consistency with the other ports don't send an event when a radio
button is deselected in response to another in the same group being selected. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34603 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -108,28 +108,21 @@ wxInt32 wxRadioButton::MacControlHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVE
|
|||||||
{
|
{
|
||||||
// if already set -> no action
|
// if already set -> no action
|
||||||
if ( GetValue() )
|
if ( GetValue() )
|
||||||
return noErr;
|
return noErr;
|
||||||
|
|
||||||
wxRadioButton *cycle, *old = NULL ;
|
wxRadioButton *cycle;
|
||||||
cycle=this->NextInCycle();
|
cycle=this->NextInCycle();
|
||||||
if (cycle!=NULL) {
|
if (cycle!=NULL) {
|
||||||
while (cycle!=this) {
|
while (cycle!=this) {
|
||||||
if ( cycle->GetValue() ) {
|
if ( cycle->GetValue() ) {
|
||||||
old = cycle ;
|
|
||||||
cycle->SetValue(false);
|
cycle->SetValue(false);
|
||||||
}
|
|
||||||
cycle=cycle->NextInCycle();
|
|
||||||
}
|
}
|
||||||
|
cycle=cycle->NextInCycle();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SetValue(true) ;
|
SetValue(true) ;
|
||||||
|
|
||||||
if ( old ) {
|
|
||||||
wxCommandEvent event(wxEVT_COMMAND_RADIOBUTTON_SELECTED, old->m_windowId );
|
|
||||||
event.SetEventObject(old);
|
|
||||||
event.SetInt( false );
|
|
||||||
old->ProcessCommand(event);
|
|
||||||
}
|
|
||||||
wxCommandEvent event2(wxEVT_COMMAND_RADIOBUTTON_SELECTED, m_windowId );
|
wxCommandEvent event2(wxEVT_COMMAND_RADIOBUTTON_SELECTED, m_windowId );
|
||||||
event2.SetEventObject(this);
|
event2.SetEventObject(this);
|
||||||
event2.SetInt( true );
|
event2.SetInt( true );
|
||||||
|
Reference in New Issue
Block a user