Age | Commit message (Collapse) | Author |
|
#5 0x00007fc235921b20 in ScPatternAttr::GetItem (nWhichP=145, this=0x0) at sc/inc/patattr.hxx:164
#6 ScPatternAttr::GetItem<ScMergeFlagAttr> (nWhich=..., this=0x0) at sc/inc/patattr.hxx:167
#7 ScGridWindow::UpdateCursorOverlay (this=0x0, this@entry=0x39eb3d30)
at sc/source/ui/view/gridwin.cxx:6610
#8 0x00007fc235922c0d in ScGridWindow::CursorChanged (this=0x39eb3d30)
at sc/source/ui/view/gridwin.cxx:6259
#9 0x00007fc2359c6860 in ScTabView::ShowAllCursors (this=this@entry=0x356a9c68)
at include/rtl/ref.hxx:203
#10 0x00007fc2359c2586 in ScTabView::PaintBlock (this=this@entry=0x356a9c68, bReset=bReset@entry=true)
at sc/source/ui/view/tabview2.cxx:1286
#11 0x00007fc2359c271f in ScTabView::DoneBlockMode (this=0x356a9c68, bContinue=bContinue@entry=false)
at sc/source/ui/view/tabview2.cxx:658
#12 0x00007fc2359c2779 in ScTabView::DoneBlockMode (this=this@entry=0x356a9c68, bContinue=bContinue@entry=false)
at sc/source/ui/view/tabview2.cxx:666
#13 0x00007fc2359ce0ca in ScTabView::SetTabNo (this=0x356a9c68, nTab=3, bNew=<optimized out>, bExtendSelection=false, bSameTabButMoved=<optimized out>)
at sc/source/ui/view/tabview3.cxx:1965
#14 0x00007fc2359e851d in ScTabViewShell::Notify (this=0x356a9a60, rBC=..., rHint=...)
at sc/source/ui/view/tabvwsh5.cxx:202
#15 0x00007fc245e6f935 in __gnu_cxx::__normal_iterator<SvtListener**, std::vector<SvtListener*, std::allocator<SvtListener*> > >::__normal_iterator (
__i=<optimized out>, this=<optimized out>) at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_iterator.h:1073
#16 std::vector<SvtListener*, std::allocator<SvtListener*> >::end (this=<optimized out>) at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_vector.h:889
#17 SvtBroadcaster::SvtBroadcaster (this=0x2b, rBC=...) at svl/source/notify/broadcast.cxx:180
#18 0x00007ffdb455a730 in ?? ()
#19 0x0000000000000003 in ?? ()
#20 0x0000000002476c90 in ?? ()
#21 0x00007fc244207e01 in avmedia::MediaFloater::setURL (this=0x331fc030, rURL=..., rReferer=..., bPlayImmediately=<optimized out>)
at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:191
#22 0x00007fc2498f32e0 in com::sun::star::xml::sax::cppu_detail_getUnoType(com::sun::star::xml::sax::XAttributeList const*)::the_type ()
from /opt/collaboraoffice/program/libmergedlo.so
Change-Id: I7d62f67a840fe6c27b7bcf80fdaf66dff8c270c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185088
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Using drag and drop to copy a table from Base to Calc adapts the row
height of the imported content in order to accomodate potential
multiline cells in the Base table.
Change-Id: Ifadf3f9034a5440385cea7b35ce4e28f206b744d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185066
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
|
|
Change-Id: I3e7d2b34ef2f48c6ba6743e77a8c93d889a467e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185030
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
This was supposed to set some kind of "default directory" for file pickers.
It was never implemented for anything except the "gen" vcl plugin - and
is also not really needed.
Change-Id: I94c6ff04984fc7b1d600530dc26bd8a7672646cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184064
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Tested-by: Jenkins
|
|
was created when an object was in rotation drag mode and we
enter into the shape to text edit mode.
We only need to switch to draw shell if we have not already
created a text shell for text edit mode.
TODO: unit/UI tests would be useful for the original enhancement.
(c628a26cd3f763b39a2e2441fc766dabf04ed492)
Follow-up commit of
c628a26cd3f763b39a2e2441fc766dabf04ed492
677e40c8b83b06ded8e06b6151f71686baf5f6b5
Regression from commit: c628a26cd3f763b39a2e2441fc766dabf04ed492
(tdf#90293 switch draw selection to rotate mode)
Change-Id: Ib857673b1f5469d6502736ecad84fe046f8c967e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185031
Tested-by: Jenkins
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
|
|
#0 std::vector<std::unique_ptr<SdrPageWindow, std::default_delete<SdrPageWindow> >, std::allocator<std::unique_ptr<SdrPageWindow, std::default_delete<SdrPageWindow> > > >::size (this=<optimized out>) at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_vector.h:987
#1 SdrPageView::PageWindowCount (this=<optimized out>) at include/svx/svdpagv.hxx:89
#2 (anonymous namespace)::ScLOKProxyObjectContact::calculateGridOffsetForViewObjectContact (this=<optimized out>, rTarget=..., rClient=...)
at sc/source/ui/view/gridwin4.cxx:1467
#3 0x00007fe8eae62e05 in sdr::contact::ViewObjectContact::getGridOffset (this=this@entry=0x364bdc60)
at include/svx/sdr/contact/viewobjectcontact.hxx:95
#4 0x00007fe8eae642fe in sdr::contact::ViewObjectContact::getPrimitive2DSequence (this=this@entry=0x364bdc60, rDisplayInfo=...)
at svx/source/sdr/contact/viewobjectcontact.cxx:487
#5 0x00007fe8eae645b1 in sdr::contact::ViewObjectContact::getObjectRange (this=this@entry=0x364bdc60)
at svx/source/sdr/contact/viewobjectcontact.cxx:209
#6 0x00007fe8eae64832 in sdr::contact::ViewObjectContact::triggerLazyInvalidate (this=0x364bdc60)
at svx/source/sdr/contact/viewobjectcontact.cxx:273
#7 0x00007fe8eae65415 in sdr::contact::ObjectContactOfPageView::Invoke (this=0x7fe8a8103ff0)
at svx/source/sdr/contact/objectcontactofpageview.cxx:105
#8 0x00007fe8ebb2b30b in Scheduler::CallbackTaskScheduling () at vcl/source/app/scheduler.cxx:579
#9 0x00007fe8ebceb21b in SvpSalInstance::StartTimer (nMS=<optimized out>, this=0x2e01000000000000)
Change-Id: Icb71083eb77e528d9025aa7a591892dcdfc2ba89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185020
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
This fixes Windows/MSVC build errors like the one reported in
https://ci.libreoffice.org/view/tb%20platform%20status/job/lo_tb_master_win_analyze/1135/console
C:/cygwin/home/tdf/lode/jenkins/workspace/lo_tb_master_win_analyze/sc/source/ui/view/tabview3.cxx(2335):
error C2220: the following warning is treated as an error
C:\cygwin\home\tdf\lode\jenkins\workspace\lo_tb_master_win_analyze\sc\source\ui\view\tabview3.cxx(2313) :
warning C6011: Dereferencing NULL pointer 'pEditView'. : Lines: 2300, 2302, 2303, 2304, 2309, 2310, 2313
C:\cygwin\home\tdf\lode\jenkins\workspace\lo_tb_master_win_analyze\sc\source\ui\view\tabview3.cxx(2359) :
warning C6011: Dereferencing NULL pointer 'pEditView'. : Lines: 2353, 2354, 2355, 2358, 2359
C:\cygwin\home\tdf\lode\jenkins\workspace\lo_tb_master_win_analyze\sc\source\ui\view\tabview3.cxx(2458) :
warning C6011: Dereferencing NULL pointer 'pEditView'. : Lines: 2440, 2443, 2444, 2445, 2449, 2452, 2458
Change-Id: I324adb67b207075a420b51726a8211d53257d3f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185016
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Instead of using EditView's Paint directly to Window I
changed this now to using the Overlay that is available in
all applications. This allows to have less repaints of the
Calc View since the Overlay has a copy of the area it is
working overlayed.
It also allows to get away from one of the last areas where
XOR selection was used since EditView/EditEngine have no
better way to do this. Selection is now visualized using the
OS'es choosen SelectionColor, as in all other apps.
I could also get rid of the flush() of the OverlayManager
that was needed before and caused some problems (see
tdf#165621 and associated tasks).
A failing UnitTest showed that OverlayManagerBuffered needs
to be aware when no CompleteRedraw was done yet and thus no
background data exists and refresh makes no sense. This may
happen when there is no redraw/UI e.g. UnitTests, but still
an OverlayManager is used and together with a Reschedule
(many possible reasons) that refresh might be triggered.
Made access to EditView in OverlayObject no longer dependent
on ActiveView, that is not always the one with the EditView.
Now using a combination of ScTabView and ScSplitPos for
accesses. Asserting now if no EditView -> is mandatory.
Continuing going through CppunitTest_sc_tiledrendering UTs,
one more identified.
Have to re-activate EditViewInvalidate rect forwarding
since the Invalidate is needed for sc tiled rendering
tests, but not for sd tiled rendering tests. Added that
to the impl of EditViewCallbacks using
LibreOfficeKit::isActive().
Change-Id: I41f5448bfbabfaae4858c7617478771053c2cd77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184830
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
#0 std::__uniq_ptr_impl<ScDragData, std::default_delete<ScDragData> >::_M_ptr (this=0xae8)
at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:191
#1 std::unique_ptr<ScDragData, std::default_delete<ScDragData> >::get (this=0xae8)
at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:462
#2 std::unique_ptr<ScDragData, std::default_delete<ScDragData> >::operator* (this=0xae8)
at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:445
#3 ScTabViewShell::GetDragData (this=0x0)
at sc/source/ui/inc/tabvwsh.hxx:470
#4 ScModule::GetDragData (this=this@entry=0x4f2dacd0)
at sc/source/ui/app/scmod.cxx:632
#5 0x00007e73ef1b3584 in ScDrawTransferObj::~ScDrawTransferObj (this=0x5a10c1c0, __in_chrg=<optimized out>)
at sc/source/ui/app/drwtrans.cxx:219
#6 0x00007e73ef1b381d in ScDrawTransferObj::~ScDrawTransferObj (this=0x5a10c1c0, __in_chrg=<optimized out>)
at sc/source/ui/app/drwtrans.cxx:233
#7 0x00007e74010d80b9 in com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable>::~Reference (
this=0x40a2d160, __in_chrg=<optimized out>)
at include/com/sun/star/uno/Reference.hxx:114
#8 vcl::(anonymous namespace)::GenericDragSource::~GenericDragSource (this=0x40a2d110, __in_chrg=<optimized out>,
__vtt_parm=<optimized out>)
Change-Id: Ibce052c40972576e149d643a4dbbe4f9e89d9a8d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184992
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Iabab952deb36ab86cce009f4f0b4f82b5d469efd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184994
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I2c5afa5397e3a98806908a2f73f8d654e83fb890
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184889
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ic059f4c964f761f9d1b2c0734f8b6908501fd5d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184898
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
and other related changes
Change-Id: I13f8c81e5715d9adea05e4d89443ec6ef8faf24a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184899
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
As 7b4802070ac6fb930255536bf3ed2c52428b4181 noted,
online only supports freeze panes, but preserves splits when saving.
However, files could also end up with mixed frozen/split panes.
In addition, even a single split was treated like two, with
the other split being at the first row/column, which was incorrect.
Change-Id: I974690b8877ad6d4eca1e046c3c352359a199706
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184421
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184854
Tested-by: Jenkins
Reviewed-by: Aron Budea <aron.budea@collabora.com>
|
|
These methods are almost exclusively used to implement the non-const
OAccessibleCompomentHelper::implGetBounds and
OAccessibleComponentHelper::getLocationOnScreen
overrides.
Making them non-const allows dropping some
const_casts in some of the subclass implementations.
Change-Id: Ia26858c1211629c4a336919c8e9d4d0c70e73097
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184831
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
to ensure it's not nullptr
Change-Id: I462633d583c7be3f249427f103215bc76d1c0d45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184821
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
|
|
not need to have pViewData member
Change-Id: Ia697f80421ffbbec36514c60a04087a55383d349
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184801
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I499c44ebc3f3eaf5310788dbf110b8a00d8a8035
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184799
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I28a314c2d07e402decb5a7e9cae1ac59b6e8dc3a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184792
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Use a reference instead of a pointer, to make clearer this is always
non-null. This also allows to drop a null check in
ScNotesChildren::DataChanged.
Change-Id: Ief02eaafa7cd67a1ceb9562bf0a62435e4b877a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184791
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
it can be passed by reference, like the other dialogs do
Change-Id: I79abd717835012af8bcf8d4e135bd7e79f36ac35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184783
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
|
|
On lok different users might have different locales so they need
different field units in their dialogues. Right now the metric used is
always the one stored in the ScModule's AppOptions for all users.
With this change, for lok SfxModule::GetFieldUnit is used because it
already has the correct metric per lok user.
Change-Id: If2b047874a26deecc7c43936ab267b75eae101e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184567
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit d01737cb12654f488bb88235cdc562d3cf68d7db)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184741
Reviewed-by: Jaume Pujantell <jaume.pujantell@collabora.com>
Tested-by: Jenkins
|
|
found with bin/find-unneeded-includes --fwdecl
Change-Id: I04083a33ce1e7d85980da91f72c2dd85777b594d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183897
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
|
|
Change-Id: Ie65b3347fcfad7ba3be2af48dc73e06c027231dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184659
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I6308802006c957a693db88746692a8dc63e53026
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184658
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: Id76186f6eb1d59f101273dc3d97fde1265c3e0ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184654
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: Iea4da0879bfc281cdb430bec3285a1a5c2da4bba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184633
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I02c061ecf4316907a020e1324c606ea53da7b8a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184630
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: Id21b9e901502dc2c589ef6ee22105e883b3c5f80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184634
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: Ia7e0b8e4c56ecfc9525ac45bfdb3d4304877e4c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184632
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
|
|
Change-Id: I95b273bebed032a3acb0bdca0e1ae30d0e98600d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184631
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: I38db0341403c0e2fbf147d57dfbe956938e7f8de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184628
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
like the other dialogs do
Change-Id: I584a2dc7e347a31c4b627d97277b9ab0207b7ee8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184627
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
it's always non-null.
Change-Id: I0ac888c6d4e40a9de59c8b6136dd3be8c3ec3770
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184624
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
|
|
All XAccessibleExtendedAttributes::getExtendedAttributes
implementations return a OUString wrapped in an Any (or
an empty Any), and all consumers also expect that.
Therefore, change the return type from Any to OUString
to make that clearer and simpler.
Change-Id: Ic6af692f72fd072c4039996f31208ac2098d2750
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184514
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Fixes switch to rotate mode after inserting or
moving a shape.
Change-Id: I4e8ce8b5891a08c6c3f20a9c29fa4bef4428eb84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184141
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
|
|
The sparklines are always rendered in the top-left corner and do not
take the space of the whole merged cell.
Change-Id: I735c180d135de79907dd685045d277cc357815fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184152
Tested-by: Jenkins
Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
|
|
Change-Id: Ic57ffd1d932f9613716b63902d5565f1f8f6ef0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184145
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
In the mentioned regression, resetPrintArea() was responsible for reverting the print area in Calc, which was set by the Print Dialog,
back to the one defined by the Page Styles.
It was implemented in the print-related part that is used by all modules but this is a Calc-specific issue.
Therefore, in this commit, resetPrintArea() was removed and it made
more sense to fix the print area issue in the Calc modul.
from
commit 364f0bb1cac0e12f5f926857f61c2f329a353ec7
Author: Tibor Nagy <tibor.nagy.extern@allotropia.de>
Date: Wed Feb 28 11:13:10 2024 +0100
tdf#155218 sc: fix regression page orientation in print dialog
Change-Id: I3767c0685addefb9b2fb16bfc7cf967a0f332272
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183948
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
... for the return type of some ScAccessibleDocument methods
and local vars instead of uno::Reference<XAccessible>.
Drop a static_cast in ScAccessibleDocument::Notify
that is no more necessary now that that type is part
of the signature.
Change-Id: Ic4e4857b6372581df80442b8669693af06d86a07
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184148
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Issue:
* Or the "mpViewShell" pointer in "ShowCursor" function is empty and the notification is not sent to Online side.
Change-Id: I42e6d2f914c80fe2bc61483832274357394ef1c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184138
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I52301bc1d82757102cc3c97072e88807d960c3e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184022
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
The base class implementation in
OAccessibleComponentHelper::getAccessibleIndexInParent
is using the same approach already - and has the benefit
of returning early when the child is found instead of
continuing to iterate over all of the parent's children.
Change-Id: I9ff67770bb4162c2c903a84b0393739a451d3893
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183942
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: I2bdbad8212fd8fd377f2616a7e322b5696171de5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183941
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Use the equivalent base class method
OAccessibleComponentHelper::ensureAlive instead.
Change-Id: I27fd4ace99ffac9451e4dab76cba19a2a39f37ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183940
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Commented since
commit 95b1fd019e01babaa6dfc3526a6ed958fe4765f3
Author: Sascha Ballach <sab@openoffice.org>
Date: Thu Jun 13 11:26:31 2002 +0000
#99751#; some little fixes
with the comment that his is not necessary, so just drop it
altogether.
Change-Id: Id4559db3a9fcae561b86e1b67809cfbfaf9ef6fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183939
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Let ScAccessibleContextBase derive from
OAccessibleComponentHelper to make use of the
logic already implemented there instead of having to
implement all the XAccessibleComponent
and XAccessibleEventBroadcaster methods manually.
The existing ScAccessibleContextBase::GetBoundingBox provides
necessary logic to implement OAccessibleComponentHelper::implGetBounds,
so simply call it.
Drop all of the other overrides that are no longer
needed as the implementation is now provided by
the base class.
No change in behavior intended or observed in a quick
test with Calc using Orca and Accerciser with the gtk3
and qt6 VCL plugins on Linux.
Change-Id: I3d6db0e8c3b7c165dbbf9399e9b7c5b789cbfac5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183938
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
ScAccessibleDocumentPagePreview is their parent
and owns them, so is responsible for disposing
them again.
See also commit message of
Change-Id: I867ed2203d824bcffe86eb320cc3c009c265f4b4
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Apr 10 13:12:56 2025 +0200
sc a11y: No longer listen to parent disposal
for some potentially relevant background.
Change-Id: Ida4520a59c472d9f20c0e2df3fd61e37a0df0515
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183972
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Commit
commit 8e886993f32b7db11a99bdecf06451e6de6c3842
Date: Sat Oct 7 11:42:40 2023 +0200
tdf#157568 After deleting the content of a cell by pressing the delete..
.. key, Orca still speaks the content.
this reverts
commit f22cb3dfab413a2917cd810b8e1b8f644a016327
Author: Noel Grandin <noelgrandin@gmail.com>
Date: Mon Jun 12 20:02:19 2023 +0200
tdf#155376 weakly cache ScAccessibleCell
which was a nice idea, but means that we would need to have
some way of updating the ScAccessibleCell when the associated
cell data changes. Which is likely to be complicated.
So return to creating new ScAccessibleCell objects all the time,
but fix them to not leak.
Change-Id: Ie17ee5c950c9809d4c7281f93761584f75256121
split the XAccessibleEventListener logic from
ScAccessibleContextBase into an inner helper class
ScAccessibleContextBase::ScAccessibleContextBaseEventListener whose
lifecycle is decoupled from its ScAccessibleContextBase
object.
As the code comment says:
/**
The listener is an internal class to prevent reference-counting cycles and therefore memory leaks.
*/
Since that commit, the XAccessibleEventListener::disposing
implementation however also no longer disposes the
ScAccessibleContextBase object when being notified about
the parent disposal, but only disposes the itself,
which - if I understand correctly - doesn't seem to match the
original purpose.
This would be needed to dispose the ScAccessibleContextBase
instead:
diff --git a/sc/source/ui/Accessibility/AccessibleContextBase.cxx b/sc/source/ui/Accessibility/AccessibleContextBase.cxx
index 99707cdd4517..1918b67b55b3 100644
--- a/sc/source/ui/Accessibility/AccessibleContextBase.cxx
+++ b/sc/source/ui/Accessibility/AccessibleContextBase.cxx
@@ -56,7 +56,7 @@ public:
{
SolarMutexGuard aGuard;
if (rSource.Source == mrBase.mxParent)
- dispose();
+ mrBase.dispose();
}
virtual void SAL_CALL
stash@{4}: WIP on master: 8ace7409d57f sw a11y: Pass shell by ref
With pending Gerrit change [1] ("sc a11y: Use OAccessibleComponentHelper"),
that separation of lifecycle also was seen triggering a crash for
JunitTest_sc_unoapi_1 (s. backtrace below). At the point that
ScAccessibleContextBase::ScAccessibleContextBaseEventListener::disposing
gets called (frame #5), the ScAccessibleContextBase object (`mrBase`) has
apparently already been deleted (when pending change [1] is applied).
Drop the listener altogether.
Instead, consider it the responsibility of the owner/parent to
dispose its a11y children as needed, as it is done elsewhere.
If that disposal is currently missing anywhere, it should be added
separately. This change shouldn't have any effect in that regard due
to the listener not disposing the ScAccessibleContextBase object any
more anyway.
(There is also existing logic to dispose the object
in ScAccessibleContextBase::Notify and in the dtor,
which remains unchanged.)
Backtrace:
Thread 1 (Thread 0x7eff157ff6c0 (LWP 330592)):
#0 0x00007eff285bcc0c in com::sun::star::uno::BaseReference::iquery (pInterface=0x9999999999999999, rType=invalid uno::Type) at include/com/sun/star/uno/Reference.hxx:59
aRet = <error reading variable: Cannot access memory at address 0x99999999999999a1>
#1 0x00007eff286edc79 in com::sun::star::uno::Reference<com::sun::star::uno::XInterface>::iquery (pInterface=0x9999999999999999) at include/com/sun/star/uno/Reference.hxx:74
#2 0x00007eff28ae8254 in com::sun::star::uno::Reference<com::sun::star::uno::XInterface>::Reference (this=0x7eff157fa2f8, pInterface=0x9999999999999999) at include/com/sun/star/uno/Reference.hxx:185
#3 0x00007eff28ae817a in com::sun::star::uno::BaseReference::operator== (this=0x7eff157fa470, pInterface=0x9999999999999999) at include/com/sun/star/uno/Reference.hxx:426
x1 = uno::Reference to (ScAccessibleDocumentPagePreview *) 0x7eff08005ca0
x2 = uno::Reference to (com::sun::star::uno::XInterface *) 0x7eff289b62c8 <osl::Guard<comphelper::SolarMutex>::Guard(comphelper::SolarMutex&)+40>
#4 0x00007eff28ae3ba0 in com::sun::star::uno::BaseReference::operator== (this=0x7eff157fa470, rRef=...) at include/com/sun/star/uno/Reference.hxx:462
#5 0x00007eff291683b6 in ScAccessibleContextBase::ScAccessibleContextBaseEventListener::disposing (this=0x565180088c00, rSource=...) at /home/michi/development/git/libreoffice/sc/source/ui/Accessibility/AccessibleContextBase.cxx:58
aGuard = {<osl::Guard<comphelper::SolarMutex>> = {pT = 0x56517ce99aa0}, <No data fields>}
#6 0x00007eff7f4ea1b6 in comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>::disposeAndClear (this=0x7eff157fa4c8, rGuard=..., rEvt=...) at include/comphelper/interfacecontainer4.hxx:492
aIt = {rCont = @0x7eff157fa4c8, maData = {m_pimpl = 0x7eff08009e50}, nRemain = 0}
#7 0x00007eff7f4e930e in comphelper::AccessibleEventNotifier::revokeClientNotifyDisposing (_nClient=3, _rxEventSource=uno::Reference to (ScAccessibleDocumentPagePreview *) 0x7eff08005ca0) at /home/michi/development/git/libreoffice/comphelper/source/misc/accessibleeventnotifier.cxx:204
aGuard = {_M_device = 0x7eff7f70e4f8 <(anonymous namespace)::GetLocalMutex()::MUTEX>, _M_owns = false}
aClientPos = invalid iterator
aListeners = {maData = {m_pimpl = 0x5651800f8950}}
aDisposalEvent = {Source = uno::Reference to (ScAccessibleDocumentPagePreview *) 0x7eff08005ca0}
#8 0x00007eff7f4e5e8d in comphelper::OAccessibleComponentHelper::disposing (this=0x7eff08005ca0) at /home/michi/development/git/libreoffice/comphelper/source/misc/accessiblecomponenthelper.cxx:61
aGuard = {pT = 0x56517ce99aa0}
#9 0x00007eff29165d79 in ScAccessibleContextBase::disposing (this=0x7eff08005ca0) at /home/michi/development/git/libreoffice/sc/source/ui/Accessibility/AccessibleContextBase.cxx:110
aGuard = {<osl::Guard<comphelper::SolarMutex>> = {pT = 0x56517ce99aa0}, <No data fields>}
xKeepAlive = uno::Reference to (ScAccessibleDocumentPagePreview *) 0x7eff08005cf0
#10 0x00007eff291a2824 in ScAccessibleDocumentPagePreview::disposing (this=0x7eff08005ca0) at /home/michi/development/git/libreoffice/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx:1160
aGuard = {<osl::Guard<comphelper::SolarMutex>> = {pT = 0x56517ce99aa0}, <No data fields>}
#11 0x00007eff7ef3dc40 in cppu::WeakComponentImplHelperBase::dispose (this=0x7eff08005ca0) at /home/michi/development/git/libreoffice/cppuhelper/source/implbase.cxx:104
aEvt = {Source = uno::Reference to (ScAccessibleDocumentPagePreview *) 0x7eff08005ca0}
aGuard2 = {pT = 0x7eff157fa730}
aGuard = {pT = 0x0}
exc = <error reading variable: Cannot access memory at address 0x100000004>
#12 0x00007eff29156eb5 in cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster, com::sun::star::accessibility::XAccessibleExtendedComponent>::dispose (this=0x7eff08005ca0) at include/cppuhelper/compbase.hxx:90
#13 0x00007eff29165f84 in ScAccessibleContextBase::Notify (this=0x7eff08005ca0, rHint=...) at /home/michi/development/git/libreoffice/sc/source/ui/Accessibility/AccessibleContextBase.cxx:129
#14 0x00007eff291a2f38 in ScAccessibleDocumentPagePreview::Notify (this=0x7eff08005ca0, rBC=..., rHint=...) at /home/michi/development/git/libreoffice/sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx:1232
#15 0x00007eff7c549b8c in SfxBroadcaster::Broadcast (this=0x7eff3400cf00, rHint=...) at /home/michi/development/git/libreoffice/svl/source/notify/SfxBroadcaster.cxx:43
pListener = 0x7eff08005d28
i = 0
nSize = 5
#16 0x00007eff29b546f6 in ScPreviewShell::BroadcastAccessibility (this=0x565180199c00, rHint=...) at /home/michi/development/git/libreoffice/sc/source/ui/view/prevwsh.cxx:1159
#17 0x00007eff29b5451a in ScPreviewShell::~ScPreviewShell (this=0x565180199c00) at /home/michi/development/git/libreoffice/sc/source/ui/view/prevwsh.cxx:185
pDrawBC = 0x565180365360
#18 0x00007eff29b54759 in ScPreviewShell::~ScPreviewShell (this=0x565180199c00) at /home/michi/development/git/libreoffice/sc/source/ui/view/prevwsh.cxx:180
#19 0x00007eff7d62efff in SfxViewFrame::ReleaseObjectShell_Impl (this=0x7eff1c234340) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:1142
pDyingViewSh = 0x565180199c00
#20 0x00007eff7d63626c in SfxViewFrame::~SfxViewFrame (this=0x7eff1c234340) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:2067
pSfxApp = 0x7eff1c232340
#21 0x00007eff7d631832 in SfxViewFrame::Close (this=0x7eff1c234340) at /home/michi/development/git/libreoffice/sfx2/source/view/viewfrm.cxx:1194
#22 0x00007eff7d5ba93c in SfxFrame::DoClose_Impl (this=0x7eff1c22dac0) at /home/michi/development/git/libreoffice/sfx2/source/view/frame.cxx:138
pBindings = 0x7eff1c22e0e0
#23 0x00007eff7d60358a in SfxBaseController::dispose (this=0x565183247040) at /home/michi/development/git/libreoffice/sfx2/source/view/sfxbasecontroller.cxx:929
aGuard = {<osl::Guard<comphelper::SolarMutex>> = {pT = 0x56517ce99aa0}, <No data fields>}
xKeepAlive = uno::Reference to (ScPreviewObj *) 0x565183247068
aEventObject = {Source = uno::Reference to (ScPreviewObj *) 0x565183247040}
[1] https://gerrit.libreoffice.org/c/core/+/183938/1
Change-Id: I867ed2203d824bcffe86eb320cc3c009c265f4b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183971
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change ScAccessibleContextBase::CommitChange
from taking a `const AccessibleEventObject&`
param to taking the parameters needed to
create an AccessibleEventObject instead and
create that event in ScAccessibleContextBase::CommitChange
instead of having all callers do that themselves.
This also aligns this with
OAccessibleComponentHelper::NotifyAccessibleEvent
and therefore prepares for turning
ScAccessibleContextBase into an OAccessibleComponentHelper
subclass in an upcoming commit, to further deduplicate
XAccessibleEventBroadcaster and XAccessibleComponent
implementations.
For most cases, the event being created should be
unchanged, with few exceptions for cases that looked a
bit suspicious:
1) In ScAccessibleSpreadsheet::NotifyRefMode, a single
event object was created and then reused multiple times,
with just adjusting some of the members. While that
is fine in general, the AccessibleEventObject::OldValue
being set to the old/previous formula cell doesn't make
sense for the AccessibleEventId::SELECTION_CHANGED_WITHIN
and AccessibleEventId::SELECTION_CHANGED_ADD events, so
it is no longer set there. (For other events, the
doc in offapi/com/sun/star/accessibility/AccessibleEventId.idl
also doesn't always document an `OldValue` to be set
(or even says it should be empty), but at a quick glance,
winaccessibility might still process it if set, so leave
it in place for now.
(This should potentially be revisited independently, not
as part of a change like this that intends to not change
behavior for end users.)
2) In ScAccessibleSpreadsheet::Notify, pass an
empty/default-constructed uno::Any for the OldValue
of the AccessibleEventId::ACTIVE_DESCENDANT_CHANGED_NOFOCUS
event instead of an emtpy reference. The only handler in
AccDescendantManagerEventListener::HandleChildChangedNoFocusEvent
handles both the same way.
Similar for any events further down where the OldValue
would still be set as it's not explicitly unset.
No change in user-observable behavior was noticed in a quick test
of Calc with Orca and Accerciser and the gtk3 and qt6 VCL plugins
on Linux with this commit in place.
Change-Id: Ida3264b0935f544d4ce787b71684af148e47f86b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183931
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|