)]}'
{
  "log": [
    {
      "commit": "f5d65e30ae2538bf3cd400a67522bace091fdc1d",
      "tree": "ff262d1d135ce5eba6411527ee8c4db7f6e7bcc5",
      "parents": [
        "37d8c5eb00de8dd239ec8dbc7f26796d9865290c"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sat Mar 21 14:55:31 2026 +0200"
      },
      "committer": {
        "name": "Andras Timar",
        "email": "andras.timar@collabora.com",
        "time": "Wed Apr 01 14:30:28 2026 +0200"
      },
      "message": "Fraction-\u003edouble in vcl::Window\n\nChange-Id: I5628be6ae9f3c37c6b96dbfa8c029bffa51dc471\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/202311\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\nTested-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/202804\nTested-by: Tomaž Vajngerl \u003cquikee@gmail.com\u003e\nReviewed-by: Tomaž Vajngerl \u003cquikee@gmail.com\u003e\n"
    },
    {
      "commit": "cb5972e1f6118fcaa4ae6f0a9e53a49bb0cf4350",
      "tree": "a10172749e5012283a7ab102edb93410a80bc8c5",
      "parents": [
        "94281672f0cfc088c0221cdff732399a63cd1762"
      ],
      "author": {
        "name": "Tomaž Vajngerl",
        "email": "tomaz.vajngerl@collabora.co.uk",
        "time": "Fri Mar 27 15:23:17 2026 +0900"
      },
      "committer": {
        "name": "Tomaž Vajngerl",
        "email": "tomaz.vajngerl@collabora.co.uk",
        "time": "Fri Mar 27 15:23:17 2026 +0900"
      },
      "message": "Rename LOKNotifier to KitNotifier\n\nChange-Id: Icc44ca1900b70da16b1a1b2aea4b150a5efd3496\n"
    },
    {
      "commit": "6f217fe441a471bc136392cfee8ff4b4d50c2063",
      "tree": "83f50fca49927ef15305c2db6fdbfa7d14540c7c",
      "parents": [
        "158699df59b2e068b6fbadc86df40a0e15714400"
      ],
      "author": {
        "name": "Tomaž Vajngerl",
        "email": "tomaz.vajngerl@collabora.co.uk",
        "time": "Fri Mar 27 13:13:01 2026 +0900"
      },
      "committer": {
        "name": "Tomaž Vajngerl",
        "email": "tomaz.vajngerl@collabora.co.uk",
        "time": "Fri Mar 27 13:13:01 2026 +0900"
      },
      "message": "Rename mentions of LibreOfficeKit to COKit\n\nThis includes:\n- enum/type names (LibreOfficeKitDocument to COKitDocument,...)\n- struct names (LibreOfficeKitStruct to COKitStruct,...)\n- callback typedefs (LibreOfficeKitCallback to COKitCallback,...)\n- macros (LIBREOFFICEKIT_HAS to COKIT_HAS,...)\n- mentions in comments, strings, and other contexts\n\nChange-Id: I5b2c795b2a6b0f9fee2ddbf2a32df0444bc5314e\n"
    },
    {
      "commit": "d037b8166b929b505d19c56221af416d1a133c44",
      "tree": "5f4765e8741ef14b82cc3833def9326b38c76ce7",
      "parents": [
        "cc52d4c2ca46cc7413e11a528a78a2e44a5a3eae"
      ],
      "author": {
        "name": "Michael Meeks",
        "email": "michael.meeks@collabora.com",
        "time": "Thu Mar 26 15:06:16 2026 +0000"
      },
      "committer": {
        "name": "Michael Meeks",
        "email": "michael.meeks@collabora.com",
        "time": "Thu Mar 26 15:07:02 2026 +0000"
      },
      "message": "Clarify project in source code headers.\n\nChange-Id: I6e6132c03b1b204d96da8e8e18fe7b3070dae81a\n"
    },
    {
      "commit": "50098c8d79d409f7acced090f9a5a2c8e432ae14",
      "tree": "0886d5c365d140a50eeb1626345fea3c531ef95d",
      "parents": [
        "48573e2e40a2c342862f9b72481b6769bd2c3ad0"
      ],
      "author": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Sat Mar 21 12:43:44 2026 +0500"
      },
      "committer": {
        "name": "Miklos Vajna",
        "email": "vmiklos@collabora.com",
        "time": "Mon Mar 23 09:42:58 2026 +0100"
      },
      "message": "tdf#170961: unlock guard during UnoControl::createPeer\n\nA deadlock seen with the following call stacks.\n\nMain thread is trying to paint in a timer event, and is waiting for\nthe UnoControl\u0027s mutex:\n\n  ntdll.dll!NtWaitForAlertByThreadId()\n  ntdll.dll!RtlpWaitOnCriticalSection()\n  ntdll.dll!RtlpEnterCriticalSectionContended()\n  ntdll.dll!RtlEnterCriticalSection()\n  sal3.dll!osl_acquireMutex(_oslMutexImpl * Mutex) Line 65\n  tklo.dll!osl::Mutex::acquire() Line 63\n  tklo.dll!osl::Guard\u003cosl::Mutex\u003e::Guard\u003cosl::Mutex\u003e(osl::Mutex \u0026 t) Line 144\n• tklo.dll!UnoControl::getPosSize() Line 745\n  tklo.dll!UnoDialogControl::getPosSize() Line 104\n  svxcorelo.dll!sdr::contact::`anonymous namespace\u0027::ControlHolder::getPosSize() Line 234\n  svxcorelo.dll!sdr::contact::`anonymous namespace\u0027::ControlHolder::setPosSize(const tools::Rectangle \u0026 _rPosSize) Line 220\n  svxcorelo.dll!sdr::contact::UnoControlContactHelper::adjustControlGeometry_throw(const sdr::contact::`anonymous-namespace\u0027::ControlHolder \u0026 _rControl, const tools::Rectangle \u0026 _rLogicBoundingRect, const basegfx::B2DHomMatrix \u0026 _rViewTransformation, const basegfx::B2DHomMatrix \u0026 _rZoomLevelNormalization) Line 316\n  svxcorelo.dll!sdr::contact::ViewObjectContactOfUnoControl_Impl::positionAndZoomControl(const basegfx::B2DHomMatrix \u0026 _rViewTransformation) Line 940\n  svxcorelo.dll!sdr::contact::ViewObjectContactOfUnoControl::isPrimitiveVisible(const sdr::contact::DisplayInfo \u0026 _rDisplayInfo) Line 1717\n  svxcorelo.dll!sdr::contact::ViewObjectContact::getPrimitive2DSequenceHierarchy(sdr::contact::DisplayInfo \u0026 rDisplayInfo, drawinglayer::primitive2d::Primitive2DDecompositionVisitor \u0026 rVisitor) Line 559\n  svxcorelo.dll!sdr::contact::ViewContact::getPrimitive2DSequenceHierarchyOfIndex(unsigned long a, sdr::contact::DisplayInfo \u0026 rDisplayInfo, sdr::contact::ObjectContact \u0026 rObjectContact, drawinglayer::primitive2d::Primitive2DDecompositionVisitor \u0026 rVisitor) Line 324\n  svxcorelo.dll!sdr::contact::ViewObjectContact::getPrimitive2DSequenceSubHierarchy(sdr::contact::DisplayInfo \u0026 rDisplayInfo, drawinglayer::primitive2d::Primitive2DDecompositionVisitor \u0026 rVisitor) Line 594\n  svxcorelo.dll!sdr::contact::ViewObjectContactOfPageHierarchy::getPrimitive2DSequenceHierarchy(sdr::contact::DisplayInfo \u0026 rDisplayInfo, drawinglayer::primitive2d::Primitive2DDecompositionVisitor \u0026 rVisitor) Line 371\n  svxcorelo.dll!sdr::contact::ViewContact::getPrimitive2DSequenceHierarchyOfIndex(unsigned long a, sdr::contact::DisplayInfo \u0026 rDisplayInfo, sdr::contact::ObjectContact \u0026 rObjectContact, drawinglayer::primitive2d::Primitive2DDecompositionVisitor \u0026 rVisitor) Line 324\n  svxcorelo.dll!sdr::contact::ViewObjectContact::getPrimitive2DSequenceSubHierarchy(sdr::contact::DisplayInfo \u0026 rDisplayInfo, drawinglayer::primitive2d::Primitive2DDecompositionVisitor \u0026 rVisitor) Line 594\n  svxcorelo.dll!sdr::contact::ViewObjectContactOfSdrPage::getPrimitive2DSequenceHierarchy(sdr::contact::DisplayInfo \u0026 rDisplayInfo, drawinglayer::primitive2d::Primitive2DDecompositionVisitor \u0026 rVisitor) Line 569\n  svxcorelo.dll!sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo \u0026 rDisplayInfo) Line 252\n  svxcorelo.dll!sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo \u0026 rDisplayInfo) Line 128\n  svxcorelo.dll!SdrPageWindow::RedrawLayer(const o3tl::strong_int\u003cshort,SdrLayerIDTag\u003e * pId, sdr::contact::ViewObjectContactRedirector * pRedirector, const basegfx::B2IRange * pPageFrame) Line 422\n  svxcorelo.dll!SdrPageView::DrawLayer(o3tl::strong_int\u003cshort,SdrLayerIDTag\u003e nID, OutputDevice * pGivenTarget, sdr::contact::ViewObjectContactRedirector * pRedirector, const tools::Rectangle \u0026 rRect, const basegfx::B2IRange * pPageFrame) Line 304\n  svxcorelo.dll!SdrPaintView::ImpFormLayerDrawing(SdrPaintWindow \u0026 rPaintWindow, sdr::contact::ViewObjectContactRedirector * pRedirector) Line 798\n  svxcorelo.dll!SdrPaintView::EndCompleteRedraw(SdrPaintWindow \u0026 rPaintWindow, bool bPaintFormLayer, sdr::contact::ViewObjectContactRedirector * pRedirector) Line 653\n  svxcorelo.dll!SdrPaintView::EndDrawLayers(SdrPaintWindow \u0026 rPaintWindow, bool bPaintFormLayer, sdr::contact::ViewObjectContactRedirector * pRedirector) Line 726\n  basctllo.dll!basctl::DlgEditor::Paint(OutputDevice \u0026 rRenderContext, const tools::Rectangle \u0026 rRect) Line 564\n  basctllo.dll!basctl::DialogWindow::Paint(OutputDevice \u0026 rRenderContext, const tools::Rectangle \u0026 rRect) Line 124\n  vcllo.dll!PaintHelper::DoPaint(const vcl::Region * pRegion) Line 316\n  vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 618\n  vcllo.dll!PaintHelper::~PaintHelper() Line 553\n  vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624\n  vcllo.dll!PaintHelper::~PaintHelper() Line 553\n  vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624\n  vcllo.dll!PaintHelper::~PaintHelper() Line 553\n  vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624\n  vcllo.dll!PaintHelper::~PaintHelper() Line 553\n  vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624\n  vcllo.dll!PaintHelper::~PaintHelper() Line 553\n  vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624\n  vcllo.dll!PaintHelper::~PaintHelper() Line 553\n  vcllo.dll!vcl::Window::ImplCallPaint(const vcl::Region * pRegion, ImplPaintFlags nPaintFlags) Line 624\n  vcllo.dll!vcl::Window::ImplCallOverlapPaint() Line 645\n  vcllo.dll!vcl::Window::ImplHandlePaintHdl(Timer * __formal) Line 668\n  vcllo.dll!vcl::Window::LinkStubImplHandlePaintHdl(void * instance, Timer * data) Line 649\n  vcllo.dll!Link\u003cTimer *,void\u003e::Call(Timer * data) Line 105\n  vcllo.dll!Timer::Invoke() Line 75\n  vcllo.dll!Scheduler::CallbackTaskScheduling() Line 615\n  vcllo.dll!SalTimer::CallCallback() Line 53\n  vclplug_winlo.dll!WinSalTimer::ImplHandleElapsedTimer() Line 169\n  vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 443\n  vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 499\n  vcllo.dll!InnerYield(bool i_bWait, bool i_bAllEvents) Line 389\n  vcllo.dll!Application::Yield() Line 502\n  vcllo.dll!Application::Execute() Line 365\n  sofficeapp.dll!desktop::Desktop::Main() Line 1681\n  vcllo.dll!ImplSVMain() Line 230\n  vcllo.dll!SVMain() Line 249\n  sofficeapp.dll!soffice_main() Line 122\n  soffice.bin!sal_main() Line 51\n  soffice.bin!main(int argc, char * * argv) Line 49\n  soffice.bin!invoke_main() Line 79\n  soffice.bin!__scrt_common_main_seh() Line 288\n  soffice.bin!__scrt_common_main() Line 331\n  soffice.bin!mainCRTStartup(void * __formal) Line 17\n  kernel32.dll!BaseThreadInitThunk()\n  ntdll.dll!RtlUserThreadStart()\n\nwhile the worker thread is in UnoControl::createPeer, holding the mutex\n(and its calling UnoControlContainer::createPeer is holding the same\nmutex), and is sending a message to the main thread synchronously:\n\n  win32u.dll!NtUserMessageCall()\n  user32.dll!SendMessageWorker()\n  user32.dll!SendMessageInternal(struct HWND__ *,unsigned int,unsigned __int64,__int64,int)\n  user32.dll!SendMessageW()\n  vclplug_winlo.dll!WinSalInstance::SendWndMessage_impl(HWND__ * hWnd, unsigned int Msg, unsigned __int64 wParam, __int64 lParam) Line 689\n  vclplug_winlo.dll!WinSalInstance::SendComWndMessage(unsigned int Msg, unsigned __int64 wParam, __int64 lParam) Line 700\n  vclplug_winlo.dll!WinSalFrame::AcquireGraphics() Line 1015\n  vcllo.dll!vcl::WindowOutputDevice::AcquireGraphics() Line 838\n  vcllo.dll!OutputDevice::IsNativeControlSupported(ControlType nType, ControlPart nPart) Line 140\n  vcllo.dll!vcl::Window::IsNativeControlSupported(ControlType nType, ControlPart nPart) Line 78\n  vcllo.dll!Dialog::ImplInitSettings() Line 526\n  vcllo.dll!Dialog::ImplInitDialog(vcl::Window * pParent, __int64 nStyle, Dialog::InitFlag eFlag) Line 497\n  vcllo.dll!Dialog::Dialog(vcl::Window * pParent, __int64 nStyle, Dialog::InitFlag eFlag) Line 588\n  tklo.dll!toolkit::ScrollableDialog::ScrollableDialog(vcl::Window * pParent, __int64 nStyle, Dialog::InitFlag eFlag) Line 33\n  tklo.dll!VclPtr\u003ctoolkit::ScrollableDialog\u003e::Create\u003cvcl::Window * \u0026,__int64 \u0026\u003e(vcl::Window * \u0026 \u003carg_0\u003e, __int64 \u0026 \u003carg_1\u003e) Line 153\n  tklo.dll!`anonymous namespace\u0027::VCLXToolkit::ImplCreateWindow(rtl::Reference\u003cVCLXWindow\u003e * ppNewComp, const com::sun::star::awt::WindowDescriptor \u0026 rDescriptor, vcl::Window * pParent, __int64 nWinBits, MessBoxStyle nMessBoxStyle) Line 1501\n  tklo.dll!`anonymous namespace\u0027::VCLXToolkit::ImplCreateWindow(const com::sun::star::awt::WindowDescriptor \u0026 rDescriptor, MessBoxStyle nForceMessBoxStyle) Line 1822\n  tklo.dll!`anonymous namespace\u0027::VCLXToolkit::createWindow(const com::sun::star::awt::WindowDescriptor \u0026 rDescriptor) Line 965\n• tklo.dll!UnoControl::createPeer(const com::sun::star::uno::Reference\u003ccom::sun::star::awt::XToolkit\u003e \u0026 rxToolkit, const com::sun::star::uno::Reference\u003ccom::sun::star::awt::XWindowPeer\u003e \u0026 rParentPeer) Line 1262\n  tklo.dll!UnoControlContainer::createPeer(const com::sun::star::uno::Reference\u003ccom::sun::star::awt::XToolkit\u003e \u0026 rxToolkit, const com::sun::star::uno::Reference\u003ccom::sun::star::awt::XWindowPeer\u003e \u0026 rParent) Line 727\n  tklo.dll!UnoDialogControl::createPeer(const com::sun::star::uno::Reference\u003ccom::sun::star::awt::XToolkit\u003e \u0026 rxToolkit, const com::sun::star::uno::Reference\u003ccom::sun::star::awt::XWindowPeer\u003e \u0026 rParentPeer) Line 357\n  tklo.dll!UnoControl::ImplModelPropertiesChanged(const com::sun::star::uno::Sequence\u003ccom::sun::star::beans::PropertyChangeEvent\u003e \u0026 rEvents) Line 610\n  tklo.dll!ControlContainerBase::ImplModelPropertiesChanged(const com::sun::star::uno::Sequence\u003ccom::sun::star::beans::PropertyChangeEvent\u003e \u0026 rEvents) Line 1567\n  tklo.dll!UnoDialogControl::ImplModelPropertiesChanged(const com::sun::star::uno::Sequence\u003ccom::sun::star::beans::PropertyChangeEvent\u003e \u0026 rEvents) Line 650\n  tklo.dll!UnoControl::propertiesChange(const com::sun::star::uno::Sequence\u003ccom::sun::star::beans::PropertyChangeEvent\u003e \u0026 rEvents) Line 420\n  cppuhelper3MSC.dll!cppu::OPropertySetHelper::fire(long * pnHandles, const com::sun::star::uno::Any * pNewValues, const com::sun::star::uno::Any * pOldValues, long nHandles, unsigned char bVetoable) Line 779\n  comphelper.dll!comphelper::OPropertySetAggregationHelper::propertiesChange(const com::sun::star::uno::Sequence\u003ccom::sun::star::beans::PropertyChangeEvent\u003e \u0026 _rEvents) Line 398\n  comphelper.dll!comphelper::OPropertySetHelper::fire(std::unique_lock\u003cstd::mutex\u003e \u0026 rGuard, const long * pnHandles, const com::sun::star::uno::Any * pNewValues, const com::sun::star::uno::Any * pOldValues, long nHandles, bool bVetoable) Line 594\n  comphelper.dll!comphelper::OPropertySetHelper::impl_fireAll(std::unique_lock\u003cstd::mutex\u003e \u0026 rGuard, long * i_handles, const com::sun::star::uno::Any * i_newValues, const com::sun::star::uno::Any * i_oldValues, long i_count) Line 487\n  comphelper.dll!comphelper::OPropertySetHelper::setFastPropertyValues(std::unique_lock\u003cstd::mutex\u003e \u0026 rGuard, long nSeqLen, long * pHandles, const com::sun::star::uno::Any * pValues, long nHitCount) Line 748\n  tklo.dll!UnoControlModel::setFastPropertyValueImpl(std::unique_lock\u003cstd::mutex\u003e \u0026 rGuard, long nPropId, const com::sun::star::uno::Any \u0026 rValue) Line 1247\n  comphelper.dll!comphelper::OPropertySetHelper::setFastPropertyValue(long nHandle, const com::sun::star::uno::Any \u0026 rValue) Line 393\n  comphelper.dll!comphelper::OPropertySetAggregationHelper::setFastPropertyValue(long _nHandle, const com::sun::star::uno::Any \u0026 _rValue) Line 528\n  cppuhelper3MSC.dll!cppu::OPropertySetHelper::setPropertyValue(const rtl::OUString \u0026 rPropertyName, const com::sun::star::uno::Any \u0026 rValue) Line 264\n  pcrlo.dll!pcr::EditPropertyHandler::setPropertyValue(const rtl::OUString \u0026 _rPropertyName, const com::sun::star::uno::Any \u0026 _rValue) Line 147\n  pcrlo.dll!pcr::OPropertyBrowserController::Commit(const rtl::OUString \u0026 rName, const com::sun::star::uno::Any \u0026 _rValue) Line 1326\n  pcrlo.dll!pcr::OBrowserListBox::valueChanged(const com::sun::star::uno::Reference\u003ccom::sun::star::inspection::XPropertyControl\u003e \u0026 _rxControl) Line 637\n  pcrlo.dll!pcr::PropertyControlContext_Impl::impl_processEvent_throw(const comphelper::AnyEvent \u0026 _rEvent) Line 291\n  pcrlo.dll!pcr::PropertyControlContext_Impl::processEvent(const comphelper::AnyEvent \u0026 _rEvent) Line 272\n  comphelper.dll!comphelper::AsyncEventNotifierBase::execute() Line 138\n  comphelper.dll!comphelper::AsyncEventNotifier::execute() Line 155\n  salhelper3MSC.dll!salhelper::Thread::run() Line 40\n  salhelper3MSC.dll!threadFunc(void * param) Line 190\n  sal3.dll!oslWorkerWrapperFunction(void * pData) Line 67\n  ucrtbased.dll!thread_start\u003cunsigned int (__cdecl*)(void *),1\u003e(void * const parameter) Line 97\n  kernel32.dll!BaseThreadInitThunk()\n  ntdll.dll!RtlUserThreadStart()\n\nChange-Id: Ie36fe63b7de9cd04570a3ca625ff5ffa13806d91\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/202295\nTested-by: Jenkins CollaboraOffice \u003cjenkinscollaboraoffice@gmail.com\u003e\nReviewed-by: Miklos Vajna \u003cvmiklos@collabora.com\u003e\n"
    },
    {
      "commit": "67ddb2f7591a49eb06516c8cc408e2c242540a6c",
      "tree": "f1e5b6e6bbdac62f5667e329e6da754b1a7058a8",
      "parents": [
        "ba9063e35450f600b9761cd057ccbe804fc0afcb"
      ],
      "author": {
        "name": "Samuel Mehrbrodt",
        "email": "samuel.mehrbrodt@collabora.com",
        "time": "Mon Feb 23 15:34:18 2026 +0100"
      },
      "committer": {
        "name": "Samuel Mehrbrodt",
        "email": "samuel.mehrbrodt@collabora.com",
        "time": "Mon Mar 09 13:02:46 2026 +0100"
      },
      "message": "Add missing BASEPROPERTY_REFERER default\n\nFixes warnings like:\n  warn:legacy.osl:1638172:1638172:toolkit/source/controls/unocontrolmodel.cxx:376: ImplGetDefaultValue - unknown Property\n\nChange-Id: I4118c01770fc3404c064b58deeba94655d83e670\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/200061\nReviewed-by: Samuel Mehrbrodt \u003csamuel.mehrbrodt@collabora.com\u003e\nTested-by: Jenkins\n(cherry picked from commit ea43b6506ea51141652a68e51023f1e32d1d4c73)\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/201259\nTested-by: Jenkins CollaboraOffice \u003cjenkinscollaboraoffice@gmail.com\u003e\n"
    },
    {
      "commit": "e3ea978616dcbb0c667cba70f711508c79b5625c",
      "tree": "221b4e8fa2ad6061ee0f6fe53ec4c8251233f295",
      "parents": [
        "2feb36d92e270240019ff5681466fc4ac97a5405"
      ],
      "author": {
        "name": "Christopher Sherlock",
        "email": "chris.sherlock79@gmail.com",
        "time": "Wed Sep 17 05:08:45 2025 +1000"
      },
      "committer": {
        "name": "Tomaž Vajngerl",
        "email": "quikee@gmail.com",
        "time": "Tue Nov 11 07:16:00 2025 +0100"
      },
      "message": "vcl: remove OutputDevice::DrawBitmapEx()\n\nThis also streamlines DrawBitmapWallpaper()\n\nChange-Id: I694667147319ba9d235348068ed8fc811447fae5\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/190898\nTested-by: Jenkins\nReviewed-by: Tomaž Vajngerl \u003cquikee@gmail.com\u003e\n"
    },
    {
      "commit": "e1f30355de2251bf6ac2e069b1fd231bf9fd84aa",
      "tree": "549dc942e5a3e50fa2370ed8ea874a01db3ec2c9",
      "parents": [
        "83a030d30510d6851819c6d9e379cff934d735d8"
      ],
      "author": {
        "name": "Caolán McNamara",
        "email": "caolan.mcnamara@collabora.com",
        "time": "Sat Nov 08 21:07:20 2025 +0000"
      },
      "committer": {
        "name": "Caolán McNamara",
        "email": "caolan.mcnamara@collabora.com",
        "time": "Sun Nov 09 11:29:33 2025 +0100"
      },
      "message": "tdf#168788 return empty any for empty string for Numeric/Currency Controls\n\nwhich is what Formatted Controls do\n\nChange-Id: I7991a3e404bc2bef04bca62f52aa1ca8388b1f44\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/193635\nTested-by: Jenkins\nReviewed-by: Caolán McNamara \u003ccaolan.mcnamara@collabora.com\u003e\n"
    },
    {
      "commit": "fd2e467ba3320c99d8f4856784c7ccd0912a08a7",
      "tree": "8bcbdfed7b80024b3c2b16908eebb4573363b874",
      "parents": [
        "cbfda0dd1a7e0b6cb61774ffaffb3ec39e8e6ae3"
      ],
      "author": {
        "name": "Gabor Kelemen",
        "email": "gabor.kelemen@collabora.com",
        "time": "Mon Oct 13 22:05:00 2025 +0200"
      },
      "committer": {
        "name": "Gabor Kelemen",
        "email": "gabor.kelemen.extern@allotropia.de",
        "time": "Sat Nov 08 09:37:19 2025 +0100"
      },
      "message": "tdf#146619 Run IWYU in fw decl mode on include/[a-c]*\n\nAfter recent commit 851fb757794ccd107553ac6141aa36c05a61820d\nrecheck these directories in include/ again\nto test drive the new --headersfwd mode of bin/find-unneeded-includes\n\nChange-Id: I0ede437c4f9958cd98210ed1760a5b98ea8bd1ad\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/192377\nTested-by: Jenkins\nReviewed-by: Gabor Kelemen \u003cgabor.kelemen@collabora.com\u003e\n"
    },
    {
      "commit": "a20e7520c378a94c4ebe86aad2620078f8c6c7f5",
      "tree": "7796cceceb4fbb177aeee4392dd22fafbd6e024f",
      "parents": [
        "47521abc606e30be4ea14c4ea69ae8276413e8c7"
      ],
      "author": {
        "name": "Gabor Kelemen",
        "email": "gabor.kelemen@collabora.com",
        "time": "Fri Oct 03 16:05:14 2025 +0200"
      },
      "committer": {
        "name": "Gabor Kelemen",
        "email": "gabor.kelemen.extern@allotropia.de",
        "time": "Tue Oct 14 19:44:19 2025 +0200"
      },
      "message": "Sanity check all IwyuFilter files\n\nThis should not complain anymore:\n\nfor i in $(ls -1 */*yaml) ; do mod\u003d$(echo \"$i\" | cut -d \u0027/\u0027 -f1 ) ; bin/find-unneeded-includes --sanitycheck \"$mod\"; done\n\nChange-Id: I5c4b99f5cb58c6f696b127c81edd6d323104cd7a\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/191829\nTested-by: Jenkins\nReviewed-by: Gabor Kelemen \u003cgabor.kelemen.extern@allotropia.de\u003e\n"
    },
    {
      "commit": "752083b08c7bf706caf7d19d67b32c72e2e2b43e",
      "tree": "965f0af6d1f18fa5f4c8a9c7faa67d92710b5805",
      "parents": [
        "cf1403343d74ab0056626b5fc292e5f99cd412cd"
      ],
      "author": {
        "name": "Gabor Kelemen",
        "email": "gabor.kelemen@collabora.com",
        "time": "Mon Sep 15 22:05:24 2025 +0200"
      },
      "committer": {
        "name": "Gabor Kelemen",
        "email": "gabor.kelemen.extern@allotropia.de",
        "time": "Wed Sep 17 19:23:35 2025 +0200"
      },
      "message": "IWYU: drop some exceptions related to rtl::math and std::\n\nat least recent 0.24 no longer warns about these\n\nChange-Id: I1f7c4069df7d47bcd720298c93d71fd6c7bbed9b\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/191002\nReviewed-by: Gabor Kelemen \u003cgabor.kelemen.extern@allotropia.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "c6af3d93b6f2603f7ea6c898742876198ca557e1",
      "tree": "fe380fc28b95c710f9b907b831fc29b9bc3d8863",
      "parents": [
        "89b0b449d8f64aef0a15fe9d1485061a91da7150"
      ],
      "author": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Thu Sep 11 11:32:50 2025 +0500"
      },
      "committer": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Fri Sep 12 05:09:34 2025 +0200"
      },
      "message": "Use a bit more standard null date\n\nThe two places in cellvalueconversion.cxx using the null date were\nintroduced in commit a7e949673cda3f0e2abfa49b2c22735f33205d01\n(gridfixes: #i117265# use a NumberFormatter for converting cell\nvalues to text., 2012-09-14); they are used together, so that the\ncode in lcl_convertDateToDays uses the same epoch as defined in\nthe respective number formatter, and the obtained number value is\nonly ever used inside convertToString in a call to the formatter\u0027s\nconvertNumberToString. The old value was arbitrary; and the new\nvalue has some optimizations in the code (see Date::DateToDays and\ncomphelper::date::convertDateToDaysNormalizing called from it).\n\nChange-Id: I9c050d26ace1cf3fccde579d0d91c00f26bb3fd8\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/190788\nTested-by: Jenkins\nReviewed-by: Mike Kaganski \u003cmike.kaganski@collabora.com\u003e\n"
    },
    {
      "commit": "e97e2bd61c2a0a4fc75c3726eea280df6a7448b2",
      "tree": "782d9a439bc06ceb19d095feab6cc2ae657c708c",
      "parents": [
        "9b74900076e9d1e6835aa17763568f339464b0f2"
      ],
      "author": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Thu Sep 11 11:45:43 2025 +0200"
      },
      "committer": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Thu Sep 11 19:55:34 2025 +0200"
      },
      "message": "Use try_emplace to avoid second lookup\n\nChange-Id: I7629e7b5fd8b30fd2f7ffafbafcd18bef44b5f2d\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/190810\nTested-by: Jenkins\nReviewed-by: Mike Kaganski \u003cmike.kaganski@collabora.com\u003e\n"
    },
    {
      "commit": "84e570b237829f6ed16c10b0a9bcc0e947e57796",
      "tree": "7585ca0a8f5d6156aff9edc9a29ea788581eabdd",
      "parents": [
        "469f5e771395df7ee2d464f4e6f4eecac466a9a8"
      ],
      "author": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Thu Sep 11 11:18:55 2025 +0500"
      },
      "committer": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Thu Sep 11 11:33:39 2025 +0200"
      },
      "message": "No need for shared_ptr overhead here\n\nThe normalizers are owned and used only internally; their lifetime\ncan be controlled using unique_ptr, and getValueNormalizer can\nreturn a bare pointer, instead of a boolean plus an out parameter.\n\nChange-Id: I3e4dca8dec00196a1558d6215316552efde7b906\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/190786\nReviewed-by: Mike Kaganski \u003cmike.kaganski@collabora.com\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "6d0e5ddedec1314dfb8b99db73d171254f0714ed",
      "tree": "5d3937c3e12fe858f2010b081b6d387f8608b63f",
      "parents": [
        "a65a224c2b1b9b5fcccfb04ca14d37a8d615b85e"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Fri Sep 05 16:01:33 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Fri Sep 05 19:45:45 2025 +0200"
      },
      "message": "remove BitmapEx\n\nall use-sites have been converted to Bitmap\n\nChange-Id: I1a8842217a266eef100bd387ab013b004e532256\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/190618\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "e957f0dfcb016c0b6ebe8f69d6f52e6bfbee0083",
      "tree": "d839799d0d3d97f7bcbafa6a4276e0df088f5d10",
      "parents": [
        "d99f6b2cb1c1da8a9261e85794094b2b83d8f63b"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Mon Sep 01 09:53:07 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Mon Sep 01 13:51:50 2025 +0200"
      },
      "message": "BitmapEx-\u003eBitmap in VCLXBitmap\n\nnow that Bitmap supports transparency\n\nChange-Id: I526297240f6192d3ea8665a7ce6873f05c8c1363\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/190465\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "c58495761fdc59ffcc22ba1aa8a3cdaf00d3c4f9",
      "tree": "296c3173ff4ca25c155f267de8551c7e2a6372a3",
      "parents": [
        "96b651f9a1fbd1b0d1433248702a52e37f92fad4"
      ],
      "author": {
        "name": "Teemu Pöytäniemi",
        "email": "teemu.poytaniemi@windowslive.com",
        "time": "Sun Aug 31 12:57:10 2025 +0300"
      },
      "committer": {
        "name": "Ilmari Lauhakangas",
        "email": "ilmari.lauhakangas@libreoffice.org",
        "time": "Sun Aug 31 17:13:02 2025 +0200"
      },
      "message": "tdf#143148 Use pragma once instead of include guards\n\nChange-Id: I0327e227dd5a79d78eb95fbe8a2181b3b2aba7b6\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/190432\nTested-by: Ilmari Lauhakangas \u003cilmari.lauhakangas@libreoffice.org\u003e\nTested-by: Jenkins\nReviewed-by: Ilmari Lauhakangas \u003cilmari.lauhakangas@libreoffice.org\u003e\n"
    },
    {
      "commit": "8703e945331358d316c6b256698adcd3783ea37f",
      "tree": "b18d82be17ee3c613fd4ccb0d25f1808bc6a0ae6",
      "parents": [
        "e0c66069e9734d4af9e877b1ec32644b843d0e10"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Tue Aug 26 18:31:53 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Tue Aug 26 21:11:09 2025 +0200"
      },
      "message": "BitmapEx-\u003eBitmap in UnoGraphicProvider\n\nChange-Id: Idd0cde234f366425b1176f4abc87446a3da5ad5c\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/190239\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "e6211a4b3bd74f2bf392fd5cda7dea51552cd250",
      "tree": "46d4c7cc7172b0df0cfe074db0c10e69338fda08",
      "parents": [
        "1801ac9250859f795272e1c3f1aa03b3eddc11bc"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Mon Aug 25 08:37:12 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Mon Aug 25 12:59:18 2025 +0200"
      },
      "message": "BitmapEx-\u003eBitmap in various\n\nnow that Bitmap supports transparency\n\nChange-Id: If946687832cf30db70db9749e5aeed38ab1490c9\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/190149\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "7841de4bf726fb1b8785cdbbe48c0a7b6b4d3b5d",
      "tree": "9626bfbbcd736fc731f20f761bd6e6114616ac3d",
      "parents": [
        "918c409e63e72447a351344e9bca394275fe7508"
      ],
      "author": {
        "name": "Caolán McNamara",
        "email": "caolan.mcnamara@collabora.com",
        "time": "Sun Aug 17 12:10:33 2025 +0100"
      },
      "committer": {
        "name": "Caolán McNamara",
        "email": "caolan.mcnamara@collabora.com",
        "time": "Mon Aug 18 12:40:58 2025 +0200"
      },
      "message": "drop outdated coverity directives\n\nChange-Id: Icbe3f0bb9433cfcf08efd28bc4eab1ba82efab74\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/189850\nTested-by: Jenkins\nReviewed-by: Caolán McNamara \u003ccaolan.mcnamara@collabora.com\u003e\n"
    },
    {
      "commit": "c1c8c1352bb9d412c1546bff1916d201347df330",
      "tree": "7681ee7aee6588fe09760633b7877292ec5100ce",
      "parents": [
        "2a3039e3d0617c5253061890a0e102561dbbed68"
      ],
      "author": {
        "name": "Tomaž Vajngerl",
        "email": "tomaz.vajngerl@collabora.co.uk",
        "time": "Sun Aug 10 21:41:30 2025 +0200"
      },
      "committer": {
        "name": "Tomaž Vajngerl",
        "email": "quikee@gmail.com",
        "time": "Mon Aug 18 08:45:58 2025 +0200"
      },
      "message": "toolkit: use frozen::unordered_map to convert component types\n\nChange-Id: Ib07104a594269ea8017ae7e8e27120c36a289718\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/189321\nTested-by: Jenkins\nReviewed-by: Tomaž Vajngerl \u003cquikee@gmail.com\u003e\n"
    },
    {
      "commit": "b68633e21cc73bbffee06859a1c495fc4e25140a",
      "tree": "d614550af6e6fd2026ca75787bc19a9d79dc0a0f",
      "parents": [
        "f70e18ab72b695cb237e51c281f1e421ce202f4c"
      ],
      "author": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Sat Aug 16 23:42:37 2025 +0500"
      },
      "committer": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Sun Aug 17 09:44:41 2025 +0200"
      },
      "message": "Use OutputDevice::ScopedPush in various\n\nChange-Id: I1eb4340c603bae6a62fa676534ffb21fe2316649\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/189806\nTested-by: Jenkins\nReviewed-by: Mike Kaganski \u003cmike.kaganski@collabora.com\u003e\n"
    },
    {
      "commit": "fb80e10994bd997ef9589defc6310939a3836854",
      "tree": "839f239a0e16a6218720ca9ce3ca0ff550582472",
      "parents": [
        "9effdf988468cac239d49cd1c4f8deae06931f0a"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Fri Aug 15 08:28:35 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Fri Aug 15 11:01:31 2025 +0200"
      },
      "message": "toolkit: Use OUString, range-based for\n\nChange-Id: I6a731cbef76be5f23e2c1ddc43b0acf9fff1212a\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/189659\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "9effdf988468cac239d49cd1c4f8deae06931f0a",
      "tree": "a7289a14daff51d2f9f5f7a4bcb40cece4e636d5",
      "parents": [
        "59dc7c8f1133e5687c1441c6b3b3eeda597c4f78"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Fri Aug 15 08:24:40 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Fri Aug 15 11:01:26 2025 +0200"
      },
      "message": "toolkit: Simplify lcl_convertMessageBoxType\n\nThe bool return value is unused.\nDrop it and use a string return value instead of an out\nparam.\n\nChange-Id: Icd13b882cbeec25029d571988cc722e396361aab\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/189658\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "3e6b8ab487dd553e6b852bf5e22d7c5b47361868",
      "tree": "1401abde664ed97c6e85ef8c8c82592426dbf362",
      "parents": [
        "b5ac0615c6274f706303dcf9854cc2a6f6b15e91"
      ],
      "author": {
        "name": "Tomaž Vajngerl",
        "email": "tomaz.vajngerl@collabora.co.uk",
        "time": "Fri Aug 08 10:25:48 2025 +0200"
      },
      "committer": {
        "name": "Tomaž Vajngerl",
        "email": "quikee@gmail.com",
        "time": "Sat Aug 09 09:20:50 2025 +0200"
      },
      "message": "simplify - no need to explicitly cast to u16string_view\n\nChange-Id: I2c187a1a01fa3e570135eb76cfbd20d03bafdcbd\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/189163\nReviewed-by: Tomaž Vajngerl \u003cquikee@gmail.com\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "b1ec05b4b1928433cd8c9130b0ae78ba62269537",
      "tree": "e2750ab7c12c0f7ef6a62a9411d851d0422268fa",
      "parents": [
        "87ef004115d07c16fe4899b3d423cc16a12a0fce"
      ],
      "author": {
        "name": "Caolán McNamara",
        "email": "caolan.mcnamara@collabora.com",
        "time": "Thu Aug 07 08:35:00 2025 +0100"
      },
      "committer": {
        "name": "Caolán McNamara",
        "email": "caolan.mcnamara@collabora.com",
        "time": "Thu Aug 07 20:51:26 2025 +0200"
      },
      "message": "cid#1662031 Variable copied when it could be moved\n\nand\n\ncid#1660225 Variable copied when it could be moved\ncid#1660211 Variable copied when it could be moved\ncid#1660185 Variable copied when it could be moved\ncid#1660173 Variable copied when it could be moved\ncid#1660168 Variable copied when it could be moved\ncid#1660166 Variable copied when it could be moved\ncid#1660165 Variable copied when it could be moved\ncid#1660163 Variable copied when it could be moved\ncid#1660152 Variable copied when it could be moved\ncid#1660149 Variable copied when it could be moved\ncid#1660147 Variable copied when it could be moved\ncid#1660145 Variable copied when it could be moved\ncid#1660142 Variable copied when it could be moved\ncid#1660140 Variable copied when it could be moved\ncid#1660137 Variable copied when it could be moved\ncid#1660136 Variable copied when it could be moved\ncid#1660135 Variable copied when it could be moved\ncid#1660128 Variable copied when it could be moved\ncid#1660124 Variable copied when it could be moved\ncid#1660122 Variable copied when it could be moved\ncid#1660117 Variable copied when it could be moved\ncid#1660114 Variable copied when it could be moved\ncid#1660110 Variable copied when it could be moved\ncid#1660109 Variable copied when it could be moved\ncid#1660105 Variable copied when it could be moved\ncid#1660104 Variable copied when it could be moved\ncid#1660102 Variable copied when it could be moved\ncid#1660100 Variable copied when it could be moved\ncid#1660098 Variable copied when it could be moved\ncid#1660080 Variable copied when it could be moved\ncid#1660079 Variable copied when it could be moved\ncid#1660078 Variable copied when it could be moved\ncid#1660075 Variable copied when it could be moved\ncid#1660071 Variable copied when it could be moved\ncid#1660070 Variable copied when it could be moved\ncid#1660064 Variable copied when it could be moved\ncid#1660063 Variable copied when it could be moved\ncid#1660060 Variable copied when it could be moved\ncid#1660058 Variable copied when it could be moved\ncid#1660053 Variable copied when it could be moved\ncid#1660050 Variable copied when it could be moved\ncid#1660049 Variable copied when it could be moved\ncid#1660046 Variable copied when it could be moved\ncid#1660042 Variable copied when it could be moved\ncid#1660028 Variable copied when it could be moved\ncid#1660023 Variable copied when it could be moved\ncid#1660022 Variable copied when it could be moved\ncid#1660021 Variable copied when it could be moved\ncid#1660020 Variable copied when it could be moved\ncid#1660017 Variable copied when it could be moved\ncid#1660013 Variable copied when it could be moved\ncid#1660005 Variable copied when it could be moved\ncid#1660003 Variable copied when it could be moved\ncid#1659999 Variable copied when it could be moved\ncid#1659998 Variable copied when it could be moved\ncid#1659995 Variable copied when it could be moved\ncid#1659993 Variable copied when it could be moved\ncid#1659989 Variable copied when it could be moved\ncid#1659988 Variable copied when it could be moved\n\nChange-Id: I2a30c8a2ac8785050d49b98635b0b406535b185a\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/189056\nReviewed-by: Caolán McNamara \u003ccaolan.mcnamara@collabora.com\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "2ff6d0a32bdb1750ea1e316ad2b6c7bdd2e9b3f3",
      "tree": "70793b65c67c2d0ad4bd6332199800012ce32518",
      "parents": [
        "d3563415352dedcbe605b4d38e6e2f5a9d9f9dc0"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Tue Aug 05 19:50:42 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Tue Aug 05 22:23:31 2025 +0200"
      },
      "message": "BitmapEx-\u003eBitmap in VCLXBitmap\n\nnow that Bitmap can handle transparency\n\nChange-Id: Ib210be6432741b20659aba63d081715cb9110924\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188970\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "0a4405f9aa277ec41a3f2152daff264eae098262",
      "tree": "6ac9ddd8fe3da3293ae72f54eab7c75cf3d9e344",
      "parents": [
        "282c6ade098478d689bb8c12e1d62ea502c2df24"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Tue Aug 05 19:29:16 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Tue Aug 05 21:07:56 2025 +0200"
      },
      "message": "BitmapEx-\u003eBitmap in VCLUnoHelper::CreateBitmap\n\nnow that Bitmap can handle transparency\n\nChange-Id: I1de94ef39e00d16b052573ee323886953b574570\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188968\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "62d1a50659bfbf472748d844fba0f58be2d11c30",
      "tree": "e2dc463426370079d2a6899e43078e5ae16b9de3",
      "parents": [
        "6ab8d4d1ebb0be9721099d628b105cd1a90e289b"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Sat Aug 02 14:38:10 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sat Aug 02 18:34:08 2025 +0200"
      },
      "message": "BitmapEx-\u003eBitmap in Image\n\nNow that Bitmap can handle transparency\n\nChange-Id: Ic97b5fea315edfb8a5c9c5adb306a8b4f1c97f5b\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188822\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "dd19b689eee092de9fe886c5776b0a2afdf578e5",
      "tree": "1ea8cdbe8d69f99fecd33b5eec5a5ba9657b2e78",
      "parents": [
        "5255279d639a1dcb93613ba1c9e037d4ea159163"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jul 30 17:16:33 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Fri Aug 01 11:32:09 2025 +0200"
      },
      "message": "a11y tests: Use OAccessible for Window accessible\n\nLet test::AccessibleTestBase::getWindowAccessible\nreturn an OAccessible and drop\ntest::AccessibleTestBase::getWindowAccessibleContext,\nas OAccessible implements the XAccessibleContext\ninterface as well.\n\nChange-Id: I50308897a1539521f09fae0b13a56813077c7cc4\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188635\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "4515d4ced5019e449197e318446fb4192d1ccb2b",
      "tree": "abcc258e67b58eafdb51ab668e4a31fa5a771054",
      "parents": [
        "d2ac14f3ce07b5571b0daaa8bb021880f3c3219a"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Thu Jul 31 13:42:56 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Thu Jul 31 20:15:05 2025 +0200"
      },
      "message": "BitmapEx-\u003eBitmap in ORoadmap\n\nnow that Bitmap can handle transparency\n\nChange-Id: I163ad1a2e5a6fa2598e17b20bbd44a1aab61e261\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188665\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "09ba6c5896e448cc5f596b502c40470c6fc774ef",
      "tree": "7b522443d40429803d0cefff04f8bc163dcef54d",
      "parents": [
        "592b186c59198fde8a65a4e32b845f21b34df8ad"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jul 30 08:25:23 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jul 31 06:07:22 2025 +0200"
      },
      "message": "toolkit a11y: Use OAccessible in UnoControl::getAccessibleContext\n\nChange-Id: I49f44b4e3a613b6f2338cf34cc56f77d16262081\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188580\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "592b186c59198fde8a65a4e32b845f21b34df8ad",
      "tree": "4efdd388f903134ea9fc123956f20bcf1fc05d1b",
      "parents": [
        "d56a43d82db02bae839fa714e259ffa410e407b6"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jul 30 08:23:18 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jul 31 06:07:15 2025 +0200"
      },
      "message": "toolkit a11y: Drop redundant OAccessible::getAccessibleContext call\n\nIt returns a pointer to self.\n\nChange-Id: I1826258b52ce9b4222771967e5640fb8e452c419\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188579\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "02ea6bde72dad86560a2425a5141c7e87ddbc8d0",
      "tree": "13fc0bd4f3c8e11792370c1165fb5586cb40c256",
      "parents": [
        "6f3a82a46f2b69d90a130b0f8613f8a8782801b1"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sun Jul 27 13:47:16 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Mon Jul 28 16:40:18 2025 +0200"
      },
      "message": "BitmapEx-\u003eBitmap in CachedSortIndicator\n\nsince Bitmap can how handle transparency\n\nChange-Id: If4364ced24486bb32879d7759d9702f943fc09a1\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188444\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "e435c0749b9a66e6e8c77b969c976ad4030b60e0",
      "tree": "c5d322abee08aa2e1942c2fc8ee7e4dd8097c10d",
      "parents": [
        "1a43e98b14bcbbfe7e04799fe894cd15d569f1d0"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Fri Jul 25 15:06:07 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Fri Jul 25 22:34:31 2025 +0200"
      },
      "message": "drop OutputDevice::GetBitmapEx in favour of returning Bitmap\n\nas part of the project of removing BitmapEx in favour of Bitmap, now that we can store RGBA data in Bitmap.\n\nThis mostly just moves the Bitmap-\u003eBitmapEx from inside OutputDevice to the various call sites,\nfrom where I can make further improvements.\n\nChange-Id: Id5366c1eb5ebca98fee7c974737552f4a09a5c2f\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188341\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "fcee7631232dc0ad0d8d73f3ac9f5e8c663e4d77",
      "tree": "07d07a6ebd264930ce17d949ae76e3c62d32bb86",
      "parents": [
        "e69481201ec6b877e08e540e64f3ca271c71588e"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jul 24 12:06:06 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jul 24 15:45:01 2025 +0200"
      },
      "message": "vcl dnd: Consolidate drop target retrieval, avoid casting\n\nReturn a reference to the concrete DNDListenerContainer\ninstance instead of one to the abstract\ncss::datatransfer::dnd::XDropTarget interface in\nWindow::GetDropTarget.\n\nThis allows to drop Window::GetDragGestureRecognizer\nwhich was returning a reference to the\ncss::datatransfer::dnd::XDragGestureRecognizer interface\nfor the exact same object, so can now use\nWindow::GetDropTarget directly instead, which drops the\nneed to query for the other interface.\n\nDNDEventDispatcher was already assuming that a\nDNDListenerContainer object was returned and\ncasting to that, which is no longer needed now.\n\nChange-Id: Ib7ea7cdb0650ba2410b112774f475b4799901538\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188271\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "842f0019fa8129f1fa96fde070aaf34e5aa6d796",
      "tree": "7a12e11d7a25d0e828652593e057aa5eea203c82",
      "parents": [
        "96b000afaea31380fc346901a687e4d62fb8d6d0"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jul 22 17:29:56 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jul 23 08:00:41 2025 +0200"
      },
      "message": "vcl a11y: Return OAccessible in vcl::Window::GetAccessible\n\nBy now, the accessible is known to always be an OAccessible,\nso return that more specific type instead of a Reference to\nthe abstract XAccessible interface.\n\nChange-Id: I60f6b2d6465abfcb04d4ee7d3a26bce69fccded3\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188182\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "7c036efe76a6631aaf998451f7b1c55d2ad8956a",
      "tree": "6a1ceab9f5959cf4ce7f0a40dc849105f6f59822",
      "parents": [
        "ba9ecfc57aa1541ac6f6f0c86a48e46532d7653e"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jul 22 16:38:52 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jul 23 08:00:28 2025 +0200"
      },
      "message": "vcl a11y: Return OAccessible in vcl::Window::CreateAccessible\n\nBy now, the accessible is known to always be an OAccessible,\nso return that more specific type instead of a Reference to\nthe abstract XAccessible interface.\n\nChange-Id: Ie8f5318fb35d2fdeb59ac97452e2e27971c6b5a5\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/188180\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "d416ed02fef33f12f649d8a40801a8ada354e212",
      "tree": "ca9f330ded58cc509fe771ed357379c4588abef0",
      "parents": [
        "38948107c6255d93d8445db7577c34e0b9f63a85"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sat Jul 12 14:10:04 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sat Jul 12 20:34:10 2025 +0200"
      },
      "message": "rather return optional data via an optional param\n\ninstead of a combination data of a bool param and an optional\ndata in a struct\n\nChange-Id: I67338b55fc38bbe053e1e13dea92f6c76389663b\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/187773\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "f7db96b3e3e6c2c1f310cd9c4af7f4c471b268e4",
      "tree": "00cdfb5f08e4622a13420598bb9db68beba3b987",
      "parents": [
        "a7eecff4295a5e1b0d09aaccedef6c2fe92d10c2"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 26 14:34:31 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Fri Jun 27 09:09:04 2025 +0200"
      },
      "message": "toolkit a11y test: Pass param by const ref\n\n... and consistently spell out the css:: prefix for both params.\n\nChange-Id: Idf92f00a04093ad23852b0008ffbb55a7bbd1c5b\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/187047\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "9918013d3dac42876ef60ec80bde4b4212a5a667",
      "tree": "66207313d7564ade5a9359499957569f7952aba4",
      "parents": [
        "afeaa37fe3bbba077a0fc2cb4c2ed36a86a52be7"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 25 10:35:03 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 26 13:10:04 2025 +0200"
      },
      "message": "toolkit a11y: clang-format AccessibleGridControlCell\n\nThis in particular gets rid of one extra level of\nindentation.\n\nChange-Id: I6a97f022fb2f75747cabd470c1512ee624918a90\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186955\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "afeaa37fe3bbba077a0fc2cb4c2ed36a86a52be7",
      "tree": "372df362cea9ebae331cf93659587faed4755559",
      "parents": [
        "e7e3a51c325cd6e0379905abdf6e8214fa7af8b5"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 25 10:32:12 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 26 13:09:57 2025 +0200"
      },
      "message": "toolkit a11y: clang-format OAccessibleControlContext\n\nThis in particular gets rid of one extra level\nof indentation.\n\nChange-Id: Ide185fc1dcab05bb95384e9f9b536e461d39a2d5\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186954\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "e7e3a51c325cd6e0379905abdf6e8214fa7af8b5",
      "tree": "9f86b28af6a6584833a572c0e22d160acb324a8f",
      "parents": [
        "671b8cad97747d1d850b0460b412c8d5d44d7296"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 25 10:25:53 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 26 13:09:50 2025 +0200"
      },
      "message": "a11y: Rename OAccessible source and header file\n\nRename files accordingly after the class\nwas renamed in previous commit\n\n    Change-Id: I33210b47cda5f71820a3c0fa657e4c3548d45732\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Wed Jun 25 10:15:23 2025 +0200\n\n        a11y: Rename OAccessibleComponentHelper to OAccessible\n\nChange-Id: I1d38d124af685960c0170601e930da516ce2ead3\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186953\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "671b8cad97747d1d850b0460b412c8d5d44d7296",
      "tree": "60b3280ad9d5f7582fbef45167525f5e17d76bac",
      "parents": [
        "785024705dc50d60247458003197e4b8e38e90a3"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 25 10:15:23 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 26 13:09:41 2025 +0200"
      },
      "message": "a11y: Rename OAccessibleComponentHelper to OAccessible\n\nThe helper class used to implement less functionality\nin the past and was used less than it is now.\nBut by now it is the central helper/base class used\nby most a11y classes.\n\nSince\n\n    commit 22049f633b4131f607358db41c7a1fc6b9f4c464\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Mon May 26 12:24:52 2025 +0200\n\n        vcl a11y: Let OAccessibleComponentHelper implement XAccessible\n\nit also implements the XAccessible interface.\n\nThat will allow to switch parameters and class members\nfrom the abstract XAccessible interface to using this\nmore concrete C++ base class in various places.\n\nRename the class to OAccessible to account for the\nnew responsibilities, and adjust its doc accordingly.\n\nRenaming source and header file will be done in a\nseparate commit to simplify (git) keeping track.\n\nChange-Id: I33210b47cda5f71820a3c0fa657e4c3548d45732\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186952\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "6ddade76893c9e1da69df9024fffb922c787a304",
      "tree": "b9c9676c1be4f019c5a7079974ca284e011a333c",
      "parents": [
        "c8c9116b099c3e9b9f1c9097a7dfb6b1d05ae990"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jun 24 15:48:16 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 25 07:41:26 2025 +0200"
      },
      "message": "toolkit a11y: Drop XTypeProvider::getImplementationId overrides\n\nThose are already implemented in the base classes the same\nway.\n\nChange-Id: Idb79a12a58c7bcf2bd7b40786767a55c7716f71a\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186908\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "22049f633b4131f607358db41c7a1fc6b9f4c464",
      "tree": "48024eda1b06e5c2dc1f50255fec2c60d908b57e",
      "parents": [
        "e5494f0b56a4835a45591bd381d8ed13ef540db7"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 12:24:52 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 25 07:40:30 2025 +0200"
      },
      "message": "vcl a11y: Let OAccessibleComponentHelper implement XAccessible\n\nBy now, in particular after\n\n    Change-Id: I62da0040e6c98636681c4f05dbd0b796dae5b928\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Mon May 26 09:35:07 2025 +0200\n\n        vcl a11y: Let VCLXAccessibleComponent implement XAccessible\n\n, all OAccessibleComponentHelper subclasses are\nimplementing the XAccessible interface and returning\n`this` in their XAccessible::getAccessibleContext implementation.\n\nUnify and deduplicate that by moving the implementation to the\nOAccessibleComponentHelper base class.\n\nLocking specifics (whether a mutex was locked and which one)\nand whether a check whether the accessible hadn\u0027t been\ndisposed yet was done varied across the different implementations.\nThe new OAccessibleComponentHelper::getAccessibleContext\nunifies this to use OExternalLockGuard, i.e. it both locks\nthe mutex and throws an exception if the instance is no\nlonger alive.\n\nShould this commit result in any issues, it\u0027s likely because\nthere is a preexisting locking issue/inconsistency or an object\nhas already been disposed and that needs to be addressed.\n(The easiest approach in case of a disposed object would be\nto simply catch + ignore the exception in the caller, but\na more thorough investigation would likely be helpful.)\n\nChange-Id: Ib56a9ddb1c36356943c2dfd7a5705351ee43e9d9\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185849\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "b368258526727d74f6815c2b2f7741f2aca9fb06",
      "tree": "82e6631ef829b8cdba94215d0721eccf99dc59bd",
      "parents": [
        "ab9aa88000cca4a8611fa140eae502f590842f8c"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Fri Jun 20 11:10:21 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Fri Jun 20 21:22:23 2025 +0200"
      },
      "message": "grid control a11y: Drop misleading comment\n\nAccessibleGridControl::getAccessibleRole returns\nAccessibleRole::PANEL, not AccessibleRole::TABLE.\n\nDrop the misleading\n\n    /** @return  The role of this object (a table). */\n\ncomment.\n\nChange-Id: Ic9a2e9810fd10caf2e54d7aca2f26556a33634e6\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186754\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "7c351954ce2129b4af81646e160eb2e83a84d0f5",
      "tree": "4bcfb0b9f2cbba21869e8f3940cedd857311713b",
      "parents": [
        "550cd135af427ba99f1680d2da0f42a2d91b9558"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 10:29:46 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 19 21:31:57 2025 +0200"
      },
      "message": "a11y: Drop a11y logic from VCLXWindow\n\nWhile accessibility logic for vcl::Window and subclasses\nwas previously split between vcl::Window and\nVCLXWindow, vcl::Window now takes care of everything\nto create an XAccessible without involving VCLXWindow\nnow after\n\n    Change-Id: I25de1ab0f8b47b12346abd01bad05cb54fb75f52\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Mon May 26 09:45:11 2025 +0200\n\n        vcl a11y: Let vcl::Window create accessible directly, drop a11y factory\n\n(and previous changes for vcl::Window subclasses).\n\nTherefore, drop the remaining a11y logic from\nVCLXWindow.\n\nNo longer let it implement the XAccessible and\nXEventListener interfaces.\nThe latter was only implemented to clear the\nreference to the accessible context in\nVCLXWindow::disposing, but VCLXWindow now no longer\nholds such a reference with this commit in place.\n\nDrop calls to (the now nonexistent) VCLXWindow::disposing\nin subclasses (and drop overrides now only calling\nbase class methods from another subclass).\n\nvcl::Window::dispose already takes care of disposing the\nwindow\u0027s XAccessible, so disposing the XAccessibleContext\nin VCLXWindow::dispose is no more needed.\n(VCLXAccessibleComponent implements both, the XAccessible\nand XAccessibleContext interfaces.)\n\nChange-Id: Ided896abdc84cfbbf883621020169699a37cf6df\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185844\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "f8b3427caaedb5f4c87ee208db72f3a61417dd9b",
      "tree": "cd017e3761a39b1d3d46cea56091a99215c95b4e",
      "parents": [
        "6958721f4f094be8e5d9564e53b1e2c096922ad5"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 09:45:11 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 19 19:37:45 2025 +0200"
      },
      "message": "vcl a11y: Let vcl::Window create accessible directly, drop a11y factory\n\nThis is basically the vcl::Window base class equivalent of\n\n    commit f82aac71ede9c3f2dc059ca4c8b24f60e0841933\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background and tips on\nwhat to do if this commit causes any issues.\n\nNow that Window::CreateAccessible and all overrides in\nsubclasses no longer make use of the VCLXWindow for\nthe XAccessible, VCLXWindow::CreateAccessibleContext\nshould no longer be called. Add an assert that would\ntrigger if that method was still called somehow.\n\nDrop the now unused AccessibleFactory.\n\nFurther cleanup will be done in separate commits.\n\nJava a11y tests that were previously relying on the\nimplementation detail that the XAccessible for many\nvcl::Window subclasses was their VCLXWindow have been\nadjusted in previous commit\n\n    Change-Id: Id96a2104d87c998b0bdcbce36451499484d81272\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Wed Jun 18 17:49:48 2025 +0200\n\n        java a11y tests: Don\u0027t rely on XWindow being XAccessible\n\nChange-Id: I25de1ab0f8b47b12346abd01bad05cb54fb75f52\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185843\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "d1a25112bbbe3eb8e1c86840cb853e1694ec96ba",
      "tree": "6dcdfe3b9593b85c255ea8ac3cd1c1e2b0a4ae91",
      "parents": [
        "00b7325a50e113ec549bf364be119d9935b07485"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 18 17:49:48 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 19 19:37:12 2025 +0200"
      },
      "message": "java a11y tests: Don\u0027t rely on XWindow being XAccessible\n\nIn order to retrieve the XAccessible associated with\na window in AccessibilityTools.getAccessibleObject,\nno longer directly query the XWindow for the XAccessible\ninterface, but instead (temporarily) introduce and use a\nnew \"XAccessible\" property for the deprecated XVclWindowPeer\ninterface (which \"gives access to the VCL window implementation\")\nin VCLXWindow to get the XAccessible for the underlying\nvcl::Window.\n\nThis ensures this will continue to work when the VCLXWindow\nno longer is the accessible for its associated vcl::Window,\ns. upcoming commit\n\n    Change-Id: I25de1ab0f8b47b12346abd01bad05cb54fb75f52\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Mon May 26 09:45:11 2025 +0200\n\n        vcl a11y: Let vcl::Window create accessible directly, drop a11y factory\n\nOnce all Java a11y tests have been ported to C++, this\nproperty will no longer be needed, because direct access to\nthe vcl::Window will be possible then, see e.g.\n\n    commit d3262b72f69311b282fbdbe3c38de743e76bdda9\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Mon May 26 09:23:29 2025 +0200\n\n        a11y tests: Don\u0027t rely on XWindow being window\u0027s XAccessible\n\n, but Java tests rely on the information being available\nsomehow via UNO API.\n\nChange-Id: Id96a2104d87c998b0bdcbce36451499484d81272\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186680\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "00b7325a50e113ec549bf364be119d9935b07485",
      "tree": "4682b26d30634a4298490933998de362ef394ddc",
      "parents": [
        "9bec15a39fd989e0a2db9521566f43e689a1cbd0"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 18 17:40:22 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 19 19:37:04 2025 +0200"
      },
      "message": "a11y tests: Port AccessibleFixedText test to C++\n\nPort this Java a11y test to C++.\nThis mostly ports the existing logic from\nJava to C++ and switches to the existing\nhelpers for testing the XAccessible* interfaces.\n\nChange-Id: Ib39b2d301b98896a5ce29cd90c56c0d97e8cb892\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186679\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "9bec15a39fd989e0a2db9521566f43e689a1cbd0",
      "tree": "871eec7fe63494a7e70498809bfafa9e887dab89",
      "parents": [
        "4005c3d879b6e40694e18b611dbe7d36422dc307"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 18 15:00:01 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 19 19:36:57 2025 +0200"
      },
      "message": "a11y tests: Allow custom function to generate a11y events\n\nSo far, the XAccessibleEventBroadcasterTester logic was\nto modify a vcl::Window to generate a11y events for it\nthat the XAccessibleEventBroadcaster would receive.\n\nChange this to allow passing a function to the ctor that\nis responsible for generating accessible events, to\nallow using this class for other scenarios in the future as\nwell.\n\nMove the vcl::Window-specific logic to a new subclass\nWindowXAccessibleEventBroadcaster.\n\nChange-Id: I36cd49d40e68127d2d98a6b5c151b1e32c29dd92\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186678\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "6c211387c29c0e1799a79369dc2ea491a63626db",
      "tree": "77893540f83675d360f8f6690633c435c46d26ed",
      "parents": [
        "5f69e0da74e726206768155a74fec36f1a926f5f"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jun 17 14:36:44 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 18 08:07:54 2025 +0200"
      },
      "message": "toolkit: Flatten VCLXWindow::getProperty\n\nReturn early in case GetWindow() returns null, which\nallows to drop one indentation level.\n\nChange-Id: Idfd4cc96f2a1c25d2f266f1f4ed20f23147609e4\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186614\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "a88b21e3acfd8c5ea27a1138dcec8f6660cac1de",
      "tree": "685db2b09ad547b5dc677df3eb495c4745205f34",
      "parents": [
        "528cdd6573748d01c9d99ca3710a808866281921"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Tue Jun 17 14:38:24 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Tue Jun 17 20:58:44 2025 +0200"
      },
      "message": "Revert \"make AsyncCallback a little safer\"\n\nThis reverts commit 4c15b15a2018c3b8afc6d78fd7ff51beb3fc940e.\n\nReason for revert: Various code apparently relies on letting the AsyncCallback object destruct before the callback is handled.\n\nChange-Id: I11b2ad872a7672199350d2333f8c9bbc7e78c9d9\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186611\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "2853601a8f28e88713215ae9273e204f84fbf76e",
      "tree": "183a2202fe6b20f508b996176dcb59f8508f44ab",
      "parents": [
        "bfb45397935d809f162ea4bcc0c95b4e02ca4524"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sat Jun 14 19:40:15 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Mon Jun 16 12:57:55 2025 +0200"
      },
      "message": "use more concrete UNO classes\n\nChange-Id: I14d12f6c577be7a47cead8c12c6db8d360e78867\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186527\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "497a4090de8a33704df4101fc078a48c4cf71101",
      "tree": "5c41d3b5194ef42002990048ef0b5ed5af3b45b7",
      "parents": [
        "de9be6b3520f89f266e14ac1466ca05461b3df4c"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sat Jun 14 19:28:51 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sun Jun 15 22:43:12 2025 +0200"
      },
      "message": "use more concrete UNO classes\n\nChange-Id: I94202657c9338596f0b16c63bab110d3af7d94df\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186519\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "4c15b15a2018c3b8afc6d78fd7ff51beb3fc940e",
      "tree": "9062db2341377fa3773be987fc8dad5e34438751",
      "parents": [
        "e5c690c6be7df71cc612ef90e4502839ab519eb6"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sat Jun 14 17:42:21 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sun Jun 15 13:43:39 2025 +0200"
      },
      "message": "make AsyncCallback a little safer\n\n(1) remove the callback if the object destructs.\n(2) assert if addCallback() is not going to do anything, so\n   we dont get subtle failure modes\n\nChange-Id: Ibc4a8634c237858eb6add5e1db8ac1ca982590f2\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186510\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "f52b63ca5f9ee828af52e9e917ebe870bef17170",
      "tree": "f1d8ba56e4eee672844d623e75562947c626aeac",
      "parents": [
        "07f1edfe9d2dd6aaf9c50fdb680f55ddecb96f38"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jun 04 14:54:53 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu Jun 05 07:29:01 2025 +0200"
      },
      "message": "a11y tests: Use vcl::Window in XAccessibleEventBroadcasterTester\n\n... instead of the toolkit counterpart, XWindow.\nThis allows to use this also for vcl::Window\nbased tests, without having to involve\nthe UNO abstraction.\n\nAdjust AccessibleStatusBarTest accordingly to pass the\nvcl::Window associated with the XWindow.\n\nTo run the test:\n\n    make CppunitTest_toolkit_a11y\n\nChange-Id: Iee77f293338f269a2ad7c631384d5e3797b06152\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/186200\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "a57c6e99c9aa2f0b2099c0ec2d1d7998da11db75",
      "tree": "3543fc7f1e14aef461f622d6ae44ceaf0b844b4b",
      "parents": [
        "cbce194ae57d2c83fa8c191868733cb9f46221fb"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 09:36:17 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 28 18:02:30 2025 +0200"
      },
      "message": "a11y: Drop unused accessiblefactory.hxx includes\n\nChange-Id: I5b605a32a62dfd17318db5232c59282a6ae1cb7e\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185841\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "3cb6bae61d0d7a34570d035b229a38069380abad",
      "tree": "e5cfa4d30e9bc3ddc213e778a2989be08f7b71cc",
      "parents": [
        "344737c3cab905400184d4bda22107c75c7e7d76"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 09:34:24 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 28 09:20:47 2025 +0200"
      },
      "message": "vcl a11y: Let Edit and subclasses create their accessible directly\n\nThis is the equivalent of\n\n    commit f82aac71ede9c3f2dc059ca4c8b24f60e0841933\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\nfor Edit subclasses, see that commit\u0027s message for more background.\n\nSince all of DateField, TimeField, MultiLineEdit and VclMultiLineEdit\nare (not necessarily direct) subclasses of Edit and none of their\nsubclasses further up the class hierarchy than Edit override\nEdit::CreateAccessible, there is no need for them to do so either,\nbut they can use the Edit implementation. Therefore, just drop the\ncorresponding methods of their VCLXWindow subclasses that were\ncalling `AccessibleFactory::createAccessibleContext(Edit* pEdit)`\nexplicitly.\n\n(Before\n\n    Change-Id: Ifb7452de3e011a73aa798d1ea0302bbbc74ed7d2\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 20:13:09 2025 +0200\n\n        vcl a11y: Set DateField/TimeField window type in ctor\n\n, two of them had some additional extra logic that might\nhave required them to override the base class implementation.)\n\nSince VCLXAccessibleEdit implements the XAccessible interface\nnow, its SVTXAccessibleNumericField subclass no longer needs\nto implement that directly.\n\nChange-Id: I5fe96a9061afb9f51e494cdd41a27636d0aa4d74\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185838\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "344737c3cab905400184d4bda22107c75c7e7d76",
      "tree": "1c99935b1b582e4bddba55a00da8a031eaefd89e",
      "parents": [
        "d3262b72f69311b282fbdbe3c38de743e76bdda9"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 09:34:05 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 28 09:20:40 2025 +0200"
      },
      "message": "vcl a11y: Set DateField/TimeField window type in ctor\n\nSo far, a DateField (or subclass) would be created\nwith WindowType::SPINFIELD due to its SpinField\nbase class (and not passing any explicit type to\nthe base class ctor).\n\nHowever, when an accessible context would later be\nretrieved, VCLXDateField::CreateAccessibleContext\nwould set WindowType::DATEFIELD on the control\nbefore creating an XAccessibleContext via the\nAccessibleFactory.\n\nChanging the window type later that way seems odd,\nand implies that the window type would be different\ndepending on whether or not accessibility is active.\n\nChange that to set the DATEFIELD window type in the\nctor already.\n\nThe same applies for the TimeField and\nWindowType::TIMEFIELD.\n\nShould that have any unwanted side-effect, then\nit might be that some code path currently only handling\nthe WindowType::SPINFIELD type might need to be\nadjusted to handle WindowType::DATEFIELD and/or\nWindowType::TIMEFIELD the same way.\n\nChange-Id: Ifb7452de3e011a73aa798d1ea0302bbbc74ed7d2\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185837\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "64fd4b55a9f1711b766d5e59133dc1222f0793d9",
      "tree": "882807427343a2932cccdafd755cb058627c13ae",
      "parents": [
        "2bccfbd9ee56c89764b2e8163cf874cc3650738e"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 09:17:05 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 28 09:20:24 2025 +0200"
      },
      "message": "vcl a11y: Let FormattedField create its accessible directly\n\nThis is the FormattedField equivalent of\n\n    commit f82aac71ede9c3f2dc059ca4c8b24f60e0841933\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nChange-Id: I81e196680cc976b73ab029e595713e616ea90bee\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185692\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "2bccfbd9ee56c89764b2e8163cf874cc3650738e",
      "tree": "0cdfc23ad97611f62e77e19e8f935d31f32b3e1d",
      "parents": [
        "63feda6b8d614cda08f98bd6e801e081beaffd18"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 09:16:53 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 28 09:20:18 2025 +0200"
      },
      "message": "toolkit: Drop VCLXHeaderBar\n\nSince\n\n    Change-Id: I26249401d9bcde81908553cc01521ac0ead338dd\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 19:37:35 2025 +0200\n\n        vcl a11y: Let HeaderBar create its accessible directly\n\n, the class doesn\u0027t add any functionality to its VCLXWindow\nbase class, so drop it altogether and just use plain\nVCLXWindow instead.\n\nChange-Id: I288103d2681a81c3828e311c9b12b7aee1ec1f85\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185691\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "63feda6b8d614cda08f98bd6e801e081beaffd18",
      "tree": "7e3b70184f3143fc51366360a970072392421a92",
      "parents": [
        "942838c81f6a67cd96e8a5f04ff8bdb3d57ef9b7"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 09:16:19 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 28 09:20:12 2025 +0200"
      },
      "message": "vcl a11y: Let HeaderBar create its accessible directly\n\nThis is basically the HeaderBar equivalent of\n\n    commit f82aac71ede9c3f2dc059ca4c8b24f60e0841933\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nIn this case of HeaderBar, there is already an existing\nHeaderBar::CreateAccessible method that was handling\nthe case where a custom function to create the XAccessible\nwas set and the default vcl::Window logic going via the\nVCLXWindow/AccessibleFactory was only triggered otherwise.\nHandle that case also directly in there instead.\n\nChange-Id: I26249401d9bcde81908553cc01521ac0ead338dd\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185690\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "942838c81f6a67cd96e8a5f04ff8bdb3d57ef9b7",
      "tree": "13ac53b2b3981341b320d0b4af39dcdf7ee057a4",
      "parents": [
        "05591f072f752ae24de271ed5a96e0fc91440a6e"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 09:15:52 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 28 09:20:06 2025 +0200"
      },
      "message": "toolkit: Drop VCLXToolBox\n\nSince\n\n    Change-Id: Ib6a6746f7fcbcacddc4cc05a00cf63fe04407f80\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 19:21:33 2025 +0200\n\n        vcl a11y: Let ToolBox create its accessible directly\n\n, the class doesn\u0027t add any functionality to its VCLXWindow\nbase class, so drop it altogether and just use plain\nVCLXWindow instead.\n\nChange-Id: I2ef8efa06dc04e5e9b18dc743575666d41ce5648\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185689\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "05591f072f752ae24de271ed5a96e0fc91440a6e",
      "tree": "e4a551483852ea5231ee1af57dcc67c7cf7f0893",
      "parents": [
        "864904e8d04fadb905dc9e22326a7bf0f69d38c7"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 09:08:41 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 28 09:19:59 2025 +0200"
      },
      "message": "vcl a11y: Let ToolBox create its accessible directly\n\nThis is the ToolBox equivalent of\n\n    commit f82aac71ede9c3f2dc059ca4c8b24f60e0841933\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nChange-Id: Ib6a6746f7fcbcacddc4cc05a00cf63fe04407f80\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185688\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "8ff115110e62687ee3595b7018587889862739c7",
      "tree": "5aace6a68a4c95c850827f7abd57789c7ad0a6c8",
      "parents": [
        "01f3de9b220c511155350021819e752285c6290d"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 19:11:07 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 07:33:43 2025 +0200"
      },
      "message": "vcl a11y: Let ComboBox create its accessible directly\n\nThis is the ComboBox equivalent of\n\n    Change-Id: If6fa82008f3347c4f95538ab181eaa50c7d9636b\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nChange-Id: I8ae7a8a53fa04088ab9130d0905498eb45ad46ac\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185687\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "01f3de9b220c511155350021819e752285c6290d",
      "tree": "6f669d3dc7234a7cdeaa666b754a858a15c39eb7",
      "parents": [
        "77e753ede1e0227dbe885a0fdf136dd9801d4742"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 19:03:23 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 07:33:36 2025 +0200"
      },
      "message": "vcl a11y: Let ScrollBar create its accessible directly\n\nThis is the ScrollBar equivalent of\n\n    Change-Id: If6fa82008f3347c4f95538ab181eaa50c7d9636b\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nChange-Id: I0d8759b699fea20ccf8bea9ec897879f6e3e07b1\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185686\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "77e753ede1e0227dbe885a0fdf136dd9801d4742",
      "tree": "efbb1239eefd1b3348e9ceed75cbcec85c77430e",
      "parents": [
        "14eff4a61f39b7145222595668d850883f8665f8"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 15:28:59 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 07:33:29 2025 +0200"
      },
      "message": "vcl a11y: Let FixedText create its accessible directly\n\nThis is the FixedText equivalent of\n\n    Change-Id: If6fa82008f3347c4f95538ab181eaa50c7d9636b\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nChange-Id: Id3cbc91d6217bbca2d0e770f4fa4813377c10fe6\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185675\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "14eff4a61f39b7145222595668d850883f8665f8",
      "tree": "8c130b021833d94358f5c96b9e9ea676ea95db96",
      "parents": [
        "528335432757d685a2d69a51488a59eae2198f9b"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 15:18:20 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 07:33:22 2025 +0200"
      },
      "message": "vcl a11y: Let FixedHyperlink create its accessible directly\n\nThis is the FixedHyperlink equivalent of\n\n    Change-Id: If6fa82008f3347c4f95538ab181eaa50c7d9636b\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nChange-Id: I2b4f1bd25b4f925bdc7d51948057fbc66c718404\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185674\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "528335432757d685a2d69a51488a59eae2198f9b",
      "tree": "333c1f613375d7c1179b4796c4e9fec7e5ae45bb",
      "parents": [
        "e59f294c0227ee1b67d22cbc34f59f182b8b3a84"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 13:44:17 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 07:33:16 2025 +0200"
      },
      "message": "vcl a11y: Let ListBox create its accessible directly\n\nThis is the ListBox equivalent of\n\n    Change-Id: If6fa82008f3347c4f95538ab181eaa50c7d9636b\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nChange-Id: Ife6382fe72b245b5df2742a17000cf8bb29112b5\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185673\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "e59f294c0227ee1b67d22cbc34f59f182b8b3a84",
      "tree": "5e742a21e3ab17c81c299f6088709d5d2574c665",
      "parents": [
        "2a87fc4d06f8f53112dce3d98d7e166a895104f8"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 13:27:11 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 07:33:09 2025 +0200"
      },
      "message": "vcl a11y: Let RadioButton create its accessible directly\n\nThis is the RadioButton equivalent of\n\n    Change-Id: If6fa82008f3347c4f95538ab181eaa50c7d9636b\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nChange-Id: I0bfe50d36250074e21df42ff046a97095b198b71\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185672\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "2a87fc4d06f8f53112dce3d98d7e166a895104f8",
      "tree": "1fef60be0d2e2e7094da4792635946570079afca",
      "parents": [
        "f82aac71ede9c3f2dc059ca4c8b24f60e0841933"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 13:17:01 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 07:33:03 2025 +0200"
      },
      "message": "vcl a11y: Let CheckBox create its accessible directly\n\nThis is the CheckBox equivalent of\n\n    Change-Id: If6fa82008f3347c4f95538ab181eaa50c7d9636b\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Thu May 22 12:30:12 2025 +0200\n\n        vcl a11y: Let PushButton create its accessible directly\n\n, see that commit\u0027s message for more background.\n\nChange-Id: I6b6ead743cde3489935a902fed9b63d78fd642f8\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185671\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "f82aac71ede9c3f2dc059ca4c8b24f60e0841933",
      "tree": "fc484ab90cbaea720425a42740c867ffc31b717a",
      "parents": [
        "02fd0163f55e81f2c0c08c128f055e008ffcfc36"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 12:30:12 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon May 26 07:32:55 2025 +0200"
      },
      "message": "vcl a11y: Let PushButton create its accessible directly\n\nSo far, the VCLXButton was the XAccessible implementation\nfor PushButton (and subclasses), which got returned in\nWindow::CreateAccessible.\n\nVCLXButton\u0027s implementation of XAccessible::getAccessibleContext\nwas then responsible for creating the XAccessibleContext,\na VCLXAccessibleButton.\n\nDrop that separation between XAccessible and XAccessibleContext,\nlet VCLXAccessibleButton also implement the XAccessible interface\nitself, and override Window::CreateAccessible in\nPushButton to create the VCLXAccessibleButton directly without\nrequiring the VCLXButton and AccessibleFactory for this.\n\nThis is one step towards unifying the approach for all vcl::Window\nsubclasses (some were already creating their accessibles\ndirectly), makes responsibilities clearer (currently\nshared between vcl::Window and VCLXWindow) and prepares\nfor more upcoming a11y changes (towards making\nVCLXAccessibleComponent/OAccessibleComponentHelper implement both,\nXAccessible and XAccessibleContext).\n\nSimilar changes for other vcl::Window subclasses will follow.\n\nInternal code previously depending on the fact that a vcl::Window\u0027s\nVCLXWindow/XWindow was its XAccessible was adjusted previously in\ncommits like\n\n    commit b1f3e41f1015f0166dca1382c5fa1d1223f72fb8\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Wed May 21 11:03:56 2025 +0200\n\n        sw a11y test: Don\u0027t rely on XWindow being XAccessible\n\nIf this commit causes any issues, there might be\nanother place requiring a similar change.\n\nAccording to the discussion in [1], there might be third-party\ncode (unrelated to a11y except for using UNO a11y API) also\nrelying on the assumption that the vcl::Window\u0027s XAccessible\nis its VCLXWindow, but the UNO a11y API is an internal\nimplementation detail explicitly unpublished in\n\n    commit 70626249cd247d9acdad417b8eaf252bae22c059\n    Date:   Thu Nov 29 00:27:03 2012 +0100\n\n        API CHANGE a11y unpublishing and add/removeListener rename.\n\nand has no stability guarantuee whatsoever and is therefore\nnot meant to be used by external users. If any third-party\ncode was relying on this implementation detail, it should be\nported away from relying on UNO a11y API.\n\nIf there were a desperate need to still be able to\nretrieve the XAccessibleContext via the VCLXWindow/XWindow\n(at least temporarily) somehow, a (temporary) workaround\nonce this commit and corresponding upcoming commits are in place\ncould be to let VCLXWindow still implement the XAccessible\ninterface and return the XAccessibleContext from the window\u0027s\nactual XAccessible in VLCXWindow::getAccessibleContext.\nBut in my opinion, code relying on that assumption should really\nbe adjusted instead, also to avoid breaking again when unpublished\nUNO a11y API changes again in the future.\n\n[1] https://gerrit.libreoffice.org/c/core/+/185597/comments/48aae563_7c620891\n\nChange-Id: If6fa82008f3347c4f95538ab181eaa50c7d9636b\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185670\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "374dd9fbd660e95a9e6dd09d121c3528c23020a7",
      "tree": "a5517fd74f47e664f0290b007b21e4be3e8a4ccc",
      "parents": [
        "00dcdd4716f4695a3c43d49829360d225736e0aa"
      ],
      "author": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Tue May 20 13:59:12 2025 +0500"
      },
      "committer": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Sun May 25 11:23:18 2025 +0200"
      },
      "message": "Unify on VclPtr::reset\n\nWe used to have two duplicating sets: smart pointer-like VclPtr::reset,\nand Reference-style VclPtr::set / VclPtr::clear. There is no need in\nthis duplication. Further, in ScopedVclPtr, reset is hidden / removed\nto avoid skipping disposeAndClear; but the twin functions are kept\naccessible, possibly as an overlook.\n\nThis change drops Reference-style VclPtr::set / VclPtr::clear, and\nunifies on VclPtr::reset, which looks more consistent with the class\nnature (it is closer to shared_ptr, than to uno::Reference). Doing\nthat uncovered one place, where a ScopedVclPtr was used incorrectly:\nclear() was used for NotebookbarPopup::m_pParent in NotebookbarPopup\ndtor. I assume then, that the correct class needed here is VclPtr.\n\nChange-Id: I0746075c58d793fabdce1bc357afea8ee455cd8a\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185553\nReviewed-by: Mike Kaganski \u003cmike.kaganski@collabora.com\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "64f9a698dce9466991981069b70bacaf60f0b955",
      "tree": "151fff30a0eb55f499d2cd7a3f0d21b1f2a4365b",
      "parents": [
        "0d5fed1269e96222774d8092a98a4166f02814fc"
      ],
      "author": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Thu May 22 15:43:10 2025 +0200"
      },
      "committer": {
        "name": "Mike Kaganski",
        "email": "mike.kaganski@collabora.com",
        "time": "Thu May 22 22:03:18 2025 +0200"
      },
      "message": "Simplify VCLUnoHelper::CreateBitmap\n\nChange-Id: I94a0427cb24d9e751ba21905e5abb378fba71843\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185677\nTested-by: Jenkins\nReviewed-by: Mike Kaganski \u003cmike.kaganski@collabora.com\u003e\n"
    },
    {
      "commit": "5c4b4c2900838602964e995d4118681fec537e31",
      "tree": "3c598611c6c27110139112ab2dcc7dea280e2402",
      "parents": [
        "a804e8efd2ed8edc7a7bbf47121d7da74dc6b994"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 21 15:46:03 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 05:51:00 2025 +0200"
      },
      "message": "toolkit a11y: Don\u0027t rely on control peer being XAccessible\n\nWhen getting the accessible context for a\nUnoControl in non-design mode, don\u0027t rely/depend\non the implementation detail that the VCLXWindow\nimplements the XAccessible interface for its\nvcl::Window, as this is subject to change.\n\nInstead, retrieve the vcl::Window and then\nget its accessible (context).\n\nSee also commit messsage of\n\n    Change-Id: Id81ab5f90955ecc600e179164b5f9c7a771182d1\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Wed May 21 11:03:56 2025 +0200\n\n        sw a11y test: Don\u0027t rely on XWindow being XAccessible\n\nfor more background.\n\nSample scenario to trigger this code path:\n\n* start Orca screen reader on Linux\n* start Writer with gtk3 VCL plugin\n* enable \"Form Controls\" toolbar in \"View\" -\u003e \"Toolbars\"\n* insert a Check Box (or radio button) control\n* disable design mode by clicking the corresponding button\n  in the form controls toolbar\n* if not already the case: select the control\n\nAt the moment, the accessible context is exactly the\nsame with or without this commit in place, but\nthe previous approach relying on VCLXWindow being\nthe vcl::Window\u0027s XAccessible would break if that\nno longer is the case in the future.\n\nChange-Id: I9aa697e1d7a25a10ccb5469f5dd2a84a4f00fbfc\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185617\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "1ebb7ce2e8b0ed518fe6c6adea175a58890c3d7d",
      "tree": "dbe71d4098decd39e4406a2bd6756065e244484d",
      "parents": [
        "81b29ea15476eaeb588a74e930bfd3f44198fe05"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed May 21 11:36:25 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 22 05:50:04 2025 +0200"
      },
      "message": "toolkit a11y test: Don\u0027t rely on XWindow being XAccessible\n\nReuse the existing\ntest::AccessibleTestBase::getWindowAccessibleContext\nto get the accessible context.\n\nSee commit messsage of\n\n    Change-Id: Id81ab5f90955ecc600e179164b5f9c7a771182d1\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Wed May 21 11:03:56 2025 +0200\n\n        sw a11y test: Don\u0027t rely on XWindow being XAccessible\n\nfor more background.\n\nChange-Id: Ic75f0ecb317d174655a0c73c6bed534884c214a8\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185601\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "c537e7171209c16b4c4b33b1e62e9961ebf35be6",
      "tree": "04cd6f06ca1363f9c899af8de0d733174c8dc46b",
      "parents": [
        "7becd80d9773eb056b85945c5e51277b2481aa0e"
      ],
      "author": {
        "name": "Gabor Kelemen",
        "email": "gabor.kelemen.extern@allotropia.de",
        "time": "Wed Apr 09 16:00:57 2025 +0200"
      },
      "committer": {
        "name": "Gabor Kelemen",
        "email": "gabor.kelemen.extern@allotropia.de",
        "time": "Tue May 20 08:09:58 2025 +0200"
      },
      "message": "Remove obsolete fw declarations from toolkit/\n\nfound with bin/find-unneeded-includes --fwdecl\n\nChange-Id: I150270ff2fdb6ade19adb6f80af2b7caba650789\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/184005\nTested-by: Jenkins\nReviewed-by: Gabor Kelemen \u003cgabor.kelemen.extern@allotropia.de\u003e\n"
    },
    {
      "commit": "d8a908c28fa2d5e6e9a2437fc039f413d968199a",
      "tree": "996c05d439beb604038416e92361c4c74d5caa0a",
      "parents": [
        "b4b6193ab8d0bff882b711eb881a7c0341b87419"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue May 13 19:10:54 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Thu May 15 06:47:39 2025 +0200"
      },
      "message": "toolkit: Drop unnecessary XWindow2 param specialization\n\nXWindow2 subclasses XWindow, so there\u0027s no need for\na VCLUnoHelper::GetWindow variant taking an XWindow2\nreference that does the same as the variant taking\nan XWindow reference.\n\nChange-Id: I6f931252d2ae2e046dc31c076094e71b8aa71346\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185273\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "887804deb541a9a4d14cdafd7eff8f2df35a8cdc",
      "tree": "922a1b35d914444fbbf5d59940904d4508ac9c28",
      "parents": [
        "91402db28d9d67f64fe9acc1b4fb3df747fd8f67"
      ],
      "author": {
        "name": "Stephan Bergmann",
        "email": "stephan.bergmann@allotropia.de",
        "time": "Mon May 12 16:04:52 2025 +0200"
      },
      "committer": {
        "name": "Stephan Bergmann",
        "email": "stephan.bergmann@allotropia.de",
        "time": "Mon May 12 23:11:05 2025 +0200"
      },
      "message": "New Clang 21 trunk -Werror,-Wunnecessary-virtual-specifier\n\n...warning about non-overriding virtual dtors in final classes.  Every single\none of these might or might not be suspicious (e.g., in some cases it might be\nbetter to have a virtual dtor in a derived-from class).  Also, for some of the\nvirtual dtors, making them non-virtual then caused\n\n\u003e error: unnecessary user-declared destructor [loplugin:unnecessaryoverride]\n\nso those were removed completely.\n\nChange-Id: If0ee71645a347d6096b65988c56f627c42fe54b2\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/185223\nTested-by: Jenkins\nReviewed-by: Stephan Bergmann \u003cstephan.bergmann@allotropia.de\u003e\n"
    },
    {
      "commit": "2ae6a6b7e4f81254b0b9c94310aa4e0318f3baae",
      "tree": "614d740052a28b93af01c8a88cb973a22e8bf560",
      "parents": [
        "11d8753e0351ffaddb862c288f4b200e6f8ff925"
      ],
      "author": {
        "name": "Laurent Balland",
        "email": "laurent.balland@mailo.fr",
        "time": "Sat Nov 30 12:25:47 2024 +0100"
      },
      "committer": {
        "name": "Laurent Balland",
        "email": "laurent.balland@mailo.fr",
        "time": "Sun May 04 10:48:43 2025 +0200"
      },
      "message": "tdf#163816 Keep ratio of OLE object (chart...)\n\nWhen an OLE object (for instance a chart in Calc) is edited,\nresizing should behave like in non-edited mode:\nhandles in corner resize proportionaly (Widht/Height ratio is preserved)\nwhereas handles on edges modify Width/Height ratio\nPress Shift key to toggle behavior\nWhen draging object with border,\npress shift key to move object only horizontal/vertical/45°\n\nChange-Id: I66df55d3170a094bbd63eff9f6b93915cc57e060\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/177588\nTested-by: Jenkins\nReviewed-by: Laurent Balland \u003claurent.balland@mailo.fr\u003e\n"
    },
    {
      "commit": "0cb6632eceef31846a5c4af2d599e97da523bdd6",
      "tree": "d121d849b01ca27cf5f18bbc5dc6c06858f438c7",
      "parents": [
        "e856e8e71ffe0215911ad1aaabc64f5bef7fc696"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Mon Mar 31 14:21:46 2025 +0200"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Apr 01 11:20:23 2025 +0200"
      },
      "message": "a11y: Merge OAccessibleComponentHelper and OCommonAccessibleComponent\n\nMerge the two classes, now that OAccessibleComponentHelper\nis the only OCommonAccessibleComponent subclass after\n\n    Change-Id: I05547b12806a6a90b166edbe196b4bc5a27344be\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Mon Mar 31 13:49:20 2025 +0200\n\n        a11y: Merge OAccessible{,Extended}ComponentHelper, add default impl\n\nChange-Id: Ic7a36c40066f307f8df29dc4dd45ed3ee966bcb2\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/183552\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "6845b8a9262089f673ee7cc147db5e0192b4b4bd",
      "tree": "a924ab378f2394be38f2a06f89d1d90e7509391c",
      "parents": [
        "7c76dfc35350d6a8fef0379129b17ab97a775a4a"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Mon Mar 31 10:53:30 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Mon Mar 31 13:18:12 2025 +0200"
      },
      "message": "loplugin:constparam in various\n\nChange-Id: I874a95777aed3471675bf03acfcf05ecfcb4f830\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/183531\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "8c0d8f50717503d8fe45aed95055b2c9e2227c0d",
      "tree": "55941f6327621b750c9e0eb0ef09b4e770b614d4",
      "parents": [
        "b417954503efe6f61c42f9d5991148b80ffa3e44"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sat Mar 22 13:43:12 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noelgrandin@gmail.com",
        "time": "Sat Mar 22 17:26:53 2025 +0100"
      },
      "message": "tdf#141415 reduce time spent loading language data\n\ncache LocaleDataWrapper because otherwise we spend quite a bit of\ntime doing function-pointer-symbol lookups.\n\nChange-Id: Ic1bd07dabac95a2e1bdad70cffbc2b4cabdc62ed\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/183221\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "132f22d9f6d58b4e3541ef3e8efe8ef7e3136a23",
      "tree": "572b0275e410ff1ad610e8ca2d2de985e21fca40",
      "parents": [
        "2041fbab92f8d4e789bda625d7f98f486bb791a6"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Sat Mar 15 20:23:02 2025 -0700"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Sun Mar 16 08:28:56 2025 +0100"
      },
      "message": "tdf#157003 a11y: Replace AccessibleDropDownListBox Java with C++ test\n\nRemove the existing Java AccessibleDropDownListBox\ntests and introduce a new C++/cppunit test that\ntakes a bit of a different approach:\n\nOther than\n\n    commit d2a5b4bc0b8c8d1dd82133719a3ef5cc01b0cbbe\n    Date:   Tue Apr 26 16:56:56 2022 +0200\n\n        toolkit: convert AccessibleStatusBar test to C++\n\n        Just translate the test and add required or handy CppUnit helpers.\n\nwhich basically translated the existing AccessibleStatusBar\ntest as is to C++/cppunit, don\u0027t do the same here,\nbut:\n\n1) Move the test from toolkit to vcl, where the a11y\nimplementations for vcl widgets are located since\n\n    commit 9283da858506fe3b4383e4cfe0506e470a4356f6\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Tue Dec 17 12:04:04 2024 +0100\n\n        a11y: Merge accessibility module into vcl\n\n2) Instead of starting Writer and then searching for\nthe accessible object of the dropdown listbox in the\na11y tree, only create a simple dialog that contains\na dropdown listbox (VCL ListBox with WB_DROPDOWN set).\nThis minimizes the complexity/a11y tree to the object\nof interest.\n\nApart from that, the general logic of what aspects are\ntested is mostly unchanged, now using the C++ helpers\nintroduced in the above-mentioned d2a5b4bc0b8c8d1dd82133719a3ef5cc01b0cbbe\n(and later commits) to test the various XAccessible* interfaces.\n\nThe XAccessibleEventBroadcaster interface is no more\nexplicitly tested, since the XAccessibleEventBroadcasterTester\nwould require an XWindow again.\nHowever, the logic is implemented in the VCLXAccessibleComponent\nsubclass used by almost all widgets (vcl::Window subclasses), so\nnot explicitly testing it here shouldn\u0027t be a problem.\n\nChange-Id: I61bfff515c5e9f7e2d18b9279861c09ceede403e\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/182986\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "1b704035f5b5f41e12b2cb9b30bc3e34fd20937f",
      "tree": "4bb53db2280886d000348e3cb016fca852420218",
      "parents": [
        "f3288f031a2667a8acc7b3c79744fed1db590845"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Sat Mar 15 11:53:41 2025 -0700"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Sun Mar 16 08:28:20 2025 +0100"
      },
      "message": "a11y tests: Move more helpers from toolkit to test\n\nMove the XAccessibleEventBroadcasterTester and\nXAccessibleExtendedComponentTester classes from toolkit to test,\nso they can be reused for a11y tests in other modules.\n\nChange-Id: I33e9ee43b9652e6cefcea2ee3264114109f8d9f6\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/182982\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "cee4f55e66efcf54179457316b244229961a067b",
      "tree": "aed89e40e569d6a91e1644082b093aee39578afb",
      "parents": [
        "6901639601f0ae1b0d48afa083ee3503ef5c9398"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Sat Mar 15 15:37:47 2025 -0700"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Sun Mar 16 03:07:25 2025 +0100"
      },
      "message": "toolkit a11y: Use existing Window::GetAccessibleParent\n\nChange-Id: I8a4ef1676707c519f6b90707e3d36b2f69121ecf\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/182979\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "f69fa9e37232d0d41e5f224872d0e86391f19f2f",
      "tree": "06f05dce3186a6e1a33dd8ed3bc67a55cc72c7c8",
      "parents": [
        "d1e90f2e26fb56c0fc1b290c8910aad9d9d8bcdb"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Fri Mar 14 19:55:14 2025 -0700"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Sat Mar 15 20:50:09 2025 +0100"
      },
      "message": "a11y tests: Move helpers from toolkit to test\n\nMove the XAccessibleComponentTester and XAccessibleContextTester\nclasses from toolkit to test, so they can be reused for a11y tests\nin other modules.\n\nChange-Id: I9a4bb3f96d92b05d58a5e8afe7f86b5eb2fd0c38\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/182967\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "49323ab5e73a3c92a28d4c9fe386dcf5e78d2968",
      "tree": "06044595f514f2680a916795671dbe405622d7fc",
      "parents": [
        "05d2701e3bba4c36752d5dbc144e103667ce1681"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Mon Mar 10 10:54:21 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Mon Mar 10 11:37:23 2025 +0100"
      },
      "message": "use more concrete UNO classes in toolkit\n\nChange-Id: Ief7941e0abbc111c6e0932b8bed84a626b9a744d\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/182720\nTested-by: Jenkins\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\n"
    },
    {
      "commit": "09e2627a83d4769983c39fb2cb260e11fce354f3",
      "tree": "c070d53da0092ef3826a2511d4ae875143576253",
      "parents": [
        "a4ab140ec079b86857145f5370d083b5e2c38440"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Mon Feb 17 11:06:55 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Wed Feb 26 16:56:56 2025 +0100"
      },
      "message": "use more concrete UNO types in some local vars\n\nfound by a little plugin I created.\n\nPlugin parked into store/ folder because it needs hand-holding\nwhen run.\n\nChange-Id: I2b4da7378f0becbc5f020ac9e78cd765aa0119b4\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/181768\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "1218e023fd67b32dc6c6110c1bd2fe6d44ed1e0b",
      "tree": "d2dcafd7af91b770eb886ee34a4ca877d865bae4",
      "parents": [
        "be37c3e65407fdf08781a7c49f21d7e7e80a46ae"
      ],
      "author": {
        "name": "Christopher Sherlock",
        "email": "chris.sherlock79@gmail.com",
        "time": "Sat Feb 15 14:14:28 2025 +1100"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Feb 18 09:52:23 2025 +0100"
      },
      "message": "vcl: menubtn.[hc]xx -\u003e MenuButton.[hc]xx\n\nChange-Id: I0b037261c753df6cd7efc2ee605abc02304c226c\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/179238\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "b666efedd669d652c05deac4a6f9734b461e5074",
      "tree": "2ed53655c59628920e5268080b0fa45133f4e8be",
      "parents": [
        "de018733fc1fa793848d319d1a962536c5a5d762"
      ],
      "author": {
        "name": "Christopher Sherlock",
        "email": "chris.sherlock79@gmail.com",
        "time": "Wed Dec 11 00:32:05 2024 +1100"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Feb 18 09:44:52 2025 +0100"
      },
      "message": "vcl: nType -\u003e eType\n\nChange-Id: I3e55e6173494f660febc296ec342ab223e5cdec1\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/178227\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "5ff1b4491a79644b6efdd6ddac86d5c41196f9f8",
      "tree": "5f97aaacc1bb8a37e07a2bd4578e1b5e15ad05c8",
      "parents": [
        "d1b17b71ae30b085e511ab1d262c4f568808b574"
      ],
      "author": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Wed Feb 05 14:32:02 2025 +0200"
      },
      "committer": {
        "name": "Noel Grandin",
        "email": "noel.grandin@collabora.co.uk",
        "time": "Wed Feb 05 17:15:25 2025 +0100"
      },
      "message": "loplugin:unnecessaryvirtual\n\nChange-Id: I9fc9554f659beea6041b8c64f915c853478aebd6\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/181179\nReviewed-by: Noel Grandin \u003cnoel.grandin@collabora.co.uk\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "cc8d33cb4da053e4f7738ddf42660e60c0965e79",
      "tree": "a3690cf1f7c900673ad233f1d9cfc154b316f8fc",
      "parents": [
        "87ee0883b67b09ed857096d9d6dc069834efc2da"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jan 28 11:11:14 2025 +0100"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jan 29 08:26:12 2025 +0100"
      },
      "message": "uno grid a11y: Deduplicate 2 cases doing the same\n\nChange-Id: I293213079fede1444f3d5e9f0bce5d03d30a9253\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/180839\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "87ee0883b67b09ed857096d9d6dc069834efc2da",
      "tree": "ea0017711bd88bae3913f554cc3562d9cf2fdd1a",
      "parents": [
        "cf8a59f258d10d1bc9b2eb27dbea91d26e2a1b84"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jan 28 11:09:06 2025 +0100"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jan 29 08:26:06 2025 +0100"
      },
      "message": "uno grid a11y: Unify XAccessible implementation in base class\n\nBy now, all AccessibleGridControlBase subclasses implement\nboth, the XAccessible and XAccessibleContext interfaces,\nand their XAccessible::getAccessibleContext implementations\nreturn a reference to self.\n\nThis is implemented in different ways: Either implementing\nit directly or using the GridControlAccessibleElement\nclass that does it as base class.\n\nUnify and simplify this by letting AccessibleGridControlBase\nimplement the XAccessible interface, and dropping the extra\nhandling in all subclasses.\n\n(Other than the other implementations,\nAccessibleGridControlHeaderCell::getAccessibleContext\nwas previously not using SolarMutexGuard, but I can\u0027t\nsee a particular reason, so don\u0027t see a reason to\noverride the new base class implementation.)\n\nChange-Id: Ibdb674c5d5556fcf1c5644a2f6d961985b0e3362\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/180838\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "cf8a59f258d10d1bc9b2eb27dbea91d26e2a1b84",
      "tree": "4455b0110b858a8e1906cad2c852910d44591692",
      "parents": [
        "7ebcd51ea2959c6c01ba2529a83509d3dcd04745"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jan 28 10:55:54 2025 +0100"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jan 29 08:25:57 2025 +0100"
      },
      "message": "uno grid a11y: Use cppu::ImplInheritanceHelper\n\nChange-Id: I363a3836ee46f1243c6d61c323910bcac70c0da6\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/180834\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "7ebcd51ea2959c6c01ba2529a83509d3dcd04745",
      "tree": "bdbc00f42037d80f0856f6bfb44eedaad6348f08",
      "parents": [
        "393222247a85c2621ce71986a3e8ce558da7b711"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jan 28 10:33:29 2025 +0100"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jan 29 08:25:50 2025 +0100"
      },
      "message": "uno grid a11y: Drop method only declared, but not implemented\n\nImplementation was dropped in\n\n    commit ce52b490ddb7924c6b5b14fee4077182a3c7dd02\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Mon Jan 27 15:13:10 2025 +0100\n\n        toolkit a11y: Simplify AccessibleGridControl::getAccessibleAtPoint\n\nChange-Id: Id6038b57648be5549645c5f77ebbfc4d387a5dd9\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/180833\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    },
    {
      "commit": "393222247a85c2621ce71986a3e8ce558da7b711",
      "tree": "9868249ee2825a3c2f177216635e6ab5b3f18f6f",
      "parents": [
        "33a7e6910f7075c3b24b56feba4e6318caeb4952"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jan 28 10:17:45 2025 +0100"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jan 29 08:25:42 2025 +0100"
      },
      "message": "uno grid a11y: Merge AccessibleGridControl{,Access}\n\nSo far, AccessibleGridControlAccess was implementing\nthe XAccessible interface, and its\nXAccessible::getAccessibleContext implementation\nwas returning a AccessibleGridControl instance\nthat implements XAccessibleContext.\n\nDrop that separation and let AccessibleGridControl\nalso implement the XAccessible interface directly\nand return itself in\nAccessibleGridControl::getAccessibleContext.\n\nTableControl_Impl::getAccessible now creates\nan AccessibleGridControl accordingly.\n\nNo change in behavior intended or seen when\ntesting with the grid in the sample doc attachment 198647\nfrom tdf#164783 when testing with Orca and Accerciser\nwith the gtk3 and qt6 VCL plugins.\nChange-Id: Iabc4cd11e7b6b6e121c65a6813a28e218c34b4e1\n\nChange-Id: I8bfdf64f436a831251f155d0e1238e4d82d1fa58\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/180832\nTested-by: Jenkins\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n"
    },
    {
      "commit": "33a7e6910f7075c3b24b56feba4e6318caeb4952",
      "tree": "e6649fe2b50edd387f1cedc09bf1e71dce7f0585",
      "parents": [
        "6b94a653b763655b09032e8b2964bf3eb03a8f7a"
      ],
      "author": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Tue Jan 28 09:23:53 2025 +0100"
      },
      "committer": {
        "name": "Michael Weghorn",
        "email": "m.weghorn@posteo.de",
        "time": "Wed Jan 29 08:25:36 2025 +0100"
      },
      "message": "uno grid a11y: Drop check for a11y context disposed from outside\n\nAccessibleGridControlAccess owns its\nAccessibleGridControl (`m_xContext` member)\nand is responsible for disposing it.\n\nIt does that in AccessibleGridControlAccess::DisposeAccessImpl\nwhere it also clears `m_xContext` to nullptr.\n\nTherefore, this\n\n    // if the context died meanwhile (we\u0027re no listener, so it won\u0027t tell us explicitly when this happens),\n    // then reset and re-create.\n\ncheck looks very suspicious and should never be reached,\nas anything \"from outside\", i.e. something not\nowning the AccessibleGridControl should never\ndispose it.\n\nDrop that check.\n\n(In case there actually *is* something disposing the\naccessible context from elsewhere, that should most likely\nbe changed in the first place.)\n\nSee also\n\n    Change-Id: Id16dd7dbf8264d887f52e2fe304b0568079cb924\n    Author: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\n    Date:   Tue Jan 28 09:17:10 2025 +0100\n\n        uno grid a11y: Replace alive check by simple null check\n\n        TableControl_Impl owns its accessible (`m_pAccessibleTable`)\n        and disposes it in TableControl_Impl::disposeAccessible\n        which gets called from TableControl::dispose.\n\n        TableControl_Impl::disposeAccessible also sets\n        `m_pAccessibleTable` to nullptr.\n\n        As `m_pAccessibleTable` should only ever be disposed by\n        its owner, I can\u0027t think of any (valid) scenario where\n        `m_pAccessibleTable` could be non-null but disposed,\n        so simply use a null check instead of\n        TableControl_Impl::isAccessibleAlive that was checking\n        for it being non-null and not diposed.\n\nfor a similar commit elsewhere.\n\nChange-Id: Ibe89b39be7540d68144400927bc96c318b2873c1\nReviewed-on: https://gerrit.libreoffice.org/c/core/+/180831\nReviewed-by: Michael Weghorn \u003cm.weghorn@posteo.de\u003e\nTested-by: Jenkins\n"
    }
  ],
  "next": "6b94a653b763655b09032e8b2964bf3eb03a8f7a"
}
