Age | Commit message (Collapse) | Author |
|
Change-Id: I6649e13646e4fd33dd1858f5a5a56ec0955005dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155841
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
the other views might be viewing other tabs and it is only
the tab ('part') this view is on which is invalidated
Change-Id: I9f054ffa6158a6bc62e3eb7b7170450e26870b54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155816
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
it should be the same effect
Change-Id: I2faa0b728fdebe837855e1f23e066ae8b1a2bde6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155815
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
and move a11y one to 8 to match visual order
Change-Id: Ifb4e08f6214da1cdd75bd3b5aa43ac9143e70376
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155832
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
... just as is used for `maAllBorders` below.
Change-Id: I0741a039cc0ee9ad01055414f471dab45f420ed6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155849
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Don't just invalidate, but also dispose the a11y children
in `FrameSelectorImpl::~FrameSelectorImpl`.
This fixes a crash on exit that's reproducible with
the gtk3 VCL plugin e.g. like this (maybe some
steps aren't even needed):
1) start LO Writer with the gtk3 VCL plugin
2) right-click, select "Character" > "Character"
in context menu
3) switch to "Font Effects" tab
4) press space key with focus in the font color combobox
to open the popup
5) use Tab key to get to the view of colors
6) move around with arrow keys a bit
7) close the dialog and Writer
Reverse-continuing to `atk_object_wrapper_dispose`
(frame #10 in the below backtrace) in rr
showed the involved a11y object:
uno::Reference to (svx::a11y::AccFrameSelectorChild *) 0x5557832b9150
Backtrace (somewhat similar to the one in tdf#156683):
#0 0x00007ffff6b15cd6 in comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>::disposeAndClear(std::unique_lock<std::mutex>&, com::sun::star::lang::EventObject const&)
(this=0x7fffffffca88, rGuard=..., rEvt=...) at .../include/comphelper/interfacecontainer4.hxx:397
#1 0x00007ffff6b13c6f in comphelper::AccessibleEventNotifier::revokeClientNotifyDisposing(unsigned int, com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&)
(_nClient=1058, _rxEventSource=uno::Reference to (svx::a11y::AccFrameSelectorChild *) 0x55555cecfdf0) at .../comphelper/source/misc/accessibleeventnotifier.cxx:204
#2 0x00007ffff6b1028a in comphelper::OCommonAccessibleComponent::disposing() (this=0x55555cecfdf0) at .../comphelper/source/misc/accessiblecomponenthelper.cxx:61
#3 0x00007ffff6674aeb in cppu::WeakComponentImplHelperBase::dispose() (this=0x55555cecfdf0) at .../cppuhelper/source/implbase.cxx:104
#4 0x00007ffff2ddf0e0 in cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster>::dispose() (this=0x55555cecfdf0)
at .../include/cppuhelper/compbase.hxx:90
#5 0x00007ffff6674834 in cppu::WeakComponentImplHelperBase::release() (this=0x55555cecfdf0) at .../cppuhelper/source/implbase.cxx:79
#6 0x00007ffff2ddf642 in cppu::PartialWeakComponentImplHelper<com::sun::star::accessibility::XAccessibleContext2, com::sun::star::accessibility::XAccessibleEventBroadcaster>::release() (this=0x55555cecfdf0)
at .../include/cppuhelper/compbase.hxx:86
#7 0x00007ffff2ddf378 in cppu::ImplInheritanceHelper<comphelper::OCommonAccessibleComponent, com::sun::star::accessibility::XAccessibleComponent>::release() (this=0x55555cecfdf0)
at .../include/cppuhelper/implbase.hxx:171
#8 0x00007ffff2ddf0a0 in cppu::ImplInheritanceHelper<comphelper::OAccessibleComponentHelper, com::sun::star::accessibility::XAccessible>::release() (this=0x55555cecfdf0)
at .../include/cppuhelper/implbase.hxx:171
#9 0x00007fffe3f29535 in com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleContext>::clear() (this=0x55555d40a010) at .../include/com/sun/star/uno/Reference.hxx:231
#10 0x00007fffe3f288de in atk_object_wrapper_dispose(AtkObjectWrapper*) (wrapper=0x55555d409fa0) at .../vcl/unx/gtk3/a11y/atkwrapper.cxx:1078
#11 0x00007fffe3f27527 in atk_object_wrapper_finalize(GObject*) (obj=0x55555d409fa0) at .../vcl/unx/gtk3/a11y/atkwrapper.cxx:674
#12 0x00007ffff138c48c in g_object_unref () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007fffe3f003f7 in AtkListener::~AtkListener() (this=0x55555ce6ecb0, __in_chrg=<optimized out>) at .../vcl/unx/gtk3/a11y/atklistener.cxx:57
#14 0x00007fffe3f0042e in AtkListener::~AtkListener() (this=0x55555ce6ecb0, __in_chrg=<optimized out>) at .../vcl/unx/gtk3/a11y/atklistener.cxx:58
#15 0x00007ffff6756838 in cppu::OWeakObject::release() (this=0x55555ce6ecb0) at .../cppuhelper/source/weak.cxx:230
#16 0x00007fffe3f0a7de in cppu::WeakImplHelper<com::sun::star::accessibility::XAccessibleEventListener>::release() (this=0x55555ce6ecb0) at .../include/cppuhelper/implbase.hxx:115
#17 0x00007ffff6b21b99 in com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>::~Reference() (this=0x55555d40a0c0, __in_chrg=<optimized out>)
at .../include/com/sun/star/uno/Reference.hxx:114
#18 0x00007ffff6b217a9 in std::_Destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> >(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*)
(__pointer=0x55555d40a0c0) at /usr/include/c++/13/bits/stl_construct.h:151
#19 0x00007ffff6b20bcf in std::_Destroy_aux<false>::__destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*>(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*) (__first=0x55555d40a0c0, __last=0x55555d40a0c8) at /usr/include/c++/13/bits/stl_construct.h:163
#20 0x00007ffff6b1f105 in std::_Destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*>(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*) (__first=0x55555d40a0c0, __last=0x55555d40a0c8) at /usr/include/c++/13/bits/stl_construct.h:196
#21 0x00007ffff6b197aa in std::_Destroy<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> >(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>*, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> >&) (__last=0x55555d40a0c8, __first=0x55555d40a0c0) at /usr/include/c++/13/bits/alloc_traits.h:947
#22 std::__cxx1998::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >::~vector()
(this=0x55555cf22af8, __in_chrg=<optimized out>) at /usr/include/c++/13/bits/stl_vector.h:732
#23 0x00007ffff6b17402 in std::__debug::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >::~vector() (this=0x55555cf22ae0, __in_chrg=<optimized out>) at /usr/include/c++/13/debug/vector:230
#24 0x00007ffff6b1742a in o3tl::cow_wrapper<std::__debug::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >, o3tl::ThreadSafeRefCountingPolicy>::impl_t::~impl_t() (this=0x55555cf22ae0, __in_chrg=<optimized out>) at .../include/o3tl/cow_wrapper.hxx:176
#25 0x00007ffff6b17485 in o3tl::cow_wrapper<std::__debug::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >, o3tl::ThreadSafeRefCountingPolicy>::release() (this=0x55555d40a0b0) at .../include/o3tl/cow_wrapper.hxx:207
#26 0x00007ffff6b15700 in o3tl::cow_wrapper<std::__debug::vector<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener>, std::allocator<com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleEventListener> > >, o3tl::ThreadSafeRefCountingPolicy>::~cow_wrapper() (this=0x55555d40a0b0, __in_chrg=<optimized out>) at .../include/o3tl/cow_wrapper.hxx:271
#27 0x00007ffff6b145b4 in comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>::~OInterfaceContainerHelper4() (this=0x55555d40a0b0, __in_chrg=<optimized out>)
at .../include/comphelper/interfacecontainer4.hxx:126
#28 0x00007ffff6b206c6 in std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >::~pair() (this=0x55555d40a0a8, __in_chrg=<optimized out>)
at /usr/include/c++/13/bits/stl_pair.h:187
#29 0x00007ffff6b1aac4 in std::__new_allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> >::destroy<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > >(std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >*) (__p=0x55555d40a0a8, this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>) at /usr/include/c++/13/bits/new_allocator.h:194
#30 std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> > >::destroy<std::pair<unsigned i--Type <RET> for more, q to quit, c to continue without paging--
nt const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > >(std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> >&, std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >*) (__p=0x55555d40a0a8, __a=...)
at /usr/include/c++/13/bits/alloc_traits.h:557
#31 std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> > >::_M_deallocate_node(std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false>*)
(this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>, __n=0x55555d40a0a0) at /usr/include/c++/13/bits/hashtable_policy.h:2020
#32 0x00007ffff6b188b7 in std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false> > >::_M_deallocate_nodes(std::__detail::_Hash_node<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, false>*)
(this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>, __n=0x55555d409ef0) at /usr/include/c++/13/bits/hashtable_policy.h:2042
#33 0x00007ffff6b164e6 in std::_Hashtable<unsigned int, std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> >, std::allocator<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::clear() (this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>) at /usr/include/c++/13/bits/hashtable.h:2509
#34 0x00007ffff6b187cc in std::__cxx1998::unordered_map<unsigned int, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > > >::clear() (this=0x7ffff6f64988 <(anonymous namespace)::gaClients+40>)
at /usr/include/c++/13/bits/unordered_map.h:798
#35 0x00007ffff6b164a0 in std::__debug::unordered_map<unsigned int, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener>, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, comphelper::OInterfaceContainerHelper4<com::sun::star::accessibility::XAccessibleEventListener> > > >::clear() (this=0x7ffff6f64960 <(anonymous namespace)::gaClients>)
at /usr/include/c++/13/debug/unordered_map:234
#36 0x00007ffff6b14151 in comphelper::AccessibleEventNotifier::shutdown() () at .../comphelper/source/misc/accessibleeventnotifier.cxx:268
#37 0x00007fffee53fa20 in DeInitVCL() () at .../vcl/source/app/svmain.cxx:594
#38 0x00007fffee53e227 in ImplSVMain() () at .../vcl/source/app/svmain.cxx:229
#39 0x00007fffee53e283 in SVMain() () at .../vcl/source/app/svmain.cxx:236
#40 0x00007ffff7a9f51d in soffice_main() () at .../desktop/source/app/sofficemain.cxx:94
#41 0x00005555555549d4 in sal_main () at .../desktop/source/app/main.c:51
#42 0x00005555555549ba in main (argc=2, argv=0x7fffffffd8e8) at .../desktop/source/app/main.c:49
Change-Id: I22c665f3c41624f4916b956ea266ff1d39fbe507
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155848
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The default value works for text boxes, but not for these special
presentation placeholder objects - here the values need to be written
explicitly.
Change-Id: Id606bd5e6b63dee2fd3b385435ce13ecec63b5f1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155838
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
Since Java 9, the major version number is the actual one,
while up to including Java 8, that wasn't the case
(Java 8 would use a version string of 1.8.x).
Update the version check accordingly, which was still
assuming the old versioning scheme, i.e. would pass
for any Java version >= 1.9.0.
(This shouldn't make any difference in practice yet,
but will once the minimium version is increased.)
Change-Id: I79eeb247315499caddd63d6abbb1e14ea6a72a4a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155826
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The variable was introduced in
commit b97cade9183d14ad21ae71892348a9a81689488b
Date: Sun Apr 7 12:14:36 2013 -0400
Supress warnings about unset classpath
I get the below warning for every single jar file without this patch.
warning: [options] bootstrap class path not set in conjunction with
-source 1.5
1 warning
Change-Id: I71c01aeea993640f1ec86fe1d8a977656861358d
, at a time when Java 5 was the minimum version,
likely to suppress warnings with JDK versions >= 6
(greater than 1.6.0 to be exact...).
The version check was then just bumped along with the Java
baseline bumps in
commit aafc10c9edb61e13ac557c7e43c8d4a31dce4f37
Date: Fri Jul 26 10:19:39 2019 +0200
Bump Java baseline to Java 8
and
commit 941b567a41569260fef14a7337511e8f42337323
Date: Thu May 7 09:42:22 2020 +0200
tdf#131572 Add java 9 module info for libreoffice.jar
for no apparent reason.
In any case, the variable will always be set to TRUE,
since the Java version string is using the actual
major version number as the first digit since
JDK 9 (while JDK 8 would still use 1.8.x as version
string), s.a. upcoming commit
Change-Id I79eeb247315499caddd63d6abbb1e14ea6a72a4a
("configure.ac: Update Java check for JDK >= 9 version string").
Drop the variable and set the Java params
in `solenv/gbuild/JavaClassSet.mk` unconditionally.
Change-Id: Ib4aad07da3937289fc6ff29dd80abdd4c35f1773
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155825
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
If the `FloatWinPopupFlags::GrabFocus` flag is set,
don't only pass it to `FloatingWindow::StartPopupMode`,
but explicitly grab focus again after showing the
docking window (client window of the floating window).
At least proper handling for accessible focus/focused
events depends on the window being visible at the point
it receives focus.
For winaccessibility, the a11y event listener only
gets registered once the window gets shown
(`VCLXAccessibleComponent::ProcessWindowChildEvent`
forwards a `VclEventId::WindowShow` as
`accessibility::AccessibleEventId::CHILD` event, which
winaccessibility then processes and registers an
event listener for the new child).
This makes NVDA on Windows announce focus for the
"Automatic" button in the color popup in Writer's
character style dialog also when the popup shows
for the first time.
Change-Id: I2e4028eb4ec68a8b586cbd1a0dc5351d1453937e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155843
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Change-Id: If6cc3da3e75ad7689a0de35784c2d29d5b01b96e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155833
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... when there is a page break on the next page.
Of course you can put a section into a fly, and then link multiple flys.
(regression from commit 325fe7ab507fd8f2ca17a3db32181edf30169525)
Change-Id: I5cb854fc7ee5caa2af4e04f4da2d8a8083c0d007
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155842
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
otherwise I sometimes get a crash during
make UITest_sw_options
when an exception in configmgr goes up the stack and hits
the noexcept lamba in the vcl/
stuff that executes Application::PostUserEvent stuff
#1 in configmgr::RootAccess::getNode()
#2 in configmgr::Access::isValue()
#3 in configmgr::configuration_provider::(anonymous namespace)::Service::createInstanceWithArguments
#4 in non-virtual thunk to configmgr::configuration_provider::(anonymous namespace)::Service::createInstanceWithArguments
#5 in UUIInteractionHelper::getInteractionHandlerList
#6 in UUIInteractionHelper::tryOtherInteractionHandler
#6 in UUIInteractionHelper::handleRequest_impl
#7 in UUIInteractionHelper::handlerequest
Change-Id: Id90b4d27d3886984c64acdfee98d9c4696c3c03f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155766
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
It turns out that every single client of InternetProxyDecider simply
concatenates the 2 members of InternetProxyServer into a single string
and passes it on to curl_easy_setopt(CURLOPT_PROXY), which will happily
take a URL including scheme and everything.
It turns out that the awful GetUnixSystemProxy() tries to cut off the
scheme in a terrible way, but GetPACProxy() does no such thing and
WINHTTP_PROXY_INFO::lpszProxy may or may not contain scheme in its
entries; fix this to only separate the port and leave the rest alone.
So why do we need a InternetProxyServer struct? Because officecfg has
separate entries that correspond to its members, and so
InternetProxyDecider gets separate events on its listener interface when
any of them changes, which is easiest to handle if it stores these
separately.
So just return a concatenated URL with or without scheme in getProxy().
Change-Id: I43c696471c8bec90667b5930fa00975adb432fe1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155840
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
If rSession.m_Proxy.aName is a simple host-name, the CurlUri constructor
will fail with CURLUE_BAD_SCHEME, so just ignore the error here,
we only care about parsing out the username/password
Change-Id: Iec2d6e7315a5899ddddf6120a43199b75bf62db2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155834
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
no change in behaviour intended
Change-Id: Idee6615cc86cd01bea9aaf17fff2840eea6521a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155814
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
no change in behaviour intended
Change-Id: I6040eafb03bcf39724761d7708540e9b25edd8f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155813
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
instead of checking equal CheckSums.
For better or worse while Bitmap::operator== also considers equal
CheckSums as equal Bitmaps operator== can quickly return true if
both Bitmaps share the same underlying SalBitmap which is nearly
always true in the example here
Change-Id: I6b5cd484aeef7505721a493a3bff23ee345147dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155740
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
because on some keyboard layouts ctrl+alt is basically
equivalent to altgr and removes the possibility to enter
specific letters.
use Alt+3 etc because that 1-9 sequence seems free and
unproblematic vs other combinations.
If that doesn't work out then maybe we don't need one per sidebar entry
and just have a single entry to jump to the sidebar toolbar and a follow
up of press of 1-9 to activate a specific deck.
Change-Id: I676d03c7e1c7bcb3b6c08e6d30aa23cf61838b38
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155831
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Instead use descriptive language to make it obvious what these options are for.
Also invert the logic of the "Do not split paragraph" option as suggested in tdf#156109.
Change-Id: I619c0558597aff26b8b7fafea3548d8bf1f24a36
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155769
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
* Update helpcontent2 from branch 'master'
to 01eaa54adbab405db6aad6c2d476bd4ee775e61f
- Mute l10n on string
Change-Id: I7c4eddb32ca0551f0683d380c202946ea754d0de
Reviewed-on: https://gerrit.libreoffice.org/c/help/+/155777
Tested-by: Jenkins
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
|
|
The problem was that in case a table has a table border but no cell
border, then the follow table was missing a top border in case the
follow table had multiple rows.
This was already working for single-row follow tables since commit
a4da71fb824f2d4ecc7c01f4deb2865ba52f5f4c (INTEGRATION: CWS fmebugs04
(1.115.46); FILE MERGED 2008/05/13 13:56:19 fme 1.115.46.2: #i9860# Top
border for tables - correction 2008/05/13 13:49:23 fme 1.115.46.1:
i#9860 Top border for tables, 2008-06-06).
Fix the problem by checking for the case when the first row in a follow
table has no own bottom border and then take that bottom border from the
last row instead, if that has a bottom border.
The reported case around the missing bottom border in the master table
still needs work.
Change-Id: Ib418da99067a42efcf3bd0e2d6a9467797de619a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155824
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I29aa97b8072fccee24ed0053c9492d61bef44cb0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155828
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I0c7e1d2c2cf9d20ca40a45d2880ff5dcea4a238d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155830
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ia78a6a37b21cd2e286574adcd5fa64818f7d0d75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155829
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Crashreport signature:
Fatal signal received: SIGSEGV code: 1 for address: 0x0
program/libmergedlo.so
SfxLokHelper::notifyOtherView(SfxViewShell const*, SfxViewShell const*, int, boost::property_tree::basic_ptree<std::string, std::string, std::less<std::string> > const&)
sfx2/source/view/lokhelper.cxx:473
program/libmergedlo.so
ImpEditView::ShowCursor(bool, bool)
editeng/source/editeng/impedit.cxx:1423
program/../program/libsclo.so
ScViewData::SetEditEngine(ScSplitPos, ScEditEngineDefaulter*, vcl::Window*, short, int)
sc/source/ui/view/viewdata.cxx:1635
program/libsclo.so
ScTabView::UpdateEditView()
sc/source/ui/view/tabview3.cxx:2190
Change-Id: I219a1e9685db9bc3ea03d6ab67ff5db74aac9343
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155823
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Ibafcd3998396f4d763faad4296c3f7355cd90cf1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155718
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
since querying with exceptions is consideably more expensive
Change-Id: I968a9a40766b2abb0d3058549b0ed44011fd5716
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155791
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... on the same page when there is a page break on the next page.
The existing, presumably pointless/always-false in case of same page,
check of WrongPageDesc() let me assume that this would only be reached
if the current page and the target page are different, but that was a
mistake.
(regression from commit 325fe7ab507fd8f2ca17a3db32181edf30169525)
Change-Id: I4df53b77bed006095c34976011aa0cd5e12879e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155809
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
On page 30 there are at-page anchored shapes Shape22, Shape23 and
Shape25.
Shape22 and Shape23 are positioned relative to the bottom of the page
text area, and that is working; Shape25 is positioned with an offset to
the top of the page text area, and that doesn't work.
The problem is that the shapes are positioned when the header on the
page hasn't been formatted yet, and once the header is formatted, the
position of the Shape25 is not invalidated, so it's a header-height too
far up.
(regression from commit 425a252c3cc5e5a79a533965026dd4af6b8df739)
Change-Id: Ic907d98b1bcd4bb544fd1af9bf93ebc7b75bf362
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155762
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
This change is not about speed improvements but diverse
preparations to make changes/reading/understanding easier.
It does not change speed AFAIK.
Added a global static debug-only counter to allow getting
an overview over number of all allocated SfxPoolItem's
and the still alloated ones at office shutdown. The values
are used in Application::~Application to make a short info
statement. It allows to be able to quickly detect if an
error in future changes may lead to memory losses - these
would show in dramaitically higher numbers then (hopefully)
immediately.
Moved SfxVoidItem to own source/header.
Added container library interface support to SfxItemSet,
adapted already some methods to use it - not all possible,
I will commit & get status from gerrit 1st if all still works
and then continue.
Changed INVALID_POOL_ITEM from -1 to use a global unique
incarnation of an isolated derivation from SfxPoolItem. It
allows to avoid the (-1) pointer hack. Since still just
pointers are compared it's not worse. NOTE: That way, more
'special' SfxPoolItem's may be used for more States - a
candidate is e.g. SfxVoidItem(0) which represents ::DISABLED
state -- unfortunately not only, it is also used (mainly for
UI stuff) with 'real' WhichIDs - hard to sort out, will have
to stay that way for now AFAIK.
Changed INVALID_POOL_ITEM stuff to use a static extern
incarnated item in combination with a inline method
to return it, called GetGlobalStaticInvalidItemInstance().
Isolated create/cleanup of a SfxPoolItem entry in
SfxItemSet to further modularize/simplify that. It is
currently from constructor & destructor but already shows
that PoolDefaults are handled differently - probably an
error. Still, for now, do no change in behaviour (yet).
Got regular 'killed by the Kill-Wrapper' messages from
gerrit, seems to have to do with UITest_sw_findReplace.
That python/c++ scripting stuff is hard to debug, but
finally I identified the problem has to do with
the INVALID_POOL_ITEM change. It was in
SfxItemSet::InvalidateAllItems() where still a (-1)
was used -> chaos in detecting invalid items.
Change-Id: I595e1f25ab660c35c4f2d19c233d1dfadfe25214
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155675
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
warn:legacy.osl:3509:3314:unotools/source/config/confignode.cxx:408: OConfigurationNode::hasByName: object is invalid!
warn:legacy.osl:3509:3314:unotools/source/config/confignode.cxx:409: OConfigurationNode::hasByName: object is invalid!
warn:legacy.osl:3509:3314:comphelper/source/misc/types.cxx:90: comphelper::getBOOL : invalid argument !
in cool, open a document, switch from light to dark with sidebar open,
click on a paragraph and then on another with different properties, e.g.
normal vs heading and each change of a sidebar context triggers the
warning over and over again.
The config has no mention of notebookbar_online.ui but we set
notebookbar_online.ui as the default to use for a notebookbar
so replace mentions in the config of notebookbar.ui with
notebookbar_online.ui for consistency when we do that and we
can drop the constant log spam.
Change-Id: I41860f5422d4426d8e3786b38c967e52bc803ae3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155804
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I8c0e513d36c087e9ea8019325cdb3122bec744be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155743
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Ic893e573b2409342d61877313a3b60e83bb13690
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154984
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
Change-Id: I466d873791351f1eee02cc6bff2adc43e539eece
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155768
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
Add DATEADD function to SQL parser, so the function can be used in
Query's Design and can produce editable queries
Change-Id: I14f9d88f6a96021b0f9199fd79df18c8f4bb5ea3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155071
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
While working on tdf#156561 and tdf#141101, I experienced
a crash with the below backtrace on Windows at some point.
Potentially a regression from:
commit 0e8b7dd7a013dffe080148baac926a698f36ad85
Date: Wed Jul 19 15:19:28 2023 +0200
split GetWindowExtentsRelative asunder
Use the `GetWindowExtentsAbsolute` variant when
screen coordinates are wanted, as is done elsewhere
since the above commit.
Backtrace:
1 std::unique_ptr<WindowImpl,std::default_delete<WindowImpl>>::operator-> memory 3295 0x7fffa807a02a
2 vcl::Window::GetWindowExtentsRelative window.cxx 2953 0x7fffa82b7132
3 SvHeaderTabListBox::calcHeaderRect svtabbx.cxx 771 0x7fffa850a1a6
4 accessibility::AccessibleBrowseBoxHeaderBar::implGetBoundingBoxOnScreen AccessibleBrowseBoxHeaderBar.cxx 311 0x7fffa41b2728
5 accessibility::AccessibleBrowseBoxBase::getBoundingBoxOnScreen AccessibleBrowseBoxBase.cxx 408 0x7fffa41ada97
6 accessibility::AccessibleBrowseBoxBase::getLocationOnScreen AccessibleBrowseBoxBase.cxx 228 0x7fffa41ae134
7 CMAccessible::accHitTest MAccessible.cxx 988 0x7fffbf8d7fad
8 NdrSendReceive RPCRT4 0x7ff81155b4b3
9 NdrSendReceive RPCRT4 0x7ff81155a282
10 NdrStubCall2 RPCRT4 0x7ff8114fe1ca
11 NdrStubCall3 RPCRT4 0x7ff8114fd494
12 CStdStubBuffer_Invoke combase 0x7ff812295f1c
13 CStdStubBuffer_Invoke RPCRT4 0x7ff81153a74b
14 CoWaitForMultipleHandles combase 0x7ff81226bad3
15 CoWaitForMultipleHandles combase 0x7ff81226b85e
16 HSTRING_UserSize combase 0x7ff81229aaa6
17 RoGetActivatableClassRegistration combase 0x7ff812211283
18 CoWaitForMultipleHandles combase 0x7ff812269d7d
19 SetErrorInfo combase 0x7ff812205036
20 CoMarshalInterface combase 0x7ff8122635fa
21 CallWindowProcW USER32 0x7ff8126be858
22 DispatchMessageW USER32 0x7ff8126be299
23 ImplSalDispatchMessage salinst.cxx 474 0x7fffa48301d8
24 ImplSalYield salinst.cxx 551 0x7fffa48308fd
25 WinSalInstance::DoYield salinst.cxx 580 0x7fffa482fe01
26 ImplYield svapp.cxx 352 0x7fffa891790d
27 Application::Yield svapp.cxx 437 0x7fffa891b862
28 Application::Execute svapp.cxx 330 0x7fffa8914c4a
29 desktop::Desktop::Main app.cxx 1601 0x7fffc71696b2
30 ImplSVMain svmain.cxx 204 0x7fffa892d08c
31 SVMain svmain.cxx 237 0x7fffa892d8f2
32 soffice_main sofficemain.cxx 94 0x7fffc71b81f2
33 sal_main main.c 51 0x7ff6b4f91013
34 main main.c 49 0x7ff6b4f9105a
35 invoke_main exe_common.inl 79 0x7ff6b4f91459
36 __scrt_common_main_seh exe_common.inl 288 0x7ff6b4f9137e
37 __scrt_common_main exe_common.inl 331 0x7ff6b4f9123e
38 mainCRTStartup exe_main.cpp 17 0x7ff6b4f914ce
39 BaseThreadInitThunk KERNEL32 0x7ff810cd7614
40 RtlUserThreadStart ntdll 0x7ff8128e26b1
Change-Id: I43c2a19e6ec2ccda11114251883e41b47f74929c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155807
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Revert
commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Mar 15 17:00:27 2023 +0100
tdf#140762 tdf#152671 Make dock win visible before showing popup
and 2 follow-up commits, since it's no longer necessary to
have the window visible already when the popup shows in order
for NVDA on Windows to announce the content.
This unifies the code path between gtk and non-gtk again,
as already pointed out in
commit 3bb762c53ea79f8915a1b8fa39f3f5f57aa68c84
Date: Tue Aug 1 09:44:56 2023 +0200
tdf#156100 tdf#156561 Revert to previous behavior for gtk popups
> Further analysis of the root causes is planned in the context of
> tdf#156561, so hopefully the code paths can be unified again in
> the future.
The underlying issues have now been addressed by these
commits instead now:
commit 1d92445fcac1c51c17d8dbfd1a4017430fe7bc46
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Aug 1 09:26:37 2023 +0100
tdf#156561 wina11y: Handle CHILD event
Change-Id I83cf5732bfc9d4886e4f7fa75d4ff462e4d4af6d
tdf#141101 tdf#156561 a11y: Handle a11y child events in win parent
Change-Id I69c6066127c8b853a27cc1f692f139572541f8eb
tdf#156561 a11y: Create VCLXTopWindow peer for border win frame
Change-Id If374032387babf41b28067d5df54d5f6ce682c48
tdf#156561 a11y: Don't ignore child events in AccessibleListBox
Change-Id Ifbe27de01739103d1da04951475db32aa50d429d
tdf#156561 svtools, a11y: Return created popup win for focus handling
Together with the above-mentioned commits, this also makes NVDA
announce the font color popup in the "Character" (character style)
dialog. (Announcement starts as soon as Tab is pressed once,
not yet for the initially focused item right away.)
Reverted commits:
commit 3bb762c53ea79f8915a1b8fa39f3f5f57aa68c84
Date: Tue Aug 1 09:44:56 2023 +0200
tdf#156100 tdf#156561 Revert to previous behavior for gtk popups
commit 70642bb7afd2cee6f7ae6eff2936a35978bd0597
Date: Thu Apr 6 15:07:15 2023 +0100
tdf#154470 try moving the Show of the client to after the float positioning
commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb
Date: Wed Mar 15 17:00:27 2023 +0100
tdf#140762 tdf#152671 Make dock win visible before showing popup
Change-Id: Ic621b4344311679af2d13b5a80220e1daf411061
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155803
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Actually return the popup window created in
`PopupWindowController::createPopupWindow` instead of just
an empty reference.
With this in place, the popup window is initially announced
by NVDA on Windows for the "Borders" toolbar item when expanded
even after reverting
commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Mar 15 17:00:27 2023 +0100
tdf#140762 tdf#152671 Make dock win visible before showing popup
, because the focus event is now sent when focus is
set via `XWindow::setFocus` in
`framework::ToolBarManager::OnDropdownClick`
(s. frame 41 below), while the above commit previously
ensured that the window was already visible earlier and
thus the corresponding event would be
sent earlier already.
Related backtrace for the winaccessibility case:
1 AccObjectWinManager::NotifyAccEvent AccObjectWinManager.cxx 185 0x7fffaac46118
2 AccComponentEventListener::FireStateFocusedChange AccComponentEventListener.cxx 308 0x7fffaac4fddb
3 AccComponentEventListener::SetComponentState AccComponentEventListener.cxx 171 0x7fffaac50c14
4 AccEventListener::HandleStateChangedEvent AccEventListener.cxx 166 0x7fffaac4ea44
5 AccEventListener::notifyEvent AccEventListener.cxx 72 0x7fffaac4faaa
6 AccComponentEventListener::notifyEvent AccComponentEventListener.cxx 82 0x7fffaac5123c
7 AccDescendantManagerEventListener::notifyEvent AccDescendantManagerEventListener.cxx 70 0x7fffaac56686
8 AccListEventListener::notifyEvent AccListEventListener.cxx 66 0x7fffaac56ca2
9 ValueSetAcc::FireAccessibleEvent valueacc.cxx 430 0x7fffbad4578d
10 ValueSetAcc::GetFocus valueacc.cxx 452 0x7fffbad458ed
11 ValueSet::GetFocus valueset.cxx 271 0x7fffbad4f6b8
12 weld::CustomWeld::DoGetFocus customweld.cxx 72 0x7fffaf12b2ed
13 weld::CustomWeld::LinkStubDoGetFocus customweld.cxx 72 0x7fffaf12b726
14 Link<weld::Widget &,void>::Call link.hxx 111 0x7fffaf16be63
15 SalInstanceWidget::HandleEventListener salvtables.cxx 736 0x7fffaf16f436
16 SalInstanceDrawingArea::HandleEventListener salvtables.cxx 6167 0x7fffaf16f3c7
17 SalInstanceWidget::EventListener salvtables.cxx 824 0x7fffaf16e805
18 SalInstanceWidget::LinkStubEventListener salvtables.cxx 821 0x7fffaf170b86
19 Link<VclWindowEvent &,void>::Call link.hxx 111 0x7fffaea625c3
20 vcl::Window::CallEventListeners event.cxx 263 0x7fffaea62970
21 vcl::Window::PreNotify event.cxx 71 0x7fffaea649a3
22 vcl::Window::CompatPreNotify window.cxx 3921 0x7fffaeb730e8
23 ImplCallPreNotify winproc.cxx 70 0x7fffaeb8eb00
24 vcl::Window::ImplGrabFocus mouse.cxx 383 0x7fffaeacff8c
25 vcl::Window::ImplControlFocus dlgctrl.cxx 560 0x7fffaea391b6
26 vcl::Window::EventNotify event.cxx 210 0x7fffaea633a5
27 DockingWindow::EventNotify dockwin.cxx 528 0x7fffaea58d21
28 vcl::Window::CompatNotify window.cxx 3929 0x7fffaeb73058
29 vcl::Window::GetFocus window.cxx 1852 0x7fffaeb75e94
30 InterimToolbarPopup::GetFocus toolbarmenu.cxx 187 0x7fffbad41eed
31 vcl::Window::CompatGetFocus window.cxx 3889 0x7fffaeb72f3d
32 vcl::Window::ImplGrabFocus mouse.cxx 385 0x7fffaeacffde
33 vcl::Window::GrabFocus window.cxx 2980 0x7fffaeb770ee
34 vcl::Window::ImplGrabFocus mouse.cxx 223 0x7fffaeacf4bb
35 vcl::Window::GrabFocus window.cxx 2980 0x7fffaeb770ee
36 FloatingWindow::StartPopupMode floatwin.cxx 845 0x7fffaea6dd90
37 FloatingWindow::StartPopupMode floatwin.cxx 880 0x7fffaea6e076
38 ImplDockingWindowWrapper::StartPopupMode dockmgr.cxx 840 0x7fffaea543ae
39 DockingManager::StartPopupMode dockmgr.cxx 349 0x7fffaea54131
40 svt::PopupWindowController::createPopupWindow popupwindowcontroller.cxx 240 0x7fffbae3648a
41 framework::ToolBarManager::OnDropdownClick toolbarmanager.cxx 1772 0x7fffbc461a0c
42 framework::ToolBarManager::DropdownClick toolbarmanager.cxx 1752 0x7fffbc45c4d3
43 framework::ToolBarManager::LinkStubDropdownClick toolbarmanager.cxx 1749 0x7fffbc460026
44 Link<ToolBox *,void>::Call link.hxx 111 0x7fffaeb33e23
45 ToolBox::ImplOpenItem toolbox.cxx 4270 0x7fffaeb5277c
46 ToolBox::KeyInput toolbox.cxx 4415 0x7fffaeb5357b
47 ImplHandleKey winproc.cxx 1212 0x7fffaeb90b5e
48 ImplWindowFrameProc winproc.cxx 2724 0x7fffaeb9793e
49 SalFrame::CallCallback salframe.hxx 310 0x7fffae93a3f6
50 ImplHandleKeyMsg salframe.cxx 3752 0x7fffab04568b
51 SalFrameWndProc salframe.cxx 5723 0x7fffab04c689
52 SalFrameWndProcW salframe.cxx 6043 0x7fffab04d360
53 CallWindowProcW USER32 0x7ff8126be858
54 DispatchMessageW USER32 0x7ff8126be299
55 ImplSalDispatchMessage salinst.cxx 474 0x7fffaafa01d8
56 ImplSalYield salinst.cxx 551 0x7fffaafa08fd
57 WinSalInstance::DoYield salinst.cxx 580 0x7fffaaf9fe01
58 ImplYield svapp.cxx 352 0x7fffaf1d513d
59 Application::Yield svapp.cxx 437 0x7fffaf1d9092
60 Application::Execute svapp.cxx 330 0x7fffaf1d247a
61 desktop::Desktop::Main app.cxx 1601 0x7fffbd5c96b2
62 ImplSVMain svmain.cxx 204 0x7fffaf1ea8bc
63 SVMain svmain.cxx 237 0x7fffaf1eb122
64 soffice_main sofficemain.cxx 94 0x7fffbd618222
65 sal_main main.c 51 0x7ff6751e1013
66 main main.c 49 0x7ff6751e105a
67 invoke_main exe_common.inl 79 0x7ff6751e1459
68 __scrt_common_main_seh exe_common.inl 288 0x7ff6751e137e
69 __scrt_common_main exe_common.inl 331 0x7ff6751e123e
70 mainCRTStartup exe_main.cpp 17 0x7ff6751e14ce
71 BaseThreadInitThunk KERNEL32 0x7ff810cd7614
72 RtlUserThreadStart ntdll 0x7ff8128e26b1
With this and all the previous tdf#156561-related commits, the
above mentioned commit is no longer necessary for
NVDA to announce the auto filter popup in Calc (tdf#152671)
and many toolbar popups like the "Boders" toolbar item in
Calc (tdf#140762) and will therefore be reverted in a
follow-up commit.
Change-Id: Ifbe27de01739103d1da04951475db32aa50d429d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155802
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Don't ignore the `WindowShow` and `WindowHide` child events
in `AccessibleListBox::ProcessWindowChildEvent`, but let the
base class implemenation handle them just like all other
child events.
This causes them to be forwarded as `AccessibleEventId::CHILD`
events to the a11y layer, which e.g. triggers registering
a11y event listeners for newly created/shown child objects
in winaccessibility.
This makes the announcement of sub menu entries in Calc's auto
filter work even after reverting
commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Mar 15 17:00:27 2023 +0100
tdf#140762 tdf#152671 Make dock win visible before showing popup
, which will be done in a follow-up commit.
`AccessibleListBox` is the a11y class used for
tree views in the non-gtk case (i.e. `SalInstanceTreeView`).
A tree view is passed as the parent of the sub menus in
the autofilter popup (s. `ScCheckListMenuControl::addSubMenuItem`),
but due to ignoring the events, the submenu would not be
announced by NVDA before the above-mentioned commit.
The events were ignored since
commit 4c01898e02d7b80f70f19de12f2598644fc421e3
Author: Vladimir Glazounov <vg@openoffice.org>
Date: Mon Jan 28 13:14:03 2008 +0000
INTEGRATION: CWS tbe32 (1.2.16); FILE MERGED
2007/11/05 15:14:07 tbe 1.2.16.1: #i70908# [A11y] OOo crashes in Customize dialog - Add when large icons and A11y ONcommit 4c01898e02d7b80f70f19de12f2598644fc421e3
to fix a crash in the customization dialog,
but that problem described in [1] is no longer
reproducible for me with the change here
in place.
Comment 8 in the ticket mentions:
> The problem was the accessible child event, which was sent for the
> help text window. This event triggered some callbacks which caused
> the dead lock. As the help text window is not exposed as accessible
> child of the tree list box, I removed the accessible child event.
The fact that extra children from the `vcl::Window`
hierarchy (besides the entries in the `SvTreeListBox`
are currently not exposed via
`AccessibleListBox::getAccessibleChildCount` and
`AccessibleListBox::getAccessibleChild` is still
true, but not a problem in this context.
(If necessary, handling for those should be easy to
add by forwarding to the corresponding
`VCLXAccessibleComponent` methods, and adapting
the child index used as needed.)
[1] https://bz.apache.org/ooo/show_bug.cgi?id=70908
[2] https://bz.apache.org/ooo/show_bug.cgi?id=70908#c8
Change-Id: If374032387babf41b28067d5df54d5f6ce682c48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155801
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
If a border window is a "native frame", i.e. a top level
window, then also create a `VCLXTopWindow` for it instead
of just a simple `VCLXWindow`.
This also addresses another cause why the Calc autofilter
popup would not be announced by the NVDA screen reader
before
commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Wed Mar 15 17:00:27 2023 +0100
tdf#140762 tdf#152671 Make dock win visible before showing popup
For winaccessibility, an accessible event listener
is registered for an object when either
`AccTopWindowListener::windowOpened` gets an event
with the top level window set or the parent of
the window sends an `AccessibleEventId::CHILD` event
for the child object.
In case of the autofilter popup in Calc, the top-level
border window of the work window (created and set in
`WorkWindow::ImplInit` and retrieved via `Window::GetFrameWeld`
in `ScGridWindow::LaunchAutoFilterMenu`) is set as the
parent window of the popup, but since it is a top-level
window and was so far not considered as such due to its
peer/component interface not implementing `XTopWindow`
(s. `Window::IsTopWindow` and the corresponding check
in `VCLXToolkit::callTopWindowListeners`), it would
not have any accessible listener set, and thus no
child event for its new popup child would be sent
to the winaccessibility layer. Therefore, no
accessible events would be sent for the popup
and it's children either, resulting in NVDA not
announcing any focus changes, etc.
With this change in place, NVDA announces focused
items in the auto filter popup even with a revert
of the above-mentioned commit (and follow-up commits),
except for submenu entries (which still suffer from
another problem that will be addressed separately).
Change-Id: I69c6066127c8b853a27cc1f692f139572541f8eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155800
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
`VCLXAccessibleComponent::ProcessWindowChildEvent` was only
processing `WindowShow` and `WindowHide` events when the
`vcl::Window::GetAccessibleParent()` for the window sent in
the event would return the window that the `VCLXAccessibleComponent`
refers to.
This generally seems reasonable, but when the child events
are sent for the corresponding window, the window's hierarchy
is iterated over using `vcl::Window::GetParent()`, so if the
accessible window is not in that hierarchy, no window would
take care of the child events.
(Note e.g. how `Window::GetParent` uses `mpWindowImpl->mpRealParent`
while `Window::getAccessibleParentWindow` uses `mpWindowImpl->mpParent`
and has some special handling.)
Due to the way that `ImplDockingWindowWrapper::ImplPreparePopupMode`
reparents the windows, this is at least the case for the auto
filter popup in Calc and the font color popup in Writer's "Character"
dialog, so the `VclEventId::WindowShow` event would not be forwarded
to the a11y layer as an `AccessibleEventId::CHILD` event, and thus no
listener would be registered for the children. As a result, the NVDA
screen reader would not announce these objects when they receive
focus.
Make sure that the child event gets handled by making
`VCLXAccessibleComponent::GetChildAccessible` also take
into account the `vcl::Window::GetParent()`.
This addresses one of the underlying issues why the Calc autofilter
was not announced by NVDA before
commit dc0706cabfe39ddb6ea23d60ccfb756f2b9e6efb
Author: Michael Weghorn
Date: Wed Mar 15 17:00:27 2023 +0100
tdf#140762 tdf#152671 Make dock win visible before showing popup
It might make sense to reconsider the way of
reparenting in `ImplDockingWindowWrapper` and general
a11y parent handling at some point, but that will need
further analysis and would presumably require more
fundamental changes elsewhere, too.
Change-Id: I83cf5732bfc9d4886e4f7fa75d4ff462e4d4af6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155799
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
The way to determine whether this window is a "native frame"
doesn't look particularly specific to a11y, so rename it
to just `Window::IsNativeFrame` and make it public in order
to reuse it in a follow-up commit.
Also move the implementation out of the source file that
implements accessibility-specific Window methods for
consistency.
Change-Id: I980f251cacce6a601e86fc6261a231b799b30317
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155798
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
... instead of duplicating what it does in
`Window::ImplIsAccessibleCandidate`.
Change-Id: If422597046447bbf30a0488ceed2cf1d2fa49c5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155797
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
These 2 members are set the same way for all of the
3 branches.
Change-Id: I2acbb519e30926eb5798bb52e1ef95dceca47b5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155796
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
This reverts commit e222f60ac2a71032dbdf62d7c7e28978b5a0b19c.
To make the switch element behave like a
group as least, so the transform attribute is parsed
Change-Id: Id8c21ac6da217d8f7bc350ff41022335bf1e0f1f
Change-Id: If1e53f9baad8995f26f9b885cfef6265040736bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155758
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
or border padding without correct table cursor.
Table formatting is allowed on text selections starting
with tables, but adding border or border padding
resulted crashing. This regression became more visible
with hidden deleted table columns, where SelectTable
(e.g. Ctrl-A) doesn't select the whole table, but only
the text content of the visible cells, and in the case
of hidden right table columns, without table cursor.
Manual test: insert two tables in the document, and in the
first cell of the first table, select the whole document
by pressing Ctrl-A 2 times or more. In table settings,
enable table border or modify padding to crash LibreOffice.
Regression since version 7.5.
Change-Id: If8ebb52c7662ff37ac42348c8f412549b793b6d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155749
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
As seen opening https://bugs.documentfoundation.org/attachment.cgi?id=182024
from tdf#150610.
The upscale is pending, and SkiaSalBitmap::mImage is empty here;
EnsureBitmapData call works correctly in this case.
Change-Id: I71575b09b3b4513b06b55271f6440688785cfb84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155792
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Avoid reinterpret_cast; drop unneeded 'using'; deduplicate some code
Change-Id: I9c39552b0ccaa45344808e02ad89b21a42766784
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155761
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
"Document default language is not set."
Open dialog "Tools/Options/Language Settings - Language" for
fixing the issue for the actual document.
Follow-up of ca9cb1df613789d99154d50e77847c3e32330642
(tdf#156591 - A11Y - add fix button for "Style has no language set.")
Change-Id: I0d13ad49b8f2eb196e4212f3e3719cf036087dc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155665
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Tested-by: Jenkins
|