[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - accessibility/source
accessibility/source/standard/vclxaccessibletabcontrol.cxx | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) New commits: commit ef191c51ee9912ebc0ef3c59f6d9a86ff09723b1 Author: Caolán McNamaraDate: Thu Jan 12 14:03:43 2017 + a11y crash on accessing disposed TabControl during close of impress Change-Id: I3064eb136ed3a6a32acd64bfb2f6fbe31595e1cf (cherry picked from commit ff30d20c1ae3a30717123c267d52eb2b3105a1b7) Reviewed-on: https://gerrit.libreoffice.org/33007 Tested-by: Jenkins Reviewed-by: Markus Mohrhard diff --git a/accessibility/source/standard/vclxaccessibletabcontrol.cxx b/accessibility/source/standard/vclxaccessibletabcontrol.cxx index e9ee495..f086077 100644 --- a/accessibility/source/standard/vclxaccessibletabcontrol.cxx +++ b/accessibility/source/standard/vclxaccessibletabcontrol.cxx @@ -43,9 +43,14 @@ VCLXAccessibleTabControl::VCLXAccessibleTabControl( VCLXWindow* pVCLXWindow ) :VCLXAccessibleComponent( pVCLXWindow ) { m_pTabControl = static_cast< TabControl* >( GetWindow().get() ); - -if ( m_pTabControl ) -m_aAccessibleChildren.assign( m_pTabControl->GetPageCount(), Reference< XAccessible >() ); +if (!m_pTabControl) +return; +if (m_pTabControl->isDisposed()) +{ +m_pTabControl.clear(); +return; +} +m_aAccessibleChildren.assign( m_pTabControl->GetPageCount(), Reference< XAccessible >() ); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - accessibility/source
accessibility/source/extended/AccessibleGridControl.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit c6f2be29a856044a98615c3209c247de586757f9 Author: Julien NabetDate: Mon Dec 19 22:33:12 2016 +0100 tdf#104767: Fix calculus of child index in commitTableEvent (accessibility) bt: 1 0x2aaade2fea5b in accessibility::AccessibleGridControlTableBase::ensureIsValidIndex (this=0x586abdb0, nChildIndex=11) at /home/julien/lo/libreoffice/accessibility/source/extended/AccessibleGridControlTableBase.cxx:257 2 0x2aaade2f97f2 in accessibility::AccessibleGridControlTable::getAccessibleChild (this=0x586abdb0, nChildIndex=11) at /home/julien/lo/libreoffice/accessibility/source/extended/AccessibleGridControlTable.cxx:60 3 0x2aaade2ee054 in accessibility::AccessibleGridControl::commitTableEvent (this=0x57e97500, _nEventId=5, _rNewValue=uno::Any(void), _rOldValue=uno::Any(void)) at /home/julien/lo/libreoffice/accessibility/source/extended/AccessibleGridControl.cxx:354 Seems a regression from https://cgit.freedesktop.org/libreoffice/core/commit/?id=0f32ba56a1e775e8ecd6c827ebd48f7f2fb51c81 Change-Id: Ia973eb381832da27ecc39fc5273f67a685d5a7bb Reviewed-on: https://gerrit.libreoffice.org/32205 Reviewed-by: Julien Nabet Tested-by: Julien Nabet (cherry picked from commit 4e1c423358f60f7516a1682c97837edd21addcf3) Reviewed-on: https://gerrit.libreoffice.org/32209 (cherry picked from commit 899ea62194d59a69e04823962a3170f762a02e9b) Reviewed-on: https://gerrit.libreoffice.org/32210 Tested-by: Jenkins Reviewed-by: Tamás Zolnai diff --git a/accessibility/source/extended/AccessibleGridControl.cxx b/accessibility/source/extended/AccessibleGridControl.cxx index 5ba4001..cdfd606 100644 --- a/accessibility/source/extended/AccessibleGridControl.cxx +++ b/accessibility/source/extended/AccessibleGridControl.cxx @@ -351,7 +351,7 @@ void AccessibleGridControl::commitTableEvent(sal_Int16 _nEventId,const Any& _rNe if (nCurrentRow > -1 && nCurrentCol > -1) { sal_Int32 nColumnCount = m_aTable.GetColumnCount(); -xChild = m_xImpl->m_pTable->getAccessibleChild(nCurrentRow * nCurrentCol + nColumnCount); +xChild = m_xImpl->m_pTable->getAccessibleChild(nCurrentRow * nColumnCount + nCurrentCol); } m_xImpl->m_pTable->commitEvent(_nEventId, makeAny(xChild),_rOldValue); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - accessibility/source include/vcl vcl/source vcl/unx
accessibility/source/standard/vclxaccessibleedit.cxx | 59 ++- include/vcl/texteng.hxx |2 include/vcl/vclmedit.hxx |2 vcl/source/edit/texteng.cxx | 20 ++ vcl/unx/gtk/a11y/atktext.cxx | 18 - vcl/unx/gtk/a11y/atktextattributes.cxx |6 + 6 files changed, 100 insertions(+), 7 deletions(-) New commits: commit c5b71538e9cd7854f502d20c36396176a49bef2b Author: Tamás ZolnaiDate: Sun Dec 4 00:03:24 2016 + tdf#93430: Cannot get accessible text attributes for 'Not in dictionary' entry Squashed from two commits: tdf#93430: Get run attributes of text objects .. which are not paragraphs. Note: For some reason in character attributes sequence we have a wrong Any value for "CharPosture" property. Signed-off-by: Tamás Zolnai Reviewed-on: https://gerrit.libreoffice.org/31591 (cherry picked from commit 17773e1a8dd6e97f57db111819338c418f819cef) tdf#93430: Cannot get accessible text attributes for 'Not in dictionary' entry Reviewed-on: https://gerrit.libreoffice.org/31778 Reviewed-by: Tamás Zolnai Tested-by: Tamás Zolnai (cherry picked from commit e0d8c3821b8fa1e7d00f7b4a7d007f9cb5c592a5) Reviewed-on: https://gerrit.libreoffice.org/31792 Tested-by: Jenkins Reviewed-by: Tamás Zolnai tdf#93430: Return the right offsets for runs MultiLineEdit is a special control which can have more text portions with different text attributes. Reviewed-on: https://gerrit.libreoffice.org/31813 Tested-by: Jenkins Reviewed-by: Tamás Zolnai (cherry picked from commit 8d52045853cecb716138d51b8b6ad0272a86af86) Change-Id: Ia45526c01cc381d3d6a1b56dbf4f03fdd38a0989 Reviewed-on: https://gerrit.libreoffice.org/31804 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara diff --git a/accessibility/source/standard/vclxaccessibleedit.cxx b/accessibility/source/standard/vclxaccessibleedit.cxx index 9ef0025..f36ee0b 100644 --- a/accessibility/source/standard/vclxaccessibleedit.cxx +++ b/accessibility/source/standard/vclxaccessibleedit.cxx @@ -30,12 +30,17 @@ #include #include #include +#include #include #include #include #include #include #include +#include +#include +#include +#include #include #include @@ -305,8 +310,46 @@ sal_Unicode VCLXAccessibleEdit::getCharacter( sal_Int32 nIndex ) throw (IndexOut Sequence< PropertyValue > VCLXAccessibleEdit::getCharacterAttributes( sal_Int32 nIndex, const Sequence< OUString >& aRequestedAttributes ) throw (IndexOutOfBoundsException, RuntimeException, std::exception) { OExternalLockGuard aGuard( this ); +Sequence< PropertyValue > aProperties = VCLXAccessibleTextComponent::getCharacterAttributes( nIndex, aRequestedAttributes ); -return VCLXAccessibleTextComponent::getCharacterAttributes( nIndex, aRequestedAttributes ); +// Handle multiline edit character properties +VclPtr pMulitLineEdit = GetAsDynamic< VclMultiLineEdit >(); +if ( pMulitLineEdit ) +{ +ExtTextEngine* pTextEngine = pMulitLineEdit->GetTextEngine(); +TextPaM aCursor( 0, nIndex ); +const TextAttribFontColor* pFontColor = static_cast(pTextEngine->FindAttrib( aCursor, TEXTATTR_FONTCOLOR )); +if ( pFontColor ) +{ +for (PropertyValue& aValue : aProperties ) +{ +if (aValue.Name == "CharColor") +{ +aValue.Value = css::uno::makeAny(static_cast< sal_Int32 >(COLORDATA_RGB(pFontColor->GetColor().GetColor(; +break; +} +} +} +} + +// Set default character color if it is not set yet to a valid value +for (PropertyValue& aValue : aProperties ) +{ +if (aValue.Name == "CharColor") +{ +if ( aValue.Value == sal_Int32(-1) ) +{ +OutputDevice* pDev = Application::GetDefaultDevice(); +if ( pDev ) +{ +aValue.Value = css::uno::makeAny(static_cast< sal_Int32 >(pDev->GetSettings().GetStyleSettings().GetFieldTextColor().GetColor())); +} +} +break; +} +} + +return aProperties; } @@ -434,6 +477,20 @@ css::accessibility::TextSegment VCLXAccessibleEdit::getTextAtIndex( sal_Int32 nI { OExternalLockGuard aGuard( this ); +// Override general text component behavior: MultiLineEdit can have more text
[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - accessibility/source
accessibility/source/standard/vclxaccessiblebox.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 0b11455e1905b9a7ce3958ea43bbfe5cbb6ee916 Author: Tamás ZolnaiDate: Sat Nov 26 18:22:42 2016 + tdf#99687: Find Text widget fails to emit object:text-caret-moved events Must be an integration bug: efb23f29983f87104a684e7fab00b84fc59d131d Change-Id: I53b15975fb97a299103fab870307b03b2607e9e5 Reviewed-on: https://gerrit.libreoffice.org/31238 Reviewed-by: Tamás Zolnai Tested-by: Tamás Zolnai (cherry picked from commit c1afa80bb3613c9202fa9d83447fdd5d57667cb6) Reviewed-on: https://gerrit.libreoffice.org/31247 Tested-by: Jenkins Reviewed-by: Miklos Vajna diff --git a/accessibility/source/standard/vclxaccessiblebox.cxx b/accessibility/source/standard/vclxaccessiblebox.cxx index ae4e5a6..cdd3b5d 100644 --- a/accessibility/source/standard/vclxaccessiblebox.cxx +++ b/accessibility/source/standard/vclxaccessiblebox.cxx @@ -236,7 +236,7 @@ void VCLXAccessibleBox::ProcessWindowEvent (const VclWindowEvent& rVclWindowEven case VCLEVENT_EDIT_MODIFY: case VCLEVENT_EDIT_SELECTIONCHANGED: - // case VCLEVENT_EDIT_CARETCHANGED: +case VCLEVENT_EDIT_CARETCHANGED: // Modify/Selection events are handled by the combo box instead of // directly by the edit field (Why?). Therefore, delegate this // call to the edit field. ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - accessibility/source
accessibility/source/extended/AccessibleGridControl.cxx |9 - 1 file changed, 8 insertions(+), 1 deletion(-) New commits: commit 652026f0e2f9c323229151e854ad6591791e098e Author: Caolán McNamaraDate: Sat Jun 11 15:50:59 2016 +0100 Resolves: tdf#100272 row ally index is ROW_INVALID which is < 0 so bad things happen, consider ROW_INVALID/COL_INVALID before looking for a11y child at that index Change-Id: I16a9d86879e1a894c63932705c056268e98db7aa (cherry picked from commit 0f32ba56a1e775e8ecd6c827ebd48f7f2fb51c81) diff --git a/accessibility/source/extended/AccessibleGridControl.cxx b/accessibility/source/extended/AccessibleGridControl.cxx index 5c32dcf..5ba4001 100644 --- a/accessibility/source/extended/AccessibleGridControl.cxx +++ b/accessibility/source/extended/AccessibleGridControl.cxx @@ -345,7 +345,14 @@ void AccessibleGridControl::commitTableEvent(sal_Int16 _nEventId,const Any& _rNe { if(_nEventId == AccessibleEventId::ACTIVE_DESCENDANT_CHANGED) { -css::uno::Reference< css::accessibility::XAccessible > xChild = m_xImpl->m_pTable->getAccessibleChild(m_aTable.GetCurrentRow()*m_aTable.GetColumnCount()+m_aTable.GetCurrentColumn()); +const sal_Int32 nCurrentRow = m_aTable.GetCurrentRow(); +const sal_Int32 nCurrentCol = m_aTable.GetCurrentColumn(); +css::uno::Reference< css::accessibility::XAccessible > xChild; +if (nCurrentRow > -1 && nCurrentCol > -1) +{ +sal_Int32 nColumnCount = m_aTable.GetColumnCount(); +xChild = m_xImpl->m_pTable->getAccessibleChild(nCurrentRow * nCurrentCol + nColumnCount); +} m_xImpl->m_pTable->commitEvent(_nEventId, makeAny(xChild),_rOldValue); } else if(_nEventId == AccessibleEventId::TABLE_MODEL_CHANGED) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits