Age | Commit message (Collapse) | Author |
|
my previous fix
commit 715a6ea8cb3aa6c80edbb22909aac3f18b7daec6
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Mon Oct 2 11:31:09 2023 +0200
tdf#156756 Icon sizes for the toolbar wrong
had a bug which broke changing themes
Change-Id: Icf19fee5034ec2795354641c62979b6284e1a5d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157506
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Instead of returning ErrCode class everywhere, return a new
class ErrrCodeMsg, which combines an ErrCode with the other
parameters that are used to control the error reporting.
I do not change everything that uses ErrCode here, I started
from SfxBaseController/SfxMedium and worked outwards.
This change serves two purposes
(1) Replace the extremely whacky ErrorInfo mechanism we were
using to smuggle information into the error handler reporting
mechanism with a very straightforward approach of just combining it
into the error class.
(2) Allow us to capture the source location that produced the error,
which makes debugging the source of a problem soooo much easier.
Change-Id: I978b8f00c9851b41a216c7ebdef2ef94251d5519
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157440
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
So my change in
commit 0558926c2f9201a12b4c46efc36b8a4080af4d46
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Tue Jun 6 10:42:10 2023 +0200
use more officecfg for SvtMiscOptions
Made an existing bug much worse.
The underlying bug started in
commit fd92b09db497a7dfd594a5418f87856dc3886bf9
Author: Caolán McNamara <caolanm@redhat.com>
Date: Tue Feb 14 13:12:38 2023 +0000
tdf#153541 notify listeners when any of the icon sizes change
which resulted in changes to icon sizes not being saved to the registry,
because the registry layer would throw an exception when called from
SvtMiscOptions_Impl::ImplCommit, because it does not like being passed
null values for SidebarIconSize and NotebookbarIconSize properties.
So I have done two things
(1) finish removing handling of SymbolSet from the SvtMiscOptions_Impl
code, and just use the officecfg:: layer.
(2) Change the ImplCommit code to only pass down properties for which it
actually has valid values.
Change-Id: Ib7c09cac373060f5437b81c63e9b12411fdc1c68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157483
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I1749628e0104dff856161bc0bdfd343ef0db208e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156784
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
1. Pass its error message up the call stack as the exception's message.
2. In case of REGDB_E_CLASSNOTREG, also obtain the object's class name
and append it to the message.
3. Show this information in the message displayed for OLE activation
error.
This introduces a new SetExtendedMessage method in SfxErrorContext to
store extra information for specific errors.
Change-Id: Id3863276266d992ae407fbfa5568acf5c57aa96f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157372
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I00f228451574ca9f9e352d233c7f326c88e90a95
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156892
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Checked on jenkins using 'make check' and
+void SAL_CALL setDelegator(css::uno::Reference<css::uno::XInterface> const &) final { assert(false); }
Change-Id: I49e2c013c82687b71d0b442662ca9de229d0dddb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156795
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Id83a6804f658d56793913b8e8e07f7ec1f2ff82a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156116
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156812
Tested-by: Jenkins
|
|
Change-Id: I058551e87bca42adede860f6f299b0f7ae2af3b5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156798
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Checked on jenkins using 'make check' and
+void SAL_CALL setDelegator(css::uno::Reference<css::uno::XInterface> const &) final { assert(false); }
Change-Id: I79cf929cc64ea7af7351674e02fb0bc83538c869
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156792
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Checked on jenkins using 'make check' and
+void SAL_CALL setDelegator(css::uno::Reference<css::uno::XInterface> const &) final { assert(false); }
Change-Id: Ie2ee4b774167dd5f26ac88b97b0a5013ff379ac3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156793
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
After
commit 2f5e7a07775690e57d639eeca7a1e41733fa93a9
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Sep 7 08:09:31 2023 +0200
tdf#157092 a11y Let only drawing area dispose its ValueSet acc
had fixed a crash when using the search feature with the Qt-based
VCL plugins, the previous `DBG_ASSERT` that got promoted to a
real assert with the above commit got triggered now that a11y CHILD
events for removed children are handled since
commit be8b031d8b3c66b223ea2478f1129427f3a362bd
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Sep 7 09:51:38 2023 +0200
qt a11y: Forward CHILD event for removed child
, s. the backtrace in tdf#157160.
Since the ValueSet isn't needed for this, and at least removing
a listener after the ValueSet has been dropped even seems logical if it's
a valid use case to delete the ValueSet before e.g. hiding the
window (s.a. comment in above-mentioned
2f5e7a07775690e57d639eeca7a1e41733fa93a9), don't check for it,
but only that the object hasn't been disposed yet
(as was effectively the case before
2f5e7a07775690e57d639eeca7a1e41733fa93a9, when
only a SAL_WARN would have been triggered).
Change-Id: I5be0a44decbe4508f4a419ec3dca9f8aaf85e951
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156782
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Don't dispose the a11y object in the `ValueSet` dtor, because it
doesn't own its a11y object, but it is owned by the `weld::DrawingArea`
of the `CustomWeld` that the `ValueSet` (as a sub-class of
`CustomWidgetController`) belongs to.
The `CustomWeld` ctor passes the a11y ref retrieved by
`CustomWidgetController::createAccessible` to `weld_drawing_area`,
which takes ownership and disposes the object.
(For Gtk, see `GtkInstanceDrawingArea::~GtkInstanceDrawingArea`.
For non-Gtk, see how the `SalInstanceDrawingArea` ctor
passes the reference to `VclInstanceDrawingArea::SetAccessible`/
`vcl::Window::SetAccessible`, so it gets disposed when that
`VclInstanceDrawingArea` gets disposed, s. `vcl::Window::dispose`.)
Other classes derived from `CustomWidgetController`
also don't dispose the a11y object themselves.
Still reset the `ValueSet` pointer in `ValueSetAcc` to
nullptr when the `ValueSet` gets destroyed and turn the
check for a valid pointer from just an `OSL_ASSERT`
to a real assert and throwing a `RuntimeException`.
But still allow getting the a11y context when only
the ValueSet has been deleted but the object has not
been disposed yet.
Fixes a crash due to a `com::sun::star::lang::DisposedException`
being thrown when using the new search feature in the "Tools" ->
"Options" dialog (or when just switching to the "LibreOfficeDev
Writer/Web" -> "Background" page with the qt6 VCL plugin or
on Windows when the NVDA screen reader is running.
This happens when the drawing area is hidden and the a11y layer
is meant to be notified about this (so the a11y object can be
removed).
It still seems a bit odd that the `ValueSet` gets destroyed
(in `SvxColorTabPage::~SvxColorTabPage`, frame 20 in below backtrace)
before the corresponding `vcl::Window` gets hidden (in the base
class dtor, `SfxTabPage::~SfxTabPage`, s. frame 19 in the backtrace).
Backtrace for how the exception gets thrown:
1 com::sun::star::lang::DisposedException::DisposedException DisposedException.hpp 40 0x7fa385fd9ca9
2 ValueSetAcc::ThrowIfDisposed valueacc.cxx 956 0x7fa385fd9342
3 ValueSetAcc::getAccessibleContext valueacc.cxx 473 0x7fa385fd69fa
4 VCLXAccessibleComponent::ProcessWindowChildEvent vclxaccessiblecomponent.cxx 186 0x7fa3853dc905
5 VCLXAccessibleComponent::WindowChildEventListener vclxaccessiblecomponent.cxx 124 0x7fa3853dc51d
6 VCLXAccessibleComponent::LinkStubWindowChildEventListener vclxaccessiblecomponent.cxx 114 0x7fa3853dc43f
7 Link<VclWindowEvent&, void>::Call link.hxx 111 0x7fa382c56ccf
8 vcl::Window::CallEventListeners event.cxx 296 0x7fa382c53e5b
9 vcl::Window::ImplResetReallyVisible stacking.cxx 719 0x7fa382b51a49
10 vcl::Window::ImplResetReallyVisible stacking.cxx 735 0x7fa382b51b0e
11 vcl::Window::ImplResetReallyVisible stacking.cxx 735 0x7fa382b51b0e
12 vcl::Window::ImplResetReallyVisible stacking.cxx 735 0x7fa382b51b0e
13 vcl::Window::ImplResetReallyVisible stacking.cxx 735 0x7fa382b51b0e
14 vcl::Window::ImplResetReallyVisible stacking.cxx 735 0x7fa382b51b0e
15 vcl::Window::ImplResetReallyVisible stacking.cxx 735 0x7fa382b51b0e
16 vcl::Window::Show window.cxx 2234 0x7fa382d94f7c
17 vcl::Window::Hide window.hxx 880 0x7fa382b23600
18 SalInstanceContainer::move salvtables.cxx 1352 0x7fa3834789f3
19 SfxTabPage::~SfxTabPage tabdlg.cxx 157 0x7fa38928ab47
20 SvxColorTabPage::~SvxColorTabPage tpcolor.cxx 166 0x7fa350950d3e
21 SvxColorTabPage::~SvxColorTabPage tpcolor.cxx 166 0x7fa350950d5a
22 std::default_delete<SfxTabPage>::operator() unique_ptr.h 99 0x7fa350538fdc
23 std::__uniq_ptr_impl<SfxTabPage, std::default_delete<SfxTabPage>>::reset unique_ptr.h 211 0x7fa35080dcbe
24 std::unique_ptr<SfxTabPage, std::default_delete<SfxTabPage>>::reset unique_ptr.h 509 0x7fa350808555
25 SvxAreaTabPage::SetOptimalSize tparea.cxx 155 0x7fa35093db3e
26 SvxBkgTabPage::Create backgrnd.cxx 230 0x7fa350864dbc
27 SwModule::CreateTabPage appopt.cxx 509 0x7fa339e10973
28 OfaTreeOptionsDialog::SelectHdl_Impl treeopt.cxx 1335 0x7fa3507f947a
29 OfaTreeOptionsDialog::ShowPageHdl_Impl treeopt.cxx 625 0x7fa3507f4782
30 OfaTreeOptionsDialog::LinkStubShowPageHdl_Impl treeopt.cxx 623 0x7fa3507f4763
31 Link<weld::TreeView&, void>::Call link.hxx 111 0x7fa3834b18f1
32 weld::TreeView::signal_changed weld.hxx 953 0x7fa3834aa10d
33 SalInstanceTreeView::SelectHdl salvtables.cxx 5276 0x7fa38349363e
34 SalInstanceTreeView::LinkStubSelectHdl salvtables.cxx 5272 0x7fa3834935fb
35 Link<SvTreeListBox *, void>::Call link.hxx 111 0x7fa382b8a339
36 SvTreeListBox::SelectHdl treelistbox.cxx 452 0x7fa38307f5c2
37 SvTreeListBox::Select treelistbox.cxx 2111 0x7fa383085b4a
38 SvImpLBox::SetCursor svimpbox.cxx 614 0x7fa3830a66c3
39 ImpLBSelEng::SetCursorAtPoint svimpbox.cxx 2575 0x7fa3830aeaa8
40 SelectionEngine::SelMouseButtonDown seleng.cxx 172 0x7fa382d09354
41 SvImpLBox::MouseButtonDown svimpbox.cxx 2004 0x7fa3830ac9f8
42 SvTreeListBox::MouseButtonDown treelistbox.cxx 2260 0x7fa383086422
43 ImplHandleMouseEvent winproc.cxx 707 0x7fa382daed00
44 ImplHandleSalMouseButtonDown winproc.cxx 2340 0x7fa382db5c5d
45 ImplWindowFrameProc winproc.cxx 2685 0x7fa382db6f7e
46 SalFrame::CallCallback salframe.hxx 310 0x7fa378ca4edc
47 QtFrame::CallCallback QtFrame.hxx 230 0x7fa378ca6418
48 QtWidget::handleMouseButtonEvent QtWidget.cxx 181 0x7fa378cf959b
49 QtWidget::mousePressEvent QtWidget.cxx 186 0x7fa378cf95f3
50 QWidget::event qwidget.cpp 8978 0x7fa376a2f327
51 QtWidget::event QtWidget.cxx 730 0x7fa378cfb2f6
52 QApplicationPrivate::notify_helper qapplication.cpp 3287 0x7fa3769a666a
53 QApplication::notify qapplication.cpp 2774 0x7fa3769a4539
54 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1125 0x7fa3783a5ed0
55 QCoreApplication::sendSpontaneousEvent qcoreapplication.cpp 1573 0x7fa3783a6a1d
56 QApplicationPrivate::sendMouseEvent qapplication.cpp 2358 0x7fa3769a31a2
57 QWidgetWindow::handleMouseEvent qwidgetwindow.cpp 627 0x7fa376a5f7cb
58 QWidgetWindow::event qwidgetwindow.cpp 241 0x7fa376a5dcfd
59 QApplicationPrivate::notify_helper qapplication.cpp 3287 0x7fa3769a666a
60 QApplication::notify qapplication.cpp 3238 0x7fa3769a647a
61 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1125 0x7fa3783a5ed0
62 QCoreApplication::sendSpontaneousEvent qcoreapplication.cpp 1573 0x7fa3783a6a1d
63 QGuiApplicationPrivate::processMouseEvent qguiapplication.cpp 2315 0x7fa3775f21cd
64 QGuiApplicationPrivate::processWindowSystemEvent qguiapplication.cpp 2061 0x7fa3775f15cf
65 QWindowSystemInterface::sendWindowSystemEvents qwindowsysteminterface.cpp 1109 0x7fa37769ce23
66 xcbSourceDispatch qxcbeventdispatcher.cpp 57 0x7fa376064df7
67 ?? 0x7fa37df2b5b4
68 ?? 0x7fa37df2e607
69 g_main_context_iteration 0x7fa37df2ebfc
70 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 395 0x7fa3787b6b33
71 QXcbGlibEventDispatcher::processEvents qxcbeventdispatcher.cpp 96 0x7fa37606502c
72 QtInstance::ImplYield QtInstance.cxx 421 0x7fa378cc7502
73 QtInstance::DoYield QtInstance.cxx 432 0x7fa378cc762b
74 ImplYield svapp.cxx 372 0x7fa3835220ea
75 Application::Yield svapp.cxx 456 0x7fa383522e88
76 Dialog::Execute dialog.cxx 1078 0x7fa382c063e1
77 SalInstanceDialog::run salvtables.cxx 1877 0x7fa38347c313
78 weld::DialogController::run weld.hxx 2659 0x7fa3504a26e6
79 OfaTreeOptionsDialog::run treeopt.cxx 2587 0x7fa3508035fd
80 CuiAbstractController_Impl::Execute dlgfact.cxx 144 0x7fa35069d829
81 SfxApplication::OfaExec_Impl appserv.cxx 1463 0x7fa388faf85e
82 SfxStubSfxApplicationOfaExec_Impl sfxslots.hxx 1309 0x7fa388f88faf
83 SfxDispatcher::Call_Impl dispatch.cxx 254 0x7fa3890bfb4a
84 SfxDispatcher::Execute_ dispatch.cxx 753 0x7fa3890c31f4
85 SfxBindings::Execute_Impl bindings.cxx 1061 0x7fa3890aefa0
86 SfxDispatchController_Impl::dispatch unoctitm.cxx 688 0x7fa389185ba6
87 SfxOfficeDispatch::dispatch unoctitm.cxx 250 0x7fa389183867
88 framework::MenuBarManager::Select menubarmanager.cxx 827 0x7fa38a7e2dff
89 framework::MenuBarManager::LinkStubSelect menubarmanager.cxx 791 0x7fa38a7e2ab7
90 Link<Menu *, bool>::Call link.hxx 111 0x7fa382cb0337
91 Menu::Select menu.cxx 358 0x7fa382ca1c90
92 Menu::ImplCallSelect menu.cxx 2135 0x7fa382caa907
93 Menu::LinkStubImplCallSelect menu.cxx 2132 0x7fa382caa8d9
94 Link<void *, void>::Call link.hxx 111 0x7fa382db870d
95 ImplHandleUserEvent winproc.cxx 2287 0x7fa382db57ca
96 ImplWindowFrameProc winproc.cxx 2851 0x7fa382db76f7
97 SalFrame::CallCallback salframe.hxx 310 0x7fa378ca4edc
98 QtInstance::ProcessEvent QtInstance.cxx 484 0x7fa378cc799b
99 operator() salusereventlist.cxx 119 0x7fa383465b7b
100 SalUserEventList::DispatchUserEvents salusereventlist.cxx 120 0x7fa383465e4f
101 QtInstance::ImplYield QtInstance.cxx 410 0x7fa378cc7480
102 QtInstance::DoYield QtInstance.cxx 432 0x7fa378cc762b
103 ImplYield svapp.cxx 372 0x7fa3835220ea
104 Application::Yield svapp.cxx 456 0x7fa383522e88
105 Application::Execute svapp.cxx 350 0x7fa383521ddd
106 desktop::Desktop::Main app.cxx 1601 0x7fa38ca36276
107 ImplSVMain svmain.cxx 204 0x7fa383541e84
108 SVMain svmain.cxx 236 0x7fa383541fb9
109 soffice_main sofficemain.cxx 94 0x7fa38caa1b5d
110 sal_main main.c 51 0x5568fd6859d4
111 main main.c 49 0x5568fd6859ba
Change-Id: I247648a7a707f02bf1fdd339d3c329694636d835
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156645
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
When renaming and clicking on canvas, LO goes into GetParent()->EndEditMode first time
then it calls TabBarEdit::dispose method which resets m_xEntry BUT, on the same thread, LO comes here again
so return if already disposed to avoid a crash
See bt here:
https://bugs.documentfoundation.org/attachment.cgi?id=189316
Change-Id: Id227e8aa32ab52643ab17f714c9e3325ced94907
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156482
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
we pass dpi scale, let's use it to determine combobox entry size
Change-Id: I4088eca565b301c5693e52b1c05af1a335fc34fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156115
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156251
Tested-by: Jenkins
|
|
avoid some unnecessary casting
Change-Id: I2569aafb10431bcf1445efefd277b1aeecf7b404
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156286
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
i.e. push this up from the implementation class
AccessibleBrowseBoxAccess to the interface class.
Which means we don't need the getMyself helper method, and make the
memory management simpler.
Change-Id: Icecb83834bb3f5304908bbd3682b3d2ea06dbfe0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156285
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9dc75ab91f591191be7a354274a0783b0fd093b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156029
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156244
Tested-by: Jenkins
|
|
This reverts commit 7fc6063914432d58d86cfcbd728d967e7c86ebfd.
sberg noticed that there is a difference now:
there's a subtle difference now, in that if y was null originally, it would have thrown a (caught) exception, whereas now it will crash in the y.query<X>() call.
Change-Id: Idbb5a08d635d15b5ca63f4822eddf05fb0a5afa0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156002
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
regression from
commit 1527fa8435ef415678b2e4a6972f5e378ee5cab1
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Tue Jun 6 11:20:17 2023 +0200
convert SvtAccessibilityOptions to officecfg where possible
where the method call returns a std::optional<bool> which is translated
to a bool, resulting a true value from an optional<false>
Change-Id: I2182cae5172798f38194ee86dbb32ef65e3e24be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155974
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
look for methods where we don't need to guard access
to the field, because the field is never modified
Change-Id: I62c33cc3f52881557515765d3733c4afc78547aa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155836
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
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>
|
|
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>
|
|
Change-Id: Ic2007f52056acd46f96d454c1fdb7b8ca8838d70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155386
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
to attempt to make it obvious in code what kind of coordinate
system we are dealing with.
The idea is that by doing this, the compile-time type checking
will flush out inconsistencies between different code.
I started with vcl::Window::OutputToAbsoluteScreenPixel
and worked outwards from there.
Change-Id: Ia967d7a0bb38886695f3a761b85c8b9340ddb1c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154676
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
PDF is the only supported printing format (on Unix) going forward.
Change-Id: I1bd442bac370b89a77e2035d4c17bfc43a869ab1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154974
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
since it can return either absolute or relative values
Change-Id: I23f2403879eded3ec4b3ca20a639ea18b28f5de9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154937
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
rather than having to override 3 different methods, have them override
the ImplInvalidate, which is where the code ends up anywhere.
This already exposes a couple of places that were not overriding all 3
methods.
Change-Id: If76abcf18325b7138ea451fbd0213cd6c7b4daa5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154930
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This reverts 7.4 commit 18cc891483fef63ad168273658a30bff72b87a95.
The bits are no longer used because all options in this dialog
apply immediately, thanks to tdf#65509 and even more so tdf#156308
(which are API changes that won't be backported - so 24.2+ only).
I didn't see any other option in this dialog that could have
benefitted from a restart request, and the scope of this
dialog is rather small, so no value in ignoring the dead code.
Change-Id: I3f40421af079fd42c10d6862949279328ef5583b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154669
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
sometimes it returns a relative position, sometimes an absolute
position.
Rather have two different methods with names that match what
they return.
Change-Id: Ie1e73c6be1c797fd59934c96866d1fef1f972b35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154653
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5b2b8a1516ed2e851309dca6ef3200ed522d1b7b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154136
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154361
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
which will help avoid ambiguity in method calls in an upcoming patch
Change-Id: Ic7607ac7d95559e0942a84fb3226cfdd6ade22bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154146
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I29bf28202e11db836764276f773b134356d93e0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154057
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
that can be initialised at compile-time instead of runtime
Change-Id: I08d516fdc13a3a79f93c079f89ac44cbc7a1ed71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153620
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
OUStringLiteral should be declared constexpr, to enforce
that it is initialised at compile-time and not runtime.
This seems to make a different at least on Visual Studio
Change-Id: I1698f5fa22ddb480347c2f4d444530c2e0e88d92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153499
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
No other options are possible, as implemented in GetExportMode
Change-Id: Id64ec1b5bd52f28a100bd2b31cd56c6620bb2cb2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153239
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Commit cfff893b9c82843a90aac4ecdb3a3936721b74a0 (Move unit conversion
code to o3tl, and unify on that in more places, 2021-02-14) changed a
custom conversion code in CalcToUnit doing inexact conversion from
points to mm/20 (with "* 10 / 567"), with correct conversion function.
A side effect was, however, that the imprecise arithmetics provided
floating-point values that rounded down to correct integers (or maybe
it was all the chain of calculations down to this function), while
the correctly converted values could round down to a smaller value.
Fix this problem using rounding.
Change-Id: I42e0d56b068832ef309f6b696f661642e62ddacb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152894
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I6c87025fc0997b5edbc085fc88333fe9e150eb3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152648
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia530086fe35e64379e55135d392020304b466325
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152649
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I14f0ada21d328b3b6637709e403bfe973a7035b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152670
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
There is no need to do this, as the documentation of
css.lang.XComponent::dispose at
udkapi/com/sun/star/lang/XComponent.idl
states:
After this method has been called, the object should
behave as passive as possible, thus it should ignore all calls
Otherwise, the effect of throwing here is mostly to disturb the flow of
logic in caller code, preventing other parts of teardown from proceeding
smoothly.
Change-Id: I30e6d1b35f85b727debf4405a995fdc0a4fccde6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152450
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I4e9d19a164fdc035ceabd9d4a04a0f500322dd0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152419
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
The Hebrew font preview sample text include Nikkud (vowel marks) which
are optional for modern Hebrew and not all Hebrew fonts have them, and
for fonts lacking them we use a much shorter preview text.
The inclusion of Nikkud is unnecessary and we don’t include vowel marks
in many other scripts (e.g. Arabic where they are more used).
This patch drop the Nikkud marks and leaves the sample text otherwise
unchanged.
Change-Id: Ie4e5abcd74599d25db41c4cdf7e1d3bf997a998c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152350
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
found with a lightly tweaked version of the loplugin:stringadd
and some hand-holding.
Change-Id: I146aadcaf665e98fea89a9cad2df4dc3935622f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152275
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The motivation was to not modify XModuleUIConfigurationManager /
XUIConfigurationManager, but as pointed out at
<https://gerrit.libreoffice.org/c/core/+/151798/10#message-31d00a775989b981a5f50639623cc773d6ea930d>,
it may be fine to modify XModuleUIConfigurationManager2 and
XUIConfigurationManager2 instead of adding
XModuleUIConfigurationManager3 and XUIConfigurationManager3.
Indeed, searching for usage in <https://github.com/libreoffice/wollmux>,
only the published interfaces are used, so let's fold
XModuleUIConfigurationManager3 into XModuleUIConfigurationManager2 and
XUIConfigurationManager3 into XUIConfigurationManager2.
This is a reasonable middle ground between 0 API change and breaking
known users of the public API.
Change-Id: I2dedee7e255f9dda9c9057961e6c829f83b2b709
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152254
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Ib3d4dce2e535fb16a0f34c01c03c71927fa5cdd3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152160
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
We need to have different accelerator classes for differnt languages.
This PR creates a new accelerator class for different languages.
Since current code uses single instance for accelerators, i needed to add a create function.
Also we now have an unordered map for different languages and modules.
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147157
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148680
Tested-by: Miklos Vajna <vmiklos@collabora.com>
Change-Id: Ia646f20b3206f430ece614fc127e8b748044e4c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151798
Tested-by: Jenkins
|
|
Change-Id: Ia985e96eb441d03ace050f4f184a899fba897830
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150873
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I229f25a8a15b21257756ecfa008b9e99681003c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151172
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Commit 444bf8710d5da7b584fbcb94693e4ed8d2e29297 (Update handling of
AntiAliasing settings and processor2d, 2022-11-08) moved the actual
variable holding the AA state to drawinglayer, which introduced a
duplication of the information.
This moves all the handling from svt to drawinglayer, so that svt
functions only use respective drawinglayer functions. Well, almost:
the IsAAPossibleOnThisSystem function needs vcl, so stays in svt.
Change-Id: I887307fbca1ca0cff1f5f32446e3599817099c3f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151163
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|