From: Stefan Csomor Date: Tue, 26 Apr 2011 17:14:50 +0000 (+0000) Subject: fixes #12220 X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/91116a35f283956d26d6178656044059089bd6f3 fixes #12220 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/osx/checkbox_osx.cpp b/src/osx/checkbox_osx.cpp index 9d4191de73..cda4a37d2e 100644 --- a/src/osx/checkbox_osx.cpp +++ b/src/osx/checkbox_osx.cpp @@ -110,14 +110,24 @@ bool wxCheckBox::OSXHandleClicked( double WXUNUSED(timestampsec) ) default: break; } + if (newState == origState) sendEvent = false; + else + Set3StateValue( newState ); } - + else + { + // in case we cannot avoid this user state change natively (eg cocoa) we intercept it here + if ( newState == wxCHK_UNDETERMINED && !Is3rdStateAllowedForUser() ) + { + newState = wxCHK_CHECKED; + Set3StateValue( newState ); + } + } + if (sendEvent) { - Set3StateValue( newState ); - wxCommandEvent event( wxEVT_COMMAND_CHECKBOX_CLICKED, m_windowId ); event.SetInt( newState ); event.SetEventObject( this );