vcl/source/control/button.cxx |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

New commits:
commit 4109dfff009f017e8994ea0a57119e79291ca2c8
Author:     Justin Luth <justin_l...@sil.org>
AuthorDate: Sat Jul 6 07:27:16 2019 +0300
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Jul 15 14:55:29 2019 +0200

    Revert "tdf#108687 vcl: always enable tabstop on radio buttons"
    
    This reverts LO 6.2 commit f2cd1c3c7cce2699d1341f726fc90cf30b52612c
    because it caused regression tdf#125609.
    
    There are places where radio-groups are not properly defined,
    and things are a big mess.
    -about 4 levels of radio buttons are created.
    -the last level does not do grouping properly.
    -the tab order is defined too early, before all
     the controls are fully made.
    -this code is repeated for EVERY control added.
    
    Already reverted in 6.2, this also reverts 6.3
    because after looking again I don't see any way
    out of this, short of rewriting all of the old code.
    
    This can be a fairly serious regression, because the value
    of the radio buttons can change just by tabbing around.
    
    Leaving the commit in place for master, so that I can give it
    one more try before completely giving up.
    
    Change-Id: Ic62fd7bb50e67647703cba3796f6d11ffb797eb5
    Reviewed-on: https://gerrit.libreoffice.org/75157
    Tested-by: Jenkins
    Reviewed-by: Justin Luth <justin_l...@sil.org>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx
index 8469407dfc57..1aa58877ad6d 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -1856,7 +1856,12 @@ WinBits RadioButton::ImplInitStyle( const vcl::Window* 
pPrevWindow, WinBits nSty
          (!pPrevWindow || (pPrevWindow->GetType() != WindowType::RADIOBUTTON)) 
)
         nStyle |= WB_GROUP;
     if ( !(nStyle & WB_NOTABSTOP) )
-        nStyle |= WB_TABSTOP;
+    {
+        if ( IsChecked() )
+            nStyle |= WB_TABSTOP;
+        else
+            nStyle &= ~WB_TABSTOP;
+    }
 
     if ( IsChecked() && IsRadioCheckEnabled() )
         ImplUncheckAllOther();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to