Move the std::vector<RadioButtonGroupMap> and the method
to extract and add to that map from VclBuilder to its base
class, BuilderBase.
Add a getter, BuilderBase::getRadioButtonGroupMaps instead
of accessing the base class member directly in the VclBuilder subclass.
Change-Id: Ic0d2abbd9faa41760d542ab22a80f2ba23136ccf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178442
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
It must match the existing GNU C version check (starting at line 4812).
An omission from commit 6ef2d358ac (Adapt
Clang and GCC minimum version checks, 2023-09-23).
Change-Id: Iaaf7d8ba5ab7d731db9f4e84311a37600444cedc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178439
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Switch from using svt::OStringTransfer::CopyString
to vcl::unohelper::TextDataObject::CopyStringTo
to copy a string to the clipboard, to avoid
a dependency on the svtools library for this task.
Change-Id: I5226c28b5519d4fc020f45d7967b9ad15aab0dae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178438
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Build the code for the TabBar a11y classes independent of
whether or not the scripting feature is enabled.
Otherwise, e.g. the tab bar showing sheets in Calc is inaccessible
in a `--disable-scripting` build, i.e. it e.g. doesn't show up
in Accerciser.
It was made conditional on HAVE_FEATURE_SCRIPTING in
commit fb308c193b
Date: Wed May 19 12:16:42 2021 +0200
Fix --disable-scripting for DESKTOP build
, which doesn't give any explicit reason, so my
assumption is that it had some dependency relying
on that feature being enabled back then.
At least a local `--disable-scripting` build of mine
works fine with this enabled again now, so let's assume
whatever was the problem back then is solved by now.
Change-Id: I6ee2ea6823aaa30bf597678c2b3ee86b42111920
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178437
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
In the AccessibleBrowseBox ctor, no longer use the
VCLUnoHelper::GetInterface helper from the toolkit module,
but do the same inline.
(Assigning to AccessibleBrowseBoxBase::m_xFocusWindow
after the AccessibleBrowseBoxBase base class ctor has
been called looks a little odd to me as that one
would add a focus listener for that window if
already set/passed when called - but leave the
logic unchanged for now.)
With this, Library_acc no longer depends on the
toolkit module, so drop the dependency from the
make file.
Change-Id: I8e7759c2d92a344bef51d154df0045c78f0471fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178435
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
After
commit 168512dce7
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Dec 12 18:06:13 2024 +0100
a11y: Stop using VCLXWindow in vcl a11y classes
and further related commits, VCLXAccessibleComponent
no longer depends on anything in the toolkit module,
so move it from there to vcl.
This way, subclassing VCLXAccessibleComponent (as the
a11y classes for vcl widgets do, currently located in
accessibility/ ) no longer introduces a toolkit
dependency.
Change-Id: I4fd33fb1dc2265d75e8ca9ad87bcc70db61639d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178434
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Drop the `_xFocusWindow` param from the BrowseBoxAccessibleElement
ctor. Both subclasses are unconditionally passing nullptr.
Just unconditionally pass nullptr in the base class ctor instead
of forwarding the (always nullptr) param.
Change-Id: I9296ae8dae8ac53c52cec99e143288e70a586ce0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178432
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Both callers of AccessibleFactory::createAccessibleCheckBoxCell
(in SvHeaderTabListBox::CreateAccessibleColumnHeader)
unconditionally pass nullptr for the `_xFocusWindow` param.
Therefore, drop the parameter from that method and the
AccessibleBrowseBoxHeaderCell ctor, and unconditionally
pass nullptr to the base class ctor.
This is basically the same as for AccessibleBrowseBoxTableCell in previous commit
Change-Id: I22d5cb98332aa5d89fc4c479d0ec29588fe83e4d
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Dec 13 12:37:03 2024 +0100
a11y: Drop always null AccessibleBrowseBoxTableCell focus win param
Change-Id: Ife57d0163f1c99407e08875ba98725ea114597cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178418
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Both callers of AccessibleFactory::createAccessibleCheckBoxCell
unconditionally pass nullptr for the `_xFocusWindow` param.
Therefore, drop the parameter from that method and the
AccessibleCheckBoxCell ctor, and unconditionally
pass nullptr to the base class ctor.
This is the same as for AccessibleBrowseBoxTableCell in previous commit
Change-Id: I22d5cb98332aa5d89fc4c479d0ec29588fe83e4d
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Dec 13 12:37:03 2024 +0100
a11y: Drop always null AccessibleBrowseBoxTableCell focus win param
Change-Id: I76660aed909fc73ab19bc99a3e3bfb54176e7e10
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178417
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Both callers of AccessibleFactory::createAccessibleBrowseBoxTableCell
unconditionally pass nullptr for the `_xFocusWindow` param.
Therefore, drop the parameter from that method and the
AccessibleBrowseBoxTableCell ctor, and unconditionally
pass nullptr to the base class ctor.
Change-Id: I22d5cb98332aa5d89fc4c479d0ec29588fe83e4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178416
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
... and pass the Reference params by const ref, as
suggested by loplugin:passparamsbyref.
Change-Id: I7f0e153d901f451d47d6a9b94255dd41f89c7d0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178408
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
As was done for the other a11y classes subclassing
VCLXAccessibleComponent in
commit 168512dce7
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Dec 12 18:06:13 2024 +0100
a11y: Stop using VCLXWindow in vcl a11y classes
, also pass the vcl::Window when creating an
XAccessibleContext for a TextView, to get rid of
the UNO/toolkit dependency.
Change-Id: I3c5febd27a53fe17f83cc4e95dd7466f11a7a225
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178403
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Instead of storing a reference to the VCLXWindow (which is
a TextWindowPeer), which is the EditorWindow's accessible
as Document::m_xAccessible member, adjust Document::getAccessible
to get the accessible on demand via vcl::Window::GetAccessible
instead.
This also prepares for no more passing the VCLXWindow
to the ctor in an upcoming commit.
Change-Id: I498f90a456eda453508a4f1ed84983006594ea86
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178402
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
#0 SdrObjList::RemoveObjectFromContainer (this=0x1d12e30, nObjectPosition=3) at core/svx/source/svdraw/svdpage.cxx:1093
#1 0x00007ffff15da0bd in SdrObjList::SetObjectOrdNum (this=0x1d12e30, nOldObjNum=3, nNewObjNum=2) at core/svx/source/svdraw/svdpage.cxx:536
#2 0x00007ffff14c954c in SdrObject::ensureSortedImmediatelyAfter (this=0x4f56d30, rFirst=...) at core/svx/source/svdraw/svdobj.cxx:897
#3 0x00007fffcdc4978c in SwTextBoxHelper::DoTextBoxZOrderCorrection (pShape=0x4c3a660, pObj=0x4c3d730) at core/sw/source/core/doc/textboxhelper.cxx:1638
#4 0x00007fffcdc4bcbc in SwTextBoxHelper::changeAnchor (pShape=0x4c3a660, pObj=0x4c3d730) at core/sw/source/core/doc/textboxhelper.cxx:1247
#5 0x00007fffcdc4e613 in SwTextBoxHelper::synchronizeGroupTextBoxProperty
(pFunc=0x7fffcdc4bc10 <SwTextBoxHelper::changeAnchor(SwFrameFormat*, SdrObject*)>, pFormat=0x4c3a660, pObj=0x4c3d730)
at core/sw/source/core/doc/textboxhelper.cxx:1652
#6 0x00007fffcdd41a89 in SwDrawContact::Changed_ (this=0x4c55400, rObj=..., eType=SdrUserCallType::ChildMoveOnly, pOldBoundRect=0x7fffffff09d8)
at core/sw/source/core/draw/dcontact.cxx:1250
#7 0x00007fffcdd410a7 in SwDrawContact::Changed (this=0x4c55400, rObj=..., eType=SdrUserCallType::ChildMoveOnly, rOldBoundRect=...)
at core/sw/source/core/draw/dcontact.cxx:1005
#8 0x00007ffff14c7356 in SdrObject::SendUserCall (this=0x4c3d730, eUserCall=SdrUserCallType::MoveOnly, rBoundRect=...) at core/svx/source/svdraw/svdobj.cxx:2827
#9 0x00007ffff14b11d8 in SdrObjCustomShape::Move (this=0x4c3d730, rSiz=Size = {...}) at core/svx/source/svdraw/svdoashp.cxx:1499
#10 0x00007ffff152753b in SdrObjGroup::Move (this=0x1be18e0, rSiz=Size = {...}) at core/svx/source/svdraw/svdogrp.cxx:561
#11 0x00007fffce8c80b8 in SwViewShellImp::NotifySizeChg
(unique_ptrI7SdrMarkSt14default_deleteIS2_EESaIS5_EE11_M_allocateEm=<error reading variable: Unhandled DWARF expression opcode 0x0>, hrowE=<error reading variable: Unhandled DWARF expression opcode 0x0>) at core/sw/source/core/view/vdraw.cxx:274
#12 0x00007fffce032bc1 in AdjustSizeChgNotify (pRoot=0x5e1c7f0) at core/sw/source/core/layout/pagechg.cxx:851
#13 0x00007fffce03243f in SwRootFrame::CheckViewLayout (this=0x5e1c7f0, pViewOpt=0x0, pVisArea=0x0) at core/sw/source/core/layout/pagechg.cxx:2445
#14 0x00007fffce032eec in SwPageFrame::Cut (this=0x5f19910) at core/sw/source/core/layout/pagechg.cxx:921
#15 0x00007fffce037d40 in SwRootFrame::RemovePage (this=0x5e1c7f0, pDelRef=0x7fffffff13c0, eResult=SwRemoveResult::Prev)
at core/sw/source/core/layout/pagechg.cxx:1518
#16 0x00007fffce03808e in SwRootFrame::RemoveSuperfluous (this=0x5e1c7f0) at core/sw/source/core/layout/pagechg.cxx:1557
#17 0x00007fffcdfe8d04 in SwLayAction::InternalAction (this=0x7fffffff1a30, pRenderContext=0x5211510) at core/sw/source/core/layout/layact.cxx:694
#18 0x00007fffcdfe7cc6 in SwLayAction::Action (this=0x7fffffff1a30, pRenderContext=0x5211510) at core/sw/source/core/layout/layact.cxx:396
#19 0x00007fffce8d5995 in SwViewShell::CalcLayout (this=0x521c540) at core/sw/source/core/view/viewsh.cxx:1197
#20 0x00007fffcde1233f in SwEditShell::CalcLayout (this=0x521c540) at core/sw/source/core/edit/edws.cxx:111
Change-Id: I66ffbbfc74e52eea2e24e486d52607e84ffb8fcb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178415
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
This is shown now, since commit b664c08a6d
(Drop support for Windows versions prior to Windows 10, 2024-12-07):
Change your target platform to Windows 7 or below if your application
requires backward compatibility for the ADO interface.
Change-Id: Ic95a0819440b958cc3e01bbc2ffe91d7495bb8fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178406
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Fixes a crash that started with
7.6.0.2 commit eec038b982b4672ac8feb030cb6bae546fa8c901
The crash occurred when comments were copied (without cloning)
to another document and then the source document was closed,
removing access to the (uncloned) comment.
Also took the opportunity to put the (minutely) most expensive
comparison at the end of the if clause.
Change-Id: Ia5c1313aa17550f760d5f870c566f06b7abd598b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178394
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
Calculate correctly the textbox area of upArrowCallout and
downArrowCallout shapes in group shapes. In grouped list
text area does not cover the whole shape but just a part of it at the top.
In case of upArrowCallout and downArrowCallout the arrow size of the shape
is not included in the textbox area of the full shape.
Change-Id: If732305747c20da55bbd2896522c0b9c05cc4b4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178343
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
Tested-by: Jenkins
Now it's possible to run something like
./logerrit submit "" wip
to auto-guess the branch, and make it WIP.
Change-Id: I099a840ad39a1674c7dc5851c0a0c1d3976ee728
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178401
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
until oTextPara has been applied to the field's associated postit
window.
This became a noticeable problem since:
commit 2fba6df7242586870988b62909156538b42c2bc0
CommitDate: Thu Dec 5 15:31:06 2024 +0100
LOK: don't recreate the dialogs of an old view when loading new views
In the broken situation the contents of the postit are sent back to kit
as apparently empty, so newly inserted comments appear to be empty.
The broadcast bt of this scenario is:
#0 sw::annotation::SwAnnotationWin::GetSimpleHtml (this=0x19f38790) at sw/source/uibase/docvw/AnnotationWin.cxx:516
#1 0x00007f37d246283e in (anonymous namespace)::lcl_CommentNotification (pView=0x267cac40, nType=(anonymous namespace)::CommentNotificationType::Add,
pItem=0x26baf4e0, nPostItId=0) at sw/source/uibase/docvw/PostItMgr.cxx:176
#2 0x00007f37d2467fef in SwPostItMgr::LayoutPostIts (this=0x266d7160) at sw/source/uibase/docvw/PostItMgr.cxx:1084
#3 0x00007f37d209dd1b in SwViewShell::VisPortChgd (this=0x267cce90, rRect=...) at sw/source/core/view/viewsh.cxx:1326
#4 0x00007f37d119030d in SwCursorShell::VisPortChgd (this=0x267cce90, rRect=...) at sw/source/core/crsr/crsrsh.cxx:1788
#5 0x00007f37d276478b in SwView::SetVisArea (this=0x267cac40, rRect=..., bUpdateScrollbar=true)
at sw/source/uibase/uiview/viewport.cxx:249
#6 0x00007f37d2764cc3 in SwView::SetVisArea (this=0x267cac40, rPt=..., bUpdateScrollbar=true)
at sw/source/uibase/uiview/viewport.cxx:311
#7 0x00007f37d2765e2e in SwView::Scroll (this=0x267cac40, rRect=..., nRangeX=65535, nRangeY=65535)
at sw/source/uibase/uiview/viewport.cxx:495
#8 0x00007f37d24d7708 in ScrollMDI (pVwSh=0x267cce90, rRect=..., nRangeX=65535, nRangeY=65535)
at sw/source/uibase/docvw/edtwin3.cxx:41
#9 0x00007f37d209a896 in SwViewShell::MakeVisible (this=0x267cce90, rRect=...) at sw/source/core/view/viewsh.cxx:665
#10 0x00007f37d119a238 in SwCursorShell::MakeSelVisible (this=0x267cce90) at sw/source/core/crsr/crsrsh.cxx:3490
#11 0x00007f37d1837671 in SwFEShell::MakeSelVisible (this=0x267cce90) at sw/source/core/frmedt/feshview.cxx:2677
#12 0x00007f37d1192fcc in SwCursorShell::UpdateCursor (this=0x267cce90, eFlags=6, bIdleEnd=false)
at sw/source/core/crsr/crsrsh.cxx:2345
#13 0x00007f37d11886f9 in SwCursorShell::EndAction (this=0x267cce90, bIdleEnd=false) at sw/source/core/crsr/crsrsh.cxx:280
#14 0x00007f37d178ed62 in SwEditShell::EndAllAction (this=0x267cce90) at sw/source/core/edit/edws.cxx:102
#15 0x00007f37d2503daf in SwFieldMgr::InsertField (this=0x7fff88937c00, rData=...) at sw/source/uibase/fldui/fldmgr.cxx:1561
#16 0x00007f37d292df75 in SwWrtShell::InsertPostIt (this=0x267cce90, rFieldMgr=..., rReq=...)
while in the "working" case IsScrollMDI is false and MakeVisible returns early.
2fba6df7 causes the profile's desire to restore core's SID_SIDEBAR to be
ignored and so the results of IsScrollMDI differ between the two
scenarios.
Which makes it more likely that IsScrollMDI is true when queried by
SwViewShell::MakeVisible, and so LayoutPostIts triggers before
pPostIt->SetTextObject, so the contents of that TextObject, while
applied to the postit, are not broadcast back via the kit.
put a StartAction/EndAction pairing when oTextPara is present to
suppress the update until oTextPara is applied.
Change-Id: Id42ff1be85fec4b1053e5a7726cf6d2ba8d7de84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178326
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
(cherry picked from commit c29a10b51db8027f90397d1bd9e31bd8a3571bc6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178390
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Instead of having two separate classes to implement
the XAccessible and the XAccessibleContext interfaces,
let SidebarWinAccessible implement both and
merge the corresponding logic from SidebarWinAccessibleContext
into SidebarWinAccessible.
This also reduces duplication.
In SidebarWinAccessible::getAccessibleContext,
simply return a reference to the object itself
(after checking that the object is still alive).
After
Change-Id: If0894e733273eecad268c6a932ecee7c2e34b4c2
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Dec 12 18:06:13 2024 +0100
a11y: Stop using VCLXWindow in vcl a11y classes
, there's also no more need for SidebarWinAccessible to
subclass VCLXWindow, so drop that inheritance.
Change-Id: I5688ced4f83a0291de49741dc1b9df8c8f256099
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178386
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Adjust VCLXAccessibleComponent and subclasses to take
a vcl::Window arg instead of a VCLXWindow in the ctor
and drop the VCLXAccessibleComponent::m_xVCLXWindow member
that used to hold a reference to the VCLXWindow.
(VCLXAccessibleComponent still holds a VclPtr
to the corresponding vcl::Window.)
Instead of passing the UNO/toolkit peer (VCLXWindow
and subclasses) to the AccessibleFactory to create
an XAccessibleContext context for the underlying VCL
widget, pass the underlying vcl widget, which can
now be passed as is to the corresponding ctors
of VCLXAccessibleComponent and specialized subclasses.
This follows earlier commits replacing the use of the
VCLXWindow classes by direct uses of the vcl::Window
subclasses inside VCLXAccessibleComponent and subclasses
and is the next step in reducing the UNO/toolkit
dependency in the accessibility implementation for
vcl widgets.
For now, the logic where those accessible objects
are created remains in VCLXWindow::CreateAccessibleContext
and overrides, but that can change in the future.
`IAccessibleFactory::createAccessibleContext(VCLXMultiLineEdit*)`
is just dropped and doesn't need its own replacement:
The previous VCLXMultiLineEdit variant was
creating a VCLXAccessibleEdit like the variant
taking a VCLXEdit, but VCLXMultiLineEdit doesn't
subclass VCLXEdit.
The vcl MultiLineEdit however subclasses Edit,
so VCLXMultiLineEdit::CreateAccessibleContext can make
use of `IAccessibleFactory::createAccessibleContext(Edit*)`
as well now.
This also implements what was mentioned in earlier
commit
Change-Id: I67bb7a6a237e57d0c522790c09a595c02ac06325
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Dec 12 17:16:29 2024 +0100
sw annotation win a11y: Skip VCLXWindow logic
:
> Drop the comment about the code being dodgy from
> SwAnnotationWin::CreateAccessible. This commit partially
> addresses it and switching VCLXAccessibleComponent
> to using the vcl::Window will take care of the rest,
> see upcoming commit
> Change-Id If0894e733273eecad268c6a932ecee7c2e34b4c2
> ("a11y: Stop using VCLXWindow in vcl a11y classes").
Now that the VCLXAccessibleComponent ctor takes a
vcl::Window, the sw::annotation::SwAnnotationWin
can be passed directly.
From a user perspective, no change in behavior is
intended by this commit.
Change-Id: If0894e733273eecad268c6a932ecee7c2e34b4c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178385
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Instead of overriding the base class VCLXWindow::CreateAccessibleContext
which gets called by VCLXWindow::getAccessibleContext and
results in the VCLXWindow base class also keeping a
pointer to the XAccessible, override
VCLXWindow::getAccessibleContext right away, and keep
a reference to the SidebarWinAccessibleContext
in SidebarWinAccessible itself.
This simplifies the code, removes the need to cast
the XAccessibleContext retrieved via the base class
methods, and also prepares for making VCLXAccessibleComponent
no more rely on the VCLXWindow, but using a vcl::Window
directly in an upcoming commit.
Drop the comment about the code being dodgy from
SwAnnotationWin::CreateAccessible. This commit partially
addresses it and switching VCLXAccessibleComponent
to using the vcl::Window will take care of the rest,
see upcoming commit
Change-Id If0894e733273eecad268c6a932ecee7c2e34b4c2
("a11y: Stop using VCLXWindow in vcl a11y classes").
Change-Id: I67bb7a6a237e57d0c522790c09a595c02ac06325
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178384
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
SwAnnotationWin::CreateAccessible returns the very
object that is calling the SidebarWinAccessibleContext
ctor.
Make that more obvious by passing it as a param instead
of calling SwAnnotationWin::CreateAccessible and then
dynamic_casting that to a VCLXWindow.
Change-Id: Id2ef80c7e5540276548c635cf550a552302b2fcc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178383
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This is in preparation of reworking the
SidebarWinAccessible logic in upcoming commits.
Change-Id: Ia1c9bf6a62d1cefb6147f82891361b0ced251263
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178367
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
... and to the AccessibleIconView subclass one, too.
This is in preparation of switching the base class VCLXAccessibleComponent
ctor to taking a vcl::Window* instead of a VCLXWindow* in an
upcoming commit.
Change-Id: I10074f4c6716c2c7cb3b800c75bec8200ee6208c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178366
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Pass a non-const SvtIconChoiceCtrl& instead of a const one,
in preparation of switching the base class VCLXAccessibleComponent
ctor to taking a vcl::Window* instead of a VCLXWindow* in an
upcoming commit.
Change-Id: Ib2fd0efeb897c8f375309b00946a89dd2f8fd097
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178365
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Instead of passing/using a Reference<XAccessible>
and querying that one for the XControl interface
in the OAccessibleControlContext ctor and in
OAccessibleControlContext::implGetWindow, pass
(and remember) the control via a Reference<XControl>
right away.
Change-Id: I0a9e15cda37bf42ff06f00ef3f49efacf2992043
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178356
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Move this member holding a weak reference to the XAccessible
that created the context to the OAccessibleControlContext
subclass, which is the only one making use of it now after
previous commit
Change-Id: I29fb7cd42512a02fc1cc56835bb83f847e9ec0fd
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Dec 12 11:08:54 2024 +0100
tdf#164294 a11y: Don't rely on "creator" to determine child index
This also removes the need to call OCommonAccessibleComponent::lateInit
in those subclasses that did so previously.
Change-Id: I3edd14810feb6c884b4e67db1f76b40ae003dffa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178355
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
In OCommonAccessibleComponent::getAccessibleIndexInParent,
no longer rely on OCommonAccessibleComponent::m_aCreator
to have been set to the "creator" (i.e. the XAccessible whose
XAccessible::getAccessibleContext() created this object)
in order to determine the index of the object in its parent.
Instead, call XAccessible::getAccessibleContext on
the parent's child XAccessible objects and compare
that to `this`.
At least for SvxPixelCtlAccessible (and most likely other
child classes), OCommonAccessibleComponent::m_aCreator
isn't set (by a call to OCommonAccessibleComponent::lateInit),
so the logic would fail, and an incorrect index of -1
was returned.
Simplify the logic and no longer depend on
OCommonAccessibleComponent::m_aCreator in that
method. This also prepares for further decoupling
VCLXAccessibleComponent from the VCLXWindow toolkit/UNO class.
(The VCLXAccessibleComponent ctor currently calls
OCommonAccessibleComponent::lateInit with its VCLXWindow,
but overrides VCLXAccessibleComponent::getAccessibleIndexInParent
without making use of the "creator" there.)
Comments suggest that the previous logic was there to
avoid calling XAccessible::getAccessibleContext for
performance reasons.
If that's a concern for a particular subclass, overriding
OCommonAccessibleComponent::getAccessibleIndexInParent
in that subclass (and making use of whatever internal
details help to efficiently implement the method) seems
like a better and more reliable solution to me.
Change-Id: I29fb7cd42512a02fc1cc56835bb83f847e9ec0fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178354
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Instead of calling a default ctor without arguments
and then calling OAccessibleControlContext::Init
with the arguments directly afterwards, move
the OAccessibleControlContext::Init logic into
the ctor right away.
There's no need for using such a "late ctor" as the
comment calls it. (No virtual methods involved.)
Change-Id: I815decd44ce94f242ea8c4814b33e2f73b39241f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178353
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Most macOS applications such as TextEdit and Safari jump to the
clicked spot if the Option key is pressed during a left mouse click.
Change-Id: I56149e42daf1825cfebde8be8cfbb53645b31928
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178369
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
...not just --enable-dbgutil ones, which gives more flexibility in using that
infrastructure downstream. (The unotest/source/embindtest/embindtest.js code is
still only included in desktop/Executable_soffice_bin.mk for --enable-dbgutil
builds, though.)
Building unotest/source/embindtest/embindtest.cxx also outside of
--enable-dbgutil, and thus implicitly --enable-assert-always-abort, builds
required moving from assert() to some hand-crafted verify().
Change-Id: I3f0fa00feee25b4ea6e7866c22a5b4a4d40cb3d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178361
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
this fixes using the MSM merge modules in the wsl-as-helper case and
avoids "cygpath not found" error lines when doing the compiler tests
when running configure.
Also capture and report the output of failed msidb calls in the
isntaller code and simplify the path-mangling to windows-style
Change-Id: I6877edda72959ab592e686d662b1344487e6313e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177966
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
Fix an error in commit a1b18eba35
(Implement Custom Font Collections on pre-Windows 10 systems, 2024-01-11),
where the wrong object used in the call to CreateFontSetBuilder resulted
in the empty return from the initializer, overwriting the just-created
reference. Before commit 93350f4694 (Drop
pre-Win10 code from WinSkiaSalGraphicsImpl, 2024-12-07), it was checked,
and the pre-Win10 path was used. After the said commit, it results in a
nullptr dereference.
Change-Id: Ia59f6ae6d236d1eb2c474f4330dcee6f38276c66
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178357
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins