Age | Commit message (Collapse) | Author |
|
various null checks can be seen to be redundant and removed
Change-Id: Icf49c1de4b0302795d2769a370af3abceaad0221
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147147
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I36f3a5c77a7fb2d3cf267184e403e6cd24dbd70b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147112
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: If3119a1f2274aac0bf70576458e3adb4505a2a45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147076
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
|
|
if its a high contrast mode with white text on black background. Reuse
isOutputToWindow to distinguish between the case we are outputting to
screen but not using a vcl::Window (and want to use the appropiate color
for autocolor) vs the cases we are printing or exporting to pdf and not
using a vcl::Window where the color should be black.
Change-Id: Ib688892a6315fe88ba585613539088611d3995ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145234
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I731b3808896347332f938811715597ac814ae1d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146433
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I7804e7201e64f419383e37b916b212ac9c129ef6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145984
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
And simplify the latter, to always use "CDATA" type (as the former did).
"CDATA" was used in all cases but one, where an empty string was used.
Change-Id: I1b3bfae40e29628e4094d9a6e58a69a66865874c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145526
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I68e4691ac0a58e2320b534d15934ff177feb124d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145493
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I070bc1a8136e5b492c0ea56774a274b9a3d2ec2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145494
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which leads us to find that we can skip all the dynamic_cast'ing
altogether in SwView_Impl
Change-Id: I8914f78df6bfdd743df370c0017d5b8521863594
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145483
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9fa06600d3b9a2172a1818f89a3b9c06d65c8c54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145467
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...as obsoleted by ef533553559fe09b4afab651fc692885d1acf4ed "Rudimentary support
for dynamic_cast on UNO proxy objects".
This reverts all of:
4cfcc9ac37b90ce64c8402a41eb4638adb185b5c "loplugin:unocast (framework::Desktop)"
03efbf72f4ddf7a84aa8aabef348331bd4b75e8a "loplugin:unocast
(vclcanvas::TextLayout)"
80099fdd51a69eaa6c36ca88ef772810e4a777fa "loplugin:unocast (SalGtkXWindow)"
cc147f576d8687fb79c77d47d41dc4ba1678a469 "loplugin:unocast
(sdext::presenter::CachablePresenterView)"
40db42be1d8fd0f9c6c8c5ba3767ddb9ee2034c2 "loplugin:unocast
(vclcanvas::CanvasFont)"
2d1e7995eae29e2826449eb5179f5fae181794a5 "loplugin:unocast (CairoColorSpace)"
4c0bbe4bd97636207cf71a6aa120c67698891da9 "loplugin:unocast
(canvas::ParametricPolyPolygon)"
89803666621c07d1b1ac9d3bd883f0ca192a91a0 "loplugin:unocast
(vclcanas::CanvasBitmap)"
d5e0c2c8db71878d21c2a7255af08cf5f9a6dd04 "loplugin:unocast
(sfx2::DigitalSignatures)"
c0c4519e0d5b555f59bbc04cc616454edfd1f4ce "loplugin:unocast
(VCLXAccessibleComponent)"
feb8b833a6245d42400f42a0bc789dc84594ee6f "loplugin:unocast (VCLXDialog)"
1fa58cc6cc9c3849753342a5d9a6ddfa461b5e66 "loplugin:unocast (VCLXMultiPage)"
f481f036deb1b1b46f3038074c4659f3a91b9c6c "loplugin:unocast
(DocumentSettingsSerializer)"
73df933f5fa5932f94e5a1b338a3eda00a9ce354 "loplugin:unocast
(css::embed::EmbeddedUpdate)"
420165ab0ef03c0467f9d17f504de2d2fc78f0e6 "loplugin:unocast
(canvas::tools' StandardColorSpace, StandardNoAlphaColorSpace)"
9abe8ee067e6c00f19d8a13346d53c4641c27166 "loplugin:unocast (MutableTreeNode)"
9f3022ceb036f23b4b0994c3e2fbd1001bff225a "loplugin:unocast (VCLXTabPage)"
1be70dda02c12a60778b7607cff2520ae1aa611e "loplugin:unocast
(vcl::unotools::VclCanvasBitmap)"
d6a70bb641b96e8e5616448c2378131ed62658b4 "loplugin:unocast
(basegfx::unotools::UnoPolyPolygon)"
5a14f009e6782c077463c8cbb8e9cea3d7950107 "loplugin:unocast
(xmlsecurity::Certificate)"
99009c9535dfa3e0d838989ccc7d84bfa2320ff4 "loplugin:unocast (sd::Annotation)"
0c7585c5fa78887e5459885ed744e8044fd76137 "loplugin:unocast (sd::TextApiObject)"
24e14afd1bfcaed6c200ab081973fba7e47267ca "loplugin:unocast
(SignatureVerifierImpl)"
1a7ad0c10d286ce9ae2700ceb2fd50eed1fb43a4 "loplugin:unocast
(pcr::PropertyEventTranslation)"
a97e2d2702d9a6f37775ccee2c08c4f3b2479c4b "loplugin:unocast (RangePageBreaks)"
19dfdf86ad1f5b08041d8b7a9f196caf881231ab "iloplugin:unocast
(pcr::OFormattedNumericControl)"
f9785ea595fd8e911f6370e836fa579225b9e571 "loplugin:unocast
(frm::OInterfaceContainer)"
5e5f40a4a92a31b0932c690219d002fcf18598cf "loplugin:unocast (ScVbaShapes)"
27b35b2c215b4832d4378ec3a7ecbba926552d06 "loplugin:unocast (ScVbaShapeRange)"
cb3108f860065928552a86cf8acc4b3a95718ecf "cid#1517812 Dereference null return
value"
feba0ddb1521d1142560fe54b7d7696ee910237f "loplugin:unocast
(weld::TransportAsXWindow)"
4d6c23216559eb48f9943bb49d6e475a6d64ba15 "loplugin:unocast
(oox::ForumlaImExportBase)"
4844c096a8ab6a9a620c410a0949d4499f12a504 "loplugin:unocast
(cairocanvas::SurfaceProvider)"
9a0b523e0a84d403b9092176ccec4b3e3efe42d0 "loplugin:unocast
(cairocanvas::CanvasBitmap)"
8a5648d8e59b4b007dbbf3824777c19a21efc61e "loplugin:unocast
(cairocanvas::TextLayout)"
28c27a0623bc78a0590858f97d03b620985bc84c "loplugin:unocast
(cairocanvas::CanvasFont)"
53bc223cb3288e32a417696ee61c29e5f01f209d "loplugin:unocast
(cairocanvas::RepaintTarget)"
5f70b0b9f6bc4ab145ddbd9155590ed4a3b1b9ec "loplugin:unocast (SvXMLImport)"
068187a898cdd2e26e9b16c348ecc1ed2dee3f29 "loplugin:unocast (VCLXWindow)"
88b4f966202717cd4ad38a30a8eda22c3e69ed35 "loplugin:unocast
(sfx2::sidebar::SidebarController)"
f1b7a69b280aefe2f1b3b0f32193494fd765f2bd "loplugin:unocast
(SvxLineStyleToolBoxControl)"
ba76f0ba7e8de4d2953739c952004b7d9af47197 "loplugin:unocast
(i18npool::Calendar_gregorian)"
840154daf934d8df52ead1cb7acd798c4d30f007 "loplugin:unocast
(framework::AddonsToolBarWrapper)"
b0e9c4c5f063cefa9557810e3349bdb9c7493091 "loplugin:unocast
(GrammarCheckingIterator)"
8ee6cfc9655ce9de4617cea1a0d9cb9d7a4fbfac "loplugin:unocast
(ucb::ucp::ext::Content)"
5b8cd77c112bc8c0e92b8fec215c3c8e802bbc0a "loplugin:unocast
(basic::SfxScriptLibraryContainer)"
9e73ff9fce12e102bb3c3cea8d8bb96c88f2c9ad "loplugin:unocast
(sdext::presenter::PresenterNotesView)"
a98acca8fbc38d3fd5600ae5056a8e42b6d8a40d "loplugin:unocast
(SelectionChangeHandler)"
c0b59ad6e35b0cb0dea0821e95f95569739078c1 "Consistently use
comphelper::getSomethingImpl<I>(aIdentifier, this)"
276e3ccbdd3259ec3daf8a1a98fa7f406b14e21c "loplugin:unocast
(vclcanvas::RepaintTarget)"
Change-Id: I37c73e3422a5154bf6cb647640d2d3f23db8bc34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145063
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
(See the upcoming commit introducing that loplugin:unocast on why such
dynamic_casts from UNO types are dangerous.)
On macOS, where we implicitly use -fvisibility-inlines-hidden-static-local-var
since
<https://github.com/llvm/llvm-project/commit/d46f2c51e4c849683434bb5a0fb6164957474b8f>
"Make -fvisibility-inlines-hidden apply to static local variables in inline
functions on Darwin", the static id local var in
weld::TransportAsXWindow::getUnoTunnelId cannot be in an inline function
implicitly hidden via -fvisibility-inlines-hidden. Explicitly marking the
function as VCL_DLLPUBLIC would help, but would in turn cause MSVC error 2487
("member of a dll interface class may not be declared with dll interface"). So
just make the function non-inline in a new vcl/source/window/weldutils.cxx
(which would arguably be the best approach for the whole class, anyway).
Change-Id: Ib5615f6aae19346ea05b8b85ff77c0e5ea860994
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144331
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
(See the upcoming commit introducing that loplugin:unocast on why such
dynamic_casts from UNO types are dangerous.)
Change-Id: I11bc363447c44319bc47f7eebb7084f64ea85511
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144400
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
The original classes were both only used as base classes of SmModel, and
combining them will make it easier to replace the existing dynamic_casts to
those classes with XUnoTunnel. (And see the upcoming commit introducing
loplugin:unocast on why those dynamic_casts are dangerous.)
Change-Id: I4b1e0594fb202e3423d57db6457aa0e1b1b0b612
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144353
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Id7202e35bd381e36aa8d36a4ae2c9b987f8e9e79
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144293
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Id158d7778ec0c375c143cf9ce492af21b9625c9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143759
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I2c0f852a0432e7319644b0ea11533b6d153b4ac7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143780
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I5f5c1a6c79c65bd1d4bf2de4af02bef5d60ee5c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143745
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
It is needed to properly dispatch the commands in case of embedded
objects, otherwise they are dispatched to the top-level frame.
Change-Id: Ia5fadf7c35bded75f1ca20a682dc6c9f14548990
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143693
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I8be0289100cbd0921bcb05ffec186155abba8743
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143575
Tested-by: Jenkins
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
do it like this to avoid adding another mapmode and to keep things
"the same" as much as possible
Change-Id: I1965aa545646f2d27b950d6335b2f608c3e4e04b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143475
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Iaae4880324872786f956d112a71c4f0870853f90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143568
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Will create a unittest in a follow-up commit
This reverts commit 9b7600f547cec9ed1bacca3a1b995b3c33fd5723.
Change-Id: I10b28c3ae15f60da41a16136f3969ed6917d8a93
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143534
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
this is one of the secondary analyses this plugin performs
Change-Id: I022b9eda994acbd25714025b666194266e896640
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143215
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The offset is defined by formula's top/left borders (in UI under
Format->Spacing).
Change-Id: Ic17356f8c6e4db3cbe0df765d133ee240f5b088d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143136
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I7e1f68e579e6520d17e0a058e6e0a8056e082c2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142360
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I950ae3e5fb000d6acec4c26ff143b918a4e48a27
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142342
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I17a449f0a0662f0433de9cad1522a090434c1e30
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142178
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I11acd281da64b0023d74b3bc02e0f54864b94da9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142275
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
...originally done with 1d7964c5ff579ff93067dc1c3e45b522e3cb2b4e "CWS-TOOLING:
integrate CWS unifypaper01" on 2009-06-12. However, the removed
lcl_GuessPaperSize then reappeared, apparently with the merge commit
4563270cfd37f1a08e0315a5624affa3a7680771 "CWS-TOOLING: integrate CWS
printerpullpages" on 2010-01-15, presumably due to a mis-merge somewhere along
the way.
SmModel::getRenderer and SmModel::render are e.g. called when doing "Export as
PDF..." of a Math Formula, but it seems a bit hard to get into the "no real
printer" branches there that would actually have called lcl_GuessPaperSize. But
anyway, it looks reasonable to replace that function with the more elaborate
SvxPaperInfo::GetDefaultPaperSize.
(I stumbled over this when the code in lcl_GuessPaperSize caused a newly
introduced -Werror=dangling-reference with GCC 13 trunk, similar to
e0121b2478526d803681d57d59af0cbf9cf602b4 "-Werror=dangling-reference". So I
figured I'd remove that code as apparently intended back in 2009 rather than try
to fix it now.)
Change-Id: Ia73d9ece8429bbeccd4f65a9efc156c0dee52c01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142246
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
... and use our standard definition of pt.
Change-Id: I5a162b137360210335b84de33606dc7404cfc2de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142204
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
SfxInPlaceClient seems to have everything needed to check the OLE
bounds; OTOH, the embedded Math windows/widgets lack that info.
Set SmGraphicWidget MapMode to pixels when lok is active, as other
windows do.
Change-Id: Ib9b76a51a2d9253c20b782e8c53fbfa5dc776eca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142130
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
...that hits at least when building with Clang and --with-latest-c++ against
recent libc++ or MSVC standard library (where C++20 and esp. C++23 made more and
more class template member functions constexpr). My understanding is that there
is some leeway at what point a compiler should instantiate such function
specializations, and Clang decides to instantiate constexpr ones early (cf.
<https://github.com/llvm/llvm-project/commit/242ad89a15d5466d166d47978bfff983d40ab511>
"C++11 half of r147023: In C++11, additionally eagerly instantiate:" and its "Do
not defer instantiations of constexpr functions" comment, and the discussion at
<https://discourse.llvm.org/t/point-of-instantiation-of-constexpr-function-template/65129>).
> In file included from starmath/source/ElementsDockingWindow.cxx:20:
> In file included from starmath/inc/ElementsDockingWindow.hxx:22:
> In file included from include/sfx2/dockwin.hxx:22:
> In file included from ~/llvm/inst/bin/../include/c++/v1/memory:881:
> In file included from ~/llvm/inst/bin/../include/c++/v1/__memory/shared_ptr.h:30:
> ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:47:19: error: invalid application of 'sizeof' to an incomplete type 'ElementData'
> static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type");
> ^~~~~~~~~~~
> ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:281:7: note: in instantiation of member function 'std::default_delete<ElementData>::operator()' requested here
> __ptr_.second()(__tmp);
> ^
> ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:247:75: note: in instantiation of member function 'std::unique_ptr<ElementData>::reset' requested here
> _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); }
> ^
> ~/llvm/inst/bin/../include/c++/v1/__memory/construct_at.h:64:13: note: in instantiation of member function 'std::unique_ptr<ElementData>::~unique_ptr' requested here
> __loc->~_Tp();
> ^
> ~/llvm/inst/bin/../include/c++/v1/__memory/construct_at.h:89:12: note: in instantiation of function template specialization 'std::__destroy_at<std::unique_ptr<ElementData>, 0>' requested here
> _VSTD::__destroy_at(__loc);
> ^
> ~/llvm/inst/bin/../include/c++/v1/__memory/allocator_traits.h:317:16: note: in instantiation of function template specialization 'std::destroy_at<std::unique_ptr<ElementData>, 0>' requested here
> _VSTD::destroy_at(__p);
> ^
> ~/llvm/inst/bin/../include/c++/v1/vector:834:25: note: in instantiation of function template specialization 'std::allocator_traits<std::allocator<std::unique_ptr<ElementData>>>::destroy<std::unique_ptr<ElementData>, void, void>' requested here
> __alloc_traits::destroy(__alloc(), std::__to_address(--__soon_to_be_end));
> ^
> ~/llvm/inst/bin/../include/c++/v1/vector:828:29: note: in instantiation of member function 'std::vector<std::unique_ptr<ElementData>>::__base_destruct_at_end' requested here
> void __clear() _NOEXCEPT {__base_destruct_at_end(this->__begin_);}
> ^
> ~/llvm/inst/bin/../include/c++/v1/vector:433:9: note: in instantiation of member function 'std::vector<std::unique_ptr<ElementData>>::__clear' requested here
> __clear();
> ^
> starmath/source/ElementsDockingWindow.cxx:455:20: note: in instantiation of member function 'std::vector<std::unique_ptr<ElementData>>::~vector' requested here
> SmElementsControl::SmElementsControl(std::unique_ptr<weld::IconView> pIconView)
> ^
> starmath/inc/ElementsDockingWindow.hxx:35:8: note: forward declaration of 'ElementData'
> struct ElementData;
> ^
Change-Id: Iaae76ed5e59d04da32b468a69052ef305ca8005a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141819
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I3c94d68cb85adc2005a5a5e3b03a311732f782c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141617
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
these two are redundant, the base class queryInterface already handles
them
Change-Id: I047b32941c104a03a994e0553d80c4ead2b967df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141444
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
OpenXMLFilterSettings has nothing to do with macros,
but was moved there in LO 6.3.
In 6.2 it was placed just before Extension Manager,
so that is where I returned it.
Change-Id: Id80b5984c785dc66e66aeb3215d8f1ef8c837442
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140739
Tested-by: Justin Luth <jluth@mail.com>
Reviewed-by: Justin Luth <jluth@mail.com>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Change-Id: I3569d8dd41bf1c2db6a1fd379ca5596342922e45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140786
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which makes it easier to know what each variant requires
to stay on it's happy path
Change-Id: I3275a2543573367714bc78092e882f6535507285
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140469
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
this is the inline starmath editing where you can edit the formula
directly in the view window instead of the command window. Currently
requires experimental to be enabled.
reproduce by clicking in initially empty formula and enter a character.
In practice the deleted pos.pSelectedNode is not actually used-after-free
in SmCursor::FindPositionInLineList because it is not found by the
std::find of pLineList.
Change-Id: I57476a8eb073914099c5026dd33dc75b20288d52
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140003
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
==1533286== Conditional jump or move depends on uninitialised value(s)
==1533286== at 0x12DEC3C9: param_double_validate (gparamspecs.c:592)
==1533286== by 0x12DEF924: g_param_value_validate (gparam.c:700)
==1533286== by 0x12DEFA9A: object_set_property (gobject.c:1594)
==1533286== by 0x12DF1F96: g_object_set_valist (gobject.c:2538)
==1533286== by 0x12DF2253: g_object_set (gobject.c:2705)
==1533286== by 0x241E8C44: gtk_adjustment_configure (gtkadjustment.c:833)
==1533286== by 0x23B6310A: (anonymous namespace)::GtkInstanceScrolledWindow::vadjustment_configure(int, int, int, int, int, int) (gtkinst.cxx:8207)
==1533286== by 0x23B63D3D: virtual thunk to (anonymous namespace)::GtkInstanceScrolledWindow::vadjustment_configure(int, int, int, int, int, int) (gtkinst.cxx:0)
==1533286== by 0x36424112: SmGraphicWindow::Resize() (view.cxx:227)
Change-Id: Ib81e26b1042e7a5eebd0a2b561f57f7b4eb25dd4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140002
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
need to move it, because modules "below" vcl want
to use the debug output method
Change-Id: Ibcaf4089a1e0b3fcc0b5189c7ebf1aae90f50b48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139791
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See: https://gerrit.libreoffice.org/c/core/+/120753
Change-Id: I9b02a4a7b4bc6c132220710573b7672b1a5b1c60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134163
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I99950e6dd73822ef49f9d4ef1155a5722b748127
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120786
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I74cf3eed734bc09abdbca455d9a762b5aeb02481
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139315
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
With 16k column support in Calc enabled by default in
commit 4c5f8ccf0a2320432b8fe91add1dcadf54d9fd58
Date: Tue Mar 8 12:44:49 2022 +0100
change default Calc number of columns to 16384 (tdf#50916)
, the number of Calc cells in a spreadsheet is larger than
SAL_MAX_INT32, meaning that a 32-bit a11y child index is no more
enough and using it resulted in integer overflows in
methods handling corresponding Calc cells in the a11y layer.
This e.g. had the effect of the Orca and NVDA screen readers
not announcing focused or selected cells properly when their
a11y child index was out of the 32-bit integer range.
Switch the internal a11y child indices to 64 bit to
be able to handle this properly internally.
Since the platform APIs (at least AT-SPI on Linux and
IAccessible2 on Windows; from what I can see LO's macOS
a11y bridge doesn't directly expose the child index)
are still restricted to 32 bit, larger child indices
still cannot be exposed via the platform APIs.
As a consequence, use of the the IAccessible2 and
AT-SPI methods that use the child index remains
problematic in those cases where the child index
is larger. However, as an alternative to using the
AT-SPI Table interface and the IAccessibleTable/
IAccessibleTable2 interfaces with the child index
to retrieve information about a specific cell,
both AT-SPI and IAccessible2 also provide interfaces
to retrieve that information directly
from the cell object (TableCell interface for AT-SPI,
IAccessibleTableCell for IAccessible2).
Those interfaces are already implemented/exposed
for winaccessibility (s. `CAccTable`) and the
qt5/qt6/kf5 VCL plugins (s. the `QAccessibleTableCellInterface`
methods implemented in `QtAccessibleInterface`).
With the switch to 64-bit internal a11y child indices,
these now behave correctly for cells with a child
index that doesn't fit into 32 bit as well.
NVDA on Windows already uses the IAccessibleTableCell
interface and thus announcing focused cells works fine
with this change in place.
Orca on Linux currently doesn't make use of the AT-SPI
TableCell interface yet, but with a suggested change to
do so [1], announcement of selected cells works
with the qt6 VCL plugin with a current qtbase dev branch
as well - when combined with the suggested changes
to implement support for the AT-SPI TableCell interface
in Qt [2] [3] and the LO change based on that [4] and
a fix for a nullptr dereference [5].
The gtk3 VCL plugin doesn't expose the AT-SPI
TableCell interface yet, but once it does so
(via `AtkTableCell`), it also works with the
suggested Orca change [1] in place.
(Adding that is planned for an upcoming change,
works with a local WIP patch.)
For handling return values that are larger than what
platform APIs support, the following approach has
been chosen for now:
1) When the return value is for the count of
(selected) children, the maximum value N
supported by the platform API is returned.
(This is what `ScAccessibleTableBase::getAccessibleChildCount`
did previously.)
The first N elements can be accessed by their
actual (selection) indices.
2) When the return value is the child/cell index,
-2 is returned for objects whose index is greater
than the maximum value supported by the platform
API.
Using a non-negative value would mean that the
index would refer to *another* actually existing
child. A child index of -1 on the other hand
tends to be interpreted as "child is invalid" or
"object isn't actually a child of its (previous)
parent any more)". For the Orca case, this would
result in objects with a child index of -1
not being announced, as they are considered
"zombies" [6].
What's still somewhat problematic is the case where
more than 2^31 children are *selected*, since access
to those children still happens by the index into
the selection in the platform APIs, and not all
selected items are accessible this way.
(Screen readers usually just retrieve
the first and last element from the selection and
announce those.)
Orca already seems to apply different handling for the
case for fully selected rows and columns, so
"All cells selected" or "Columns ... to ... selected"
is announced just fine even if more than 2^31
cells are selected.
(Side note: While Microsoft User Interface
Automation - UIA - also uses 32-bit indices, it also
has specific methods in the ISelectionProvider2
interface that allow to explicitly retrieve the
first and last selected item,
`ISelectionProvider2::get_FirstSelectedItem` and
`ISelectionProvider2::get_LastSelectedItem`, but
we currently don't support UIA on Windows.)
Bound checks at the beginning of the methods from the
`XAccessibleContext`, `XAccessibleSelection` and
`XAccessibleTable` interfaces that take a child index
(or in helper methods called by those) should generally
already prevent too large indices from being passed to
the methods in the lower layer code that take smaller
integer types. Such bound checking has been
been added in various places where it wasn't present yet.
If there any remaining issues of this
kind that show after this commit, they can probably be
solved in a similar way (s.e.g. the change to
`AccessibleBrowseBox::getAccessibleChild` in this
commit).
A few asserts were also added at
places where my understanding is that values shouldn't
be larger than what is supported by a called method
anyway.
A test case will be added in a following change.
[1] https://gitlab.gnome.org/GNOME/orca/-/merge_requests/131
[2] https://codereview.qt-project.org/c/qt/qtbase/+/428566
[3] https://codereview.qt-project.org/c/qt/qtbase/+/428567
[4] https://gerrit.libreoffice.org/c/core/+/138750
[5] https://codereview.qt-project.org/c/qt/qtbase/+/430157
[6] https://gitlab.gnome.org/GNOME/orca/-/blob/82c8542002e36e0d3d918088d583162d25136143/src/orca/script_utilities.py#L5155
Change-Id: I3af590c988b0e6754fc72545918412f39e8fea07
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139258
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: Ib6dd69e4610ee6df76cde8446677e0f68bed3e0e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139157
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
the assumption is that m_aSvXMLElementExportList[m_nDepth] can be
written to here, so it should at least be resize not reserve
Change-Id: I2bb6074ca9dd2f71e17f5b9ec955e4d6d65edaa9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139098
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
set it at construction time
Change-Id: I8923ea8f79c4bf18054fc697e2b35caad1b12486
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139024
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
and make uno:ElementsDockingWindow open the respective sidebar panel.
Change-Id: I9736d6804c579b83404636d5e327c49c2fdeb914
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138458
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|