Bugzilla – Attachment 151964 Details for
Bug 125609
radiobutton receives item status changed event after listbox value selection
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch125609.diff: debug and almost-fix
patch125609.diff (text/plain), 3.12 KB, created by
Justin L
on 2019-06-06 12:15:42 UTC
(
hide
)
Description:
patch125609.diff: debug and almost-fix
Filename:
MIME Type:
Creator:
Justin L
Created:
2019-06-06 12:15:42 UTC
Size:
3.12 KB
patch
obsolete
>diff --git a/vcl/source/window/dlgctrl.cxx b/vcl/source/window/dlgctrl.cxx >index 4394513..5b76d78 100644 >--- a/vcl/source/window/dlgctrl.cxx >+++ b/vcl/source/window/dlgctrl.cxx >@@ -848,7 +848,43 @@ bool Window::ImplDlgCtrl( const KeyEvent& rKEvt, bool bKeyInput ) > nType = GetDlgWindowType::Next; > nGetFocusFlags |= GetFocusFlags::Forward; > } >+SAL_WARN("DEBUG","--- Calling ImplGetDlgWindow giving index["<<i<<"] type["<<(int)nType<<"] start["<<nFormStart<<"] end["<<nFormEnd<<"] and getting NewIndex["<<nNewIndex<<"]"); >+ sal_uInt16 nLastIndex = i; > vcl::Window* pWindow = ImplGetDlgWindow( i, nType, nFormStart, nFormEnd, &nNewIndex ); >+ while ( pWindow && pWindow->GetType() == WindowType::RADIOBUTTON && nLastIndex != nNewIndex && i != nNewIndex ) >+ { >+ RadioButton* pRadio = static_cast<RadioButton*>(pWindow); >+ std::vector<VclPtr<RadioButton> > aGroup(pRadio->GetRadioButtonGroup(/*bIncludeThis=*/false)); >+SAL_WARN("DEBUG","--- next window is radiobox. i["<<i<<"] NewIndex["<<nNewIndex<<"] GroupSize["<<aGroup.size()<<"] RadioCheckEnabled["<<pRadio->IsRadioCheckEnabled()<<"] isChecked?["<<pRadio->IsChecked()<<"]"); >+ >+ if ( !aGroup.size() ) //only one button in group >+ break; >+ >+ if ( pRadio->IsChecked() ) >+ break; >+ >+ nLastIndex = nNewIndex; >+ vcl::Window* pLastWindow = pWindow; >+ pWindow = ImplGetDlgWindow( nNewIndex, nType, nFormStart, nFormEnd, &nNewIndex ); >+SAL_WARN("DEBUG","------ next window["<<pWindow<<"] isRadioButton["<<( pWindow && pWindow->GetType() == WindowType::RADIOBUTTON )<<"] NewIndex["<<nNewIndex<<"] lastIndex["<<nLastIndex<<"]"); >+ if ( pWindow && pWindow->GetType() == WindowType::RADIOBUTTON ) >+ { >+ pRadio = static_cast<RadioButton*>(pWindow); >+ auto aMember(std::find(aGroup.begin(), aGroup.end(), VclPtr<RadioButton>(pRadio))); >+SAL_WARN("DEBUG","------ next radiobutton isMember["<<(aMember != aGroup.end())<<"] isChecked["<<pRadio->IsChecked()<<"]"); >+ if (aMember == aGroup.end()) >+ pWindow = nullptr; >+ } >+ else >+ pWindow = nullptr; >+ >+ if ( !pWindow ) >+ { >+ pWindow = pLastWindow; >+ nNewIndex = nLastIndex; >+ } >+ } >+SAL_WARN("DEBUG","---selected window index["<<i<<"] newIndex["<<nNewIndex<<"]"); > // if this is the same window, simulate a Get/LoseFocus, > // in case AROUND is being processed > if ( pWindow == pSWindow )
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 125609
:
151805
|
151807
| 151964 |
151965
|
152284
|
152960