Age | Commit message (Collapse) | Author |
|
... 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
|
|
Change-Id: I4cc8f6dbaec0edd8a7a761f03868035350e01734
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155760
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Set the character name as a11y name for the `SvXCharView`.
Also add a check for the string to be non-empty in
`SvxCharView::GetDecimalValueAndCharName`, since
`SfxCharmapContainer::updateRecentCharControl` sets the
text to an empty string, and calling
`OUString::iterateCodePoint` on that empts string
would trigger an assert now that
`SvxCharView::SetText` tries to retrieve the character
name right away.
This makes NVDA on Windows announce the focused
character by its name in the Special Characters dialog
and the Special Characters toolbar group button.
Orca with the gtk3 VCL plugin now announces the
focused character in the Special Characters dialog,
but not yet in the toolbar group button.
Change-Id: I79c8e0c2de6e817a467a405dc7d9e103cba07dfe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155757
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
It will be reused in an upcoming commit to set the a11y
name for the `SvxCharView`.
Change-Id: Ib5938e5363571e547ee00cac8432f919b60cd97a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155756
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
When the Notebookbar UI is being used, all the commands are already accessible via the "Table" tab in the notebookbar, so showing the toolbar duplicates the commands on the screen.
Therefore, this patch disables showing this toolbar when the Notebookbar UI is being used. Obviously, it can be enabled manually via View - Toolbars.
Change-Id: I115effbd94f61df518ff90411a45431fefa9e844
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155473
Tested-by: Jenkins
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
Added conditions to check if m_pNavigateByComboBox
exist, because on ios, navigator does not have
thit combobox.
Change-Id: If5411a1687338caaa9fd76ae5471be4648ab61de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155388
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
In the pathological fdo56431-6.odt there are 16 pages of 1-line
paragraphs that all have keep-with-next set, and only the first of them
has a page break before.
The layout temporarily uses 5 pages for the table of content at the
start but then everything fits on 4 pages, so page 5 is empty.
Now the first text frame on page 6 moves backward despite its
keep-with-next, because it hits SwFlowFrame::SetMoveBwdJump(true) in
SwFrame::GetPrevLeaf().
The next one however nopes out in SwContentFrame::WouldFit_().
This is because it continues along the sequence of keep-with-next frames
until it runs out of space in the new upper; this happens with a frame
that's actually on page 7.
Ignore keep-with-next in case the previous frame in the new upper also
has it set, because it really doesn't mean anything then.
(somehow regression from commit 25a252c3cc5e5a79a533965026dd4af6b8df739)
Change-Id: I0cfbc8b67bd0b95dfe08054660a2935de923a661
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155741
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
One dumpAsXml() per SwFrame subclass is enough, no need to have a
separate function that dumps just the attributes.
Also eliminate a manual reinterpret_cast<> and a static_cast<>.
Change-Id: I99c44f4b097586bdc174d3133bbb4ee9f26e57cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155747
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
I.e., those that are guarded in Windows headers by stuff like
#if(_WIN32_WINNT >= 0x0600)
#if(WINVER >= 0x0501)
Change-Id: If9ab06663b2c9f511549823f14c8bc759a30a74c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155751
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Otherwise, a wrong mapping could be used, e.g. from slide.
Change-Id: I8b0fcebcd21ac2bab8b7f58d0c24753d2eca02c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155748
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
translation exists so doesn't require additional translation
Change-Id: Ibc5df15b9b8442307195d79c862c69e0506c4057
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155733
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Open style language character settings if the language is set to 'None'.
Add EditStyleFont uno command for editing directly Font of paragraph styles.
Change-Id: I8b7d7880cc77f7352edac089ee95b4a6d0744575
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155494
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
Change-Id: I761fb02d80a224a4b170bb287169da923a003d99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155736
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: Id238066861ee21a9a69f40d1c136bd5b5bd0f804
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155735
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Passing an expanded, rotated polygon noticeably modifies the
drawing of the gradient in a slideshow due to moving of the
starting and ending colors far off the edges of the drawing
surface. So try another way and set the angle of the
gradient and draw only the unadjusted bounds.
Change-Id: I95441dfa3215396d5bc7edfa9f985335480b37de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155729
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
Change-Id: I228b927c4daac3a4da0819e490a9963b514b4c16
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155731
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ieadae5dea642b27a2c91fd8c34049dc5a79bdf6d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155449
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
Change-Id: Ice8e830cebf307b6a4deb9dbbd26e65b34420a31
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155734
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Change-Id: Ife0d509b91f17510e6a32494e6456fe7043781ec
|
|
Last visible column of a table followed with hidden deleted columns
hid also the right border of the table, if the inner vertical column
borders drawn only by left-only borders (like in the default table
style).
See also commit f9898fa64bd2a575be94c309b43373de53c5331b
"tdf#150308 sw: fix missing top table border after hidden table rows"
Note: layout testing doesn't work, because of the missing calculation
with the width of the enabled border of the row frame. Also there is
a problem with metafile testing (empty meta file?).
Change-Id: I5e98c6751d889f8d5a3f7f2b0b31e44149742e25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155669
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
* Update translations from branch 'master'
to a2d843f1212a3a04da04244c4a21a70f46e22b9d
- update translations for master/7.6.1 rc1
and force-fix errors using pocheck
Change-Id: Ie4e0754d95811399ba74227f3387d7930a640cb1
|
|
Pressing "enter" at the end of B1 in the bugdoc resulted in a split
floating table, which had the anchor text duplicated (both on page 1 and
page2).
What happened is that the master anchor frame didn't have its paragraph
portion cleared, the follow anchor frame had a correct frame offset (of
0).
Fix the problem in SwTextFrame::FormatEmpty(), similar to what commit
00b9b33334791079c2dc26b1ed4c123450cabf7d (sw: call FormatEmpty() in
SwTextFrame::Format() for split fly masters, 2023-02-09), did; here what
we want to avoid is setting some properties on the paragraph preventing
the deletion of non-last anchor paragraph portions.
As a side effect, this also fixes the hang from the bugreport, after
pressing "enter" 5 times at the end of B1.
Change-Id: I16e6d786f02ad503a0fdff465ecf7716c1c5f8b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155732
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
these values are assigned in the constructor and never updated
Change-Id: Ia4e0524c2b5c5465f9659eb88a11b955492e7e63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155723
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The tests in this suite only assert at the end of an import + export, so
no need go via Writer-specific macros. This also keeps all code of a
test in a single place, no need to trigger the preTest() magic.
Change-Id: Ibf8c2dee99e02483642887ab74cc4f997389da3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155727
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
implementation
This patch makes the Rename... menu item open the Name dialog and
makes name editing start in the tree when a selected entry is left-
clicked on and released without moving the mouse pointer to begin a
drag operation.
Change-Id: I8d8b93895b797d7e1be860a17a5c1fe6d82e474e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155647
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
|
|
special characters control
This patch makes a tooltip show when the mouse pointer is over a
character window in the special characters control. It also adds a
label that is used to display character information of the highlighted
character. Code for creating the character information text shown in
the tooltip and label was referenced from SvxCharacterMap.
Change-Id: I4b62e63b27310cbe9e9661ff51c2db206e9e3507
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155547
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
|
|
Change-Id: I7c8550e3b71e8efaa70d966f91fc3fbee2b93939
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155551
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Change-Id: I63a274dd9fba37852412a194a490cb2b7634f1cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155726
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
|
|
Using o3tl::convert makes sure that rounding is correct, which
shows in the improved unit test, that now doesn't need different
values before and after roundtrip.
Change-Id: If46e27300bc199e89c0abf0ea4d0cd825024aeb2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155728
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|