Age | Commit message (Collapse) | Author |
|
seen when dragging from floating navigator and pressing alt+f4 while
continuing to drag
Change-Id: Idb563c4ec4d8ab74b794e06194ef748e6346eb1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156181
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
a scenario I can reproduce with alt+f4 while dragging from the
navigator
Change-Id: I7123602e036fbe15e0ae8f9a7e1d5fc7483dc6c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156182
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I673199dfd7e95bfdb748791db094e7a1c3e74dba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155759
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Attila Szűcs <attila.szucs@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156158
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
|
|
which warns against using the 'operator bool' conversion of
std::optional<bool> which can lead to interesting bugs
The bugs that this plugin have been submitted independantly,
so this change is just using has_value() in relevant places.
Change-Id: I259b837feeecddcb8cd1d7e5db1e85bf505907cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155978
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Even when drawing to a VirtualDevice where antialiasing
is disabled, text will still be drawn with some
antialiased pixels on HiDPI displays. So, expand the
size of the VirtualDevice slightly to capture any of
the pixles drawn past the edges of the destination
bounds.
Change-Id: Ibcba8234708d8784c12f984289ec0a8fcad6694e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156098
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
A separate filter was made to allow for the option of exporting a still
image instead if the user wants to
Change-Id: I8140c834990e592ee579425d6cd18ae764128576
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155878
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
On Debian testing, tunning the gtk3 a11y tests with
make CppunitTest_vcl_gtk3_a11y
in a Wayland session resulted in a visible
Writer window popping up (while that should not be
the case and isn't when run in an X11 session instead,
as the application is meant to run in a virtual
X server environment via xvfb-run)
and a test failed like this:
.../vcl/qa/cppunit/a11y/atspi2/atspi2.cxx:432:Test1::TestBody
equality assertion failed
- Expected: ATSPI_ROLE_PANEL
- Actual : ATSPI_ROLE_FILLER
warn:sw.core:15950:15950:sw/source/core/attr/calbck.cxx:196: a 16SwTextFormatColl client added as listener to a 16SwTextFormatColl during client iteration.
warn:sw.core:15950:15950:sw/source/core/attr/calbck.cxx:196: a 16SwLineNumberInfo client added as listener to a 12SwCharFormat during client iteration.
Test1::TestBody finished in: 56011ms
atspi2.cxx:432:Assertion
Test name: Test1::TestBody
equality assertion failed
- Expected: ATSPI_ROLE_PANEL
- Actual : ATSPI_ROLE_FILLER
Failures !!!
Run: 1 Failure total: 1 Failures: 1 Errors: 0
Force use of the X11 GDK backend by setting env
var `GDK_BACKEND=x11`, which makes that scenario
work as expected.
Change-Id: I7de03593998ffa3bc18d487cb92e00ae75427598
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156086
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
which is (IMO) the same as using volatile, but seems to make tsan
happier
Change-Id: I52024716ea75d7113357a169e225eee85cf22229
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156108
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This was added in a copy-paste accident
Change-Id: Ifdc9dde30a2d933d4f709f1344d402f9585bbf9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155931
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Serious use of glm was removed from vcl in
commit db89f53c31af997b9bf422b0e784afba8d62a42e
remove OpenGL VCL backend code
This is a bit of leftover from that
Change-Id: I019279cd0cc804d3fa4535a651704bccca38b9db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155909
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
It was introduced in 3426dcfec2b4d5c755024c355f323ecc9f656e4a "vcl gtk3:
Introduce AT-SPI2 tests for the GTK3 accessibility layer", and caused at least a
build with recent GCC 14 trunk to failed with
> In file included from vcl/qa/cppunit/a11y/atspi2/atspiwrapper.cxx:10:
> vcl/qa/cppunit/a11y/atspi2/atspiwrapper.hxx: In member function ‘Atspi::Accessible::iterator Atspi::Accessible::iterator::operator++(int)’:
> vcl/qa/cppunit/a11y/atspi2/atspiwrapper.hxx:524:20: error: cannot bind non-const lvalue reference of type ‘Atspi::Accessible::iterator&’ to an rvalue of type ‘Atspi::Accessible::iterator’
> 524 | return other;
> | ^~~~~
> vcl/qa/cppunit/a11y/atspi2/atspiwrapper.hxx:508:28: note: initializing argument 1 of ‘Atspi::Accessible::iterator::iterator(Atspi::Accessible::iterator&)’
> 508 | iterator(iterator& other)
> | ~~~~~~~~~~^~~~~
Change-Id: Ia9a1e3f58d67db1fc9851fe8a844f2076ff740c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156075
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
FC_FONT_WRAPPER requires unreleased FontConfig, but lets have this in so
it works when FontConfig have it.
Change-Id: I8f48ac1f68a3af6e1853e9eb1925d382b57136c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156049
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Commit 5baac4e53128d3c0fc73b9918dc9a9c2777ace08 switched to setting
the surface size to mPixelsSize in an attempt to avoid downscaling
mImage but since it causes tdf#156866, revert back to setting the
surface size to mSize.
Also, in release builds, tdf#156629 and tdf#156630 reappear in many
cases because a BitmapInfoAccess is in a debug block. So, instead
of relying on other code to a create a BitmapInfoAccess instance,
create one here to force the alpha mask to handle any pending
scaling and make the alpha mask immutable.
Change-Id: If9f0dfb7b9a82cf7a3e402965ceffd42eace4c82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156022
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
Change-Id: Icafdc307c5c9df768f00c3ac0d128936607bf3e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155794
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Fix this build failure seen with a gcc 13.2.0 `--enable-werror`
build on Debian testing:
.../vcl/source/gdi/pdfwriter_impl.cxx: In member function ‘bool vcl::PDFWriterImpl::emitType3Font(const vcl::font::PhysicalFontFace*, const vcl::pdf::FontSubset&, std::__debug::map<int, int>&)’:
.../vcl/source/gdi/pdfwriter_impl.cxx:2719:47: error: moving a temporary object prevents copy elision [-Werror=pessimizing-move]
2719 | BitmapEx aBitmapEx = std::move(aReader.read());
| ~~~~~~~~~^~~~~~~~~~~~~~~~
.../vcl/source/gdi/pdfwriter_impl.cxx:2719:47: note: remove ‘std::move’ call
cc1plus: all warnings being treated as errors
make[1]: *** [.../solenv/gbuild/LinkTarget.mk:337: .../workdir/CxxObject/vcl/source/gdi/pdfwriter_impl.o] Error 1
Change-Id: I9f0ba1afd0dee2a8aaa4708672c755ab3a97e5a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156021
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
At the time of this change, only the AquaSalMenu class calls this
function so it should be safe to invert the alpha mask here.
Change-Id: Id67ad0f453bbf88b43d37087eef36a27ced3ad37
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155977
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
Emoji bitmaps need to have their alpha mask inverted like is done
with transparent images and shapes. So, invert the alpha mask of
Type 3 font bitmaps.
Also, add links to test documents for future development and testing.
Regression from:
commit 81994cb2b8b32453a92bcb011830fcb884f22ff3
Date: Fri Apr 16 20:33:10 2021 +0200
Convert internal vcl bitmap formats transparency->alpha (II)
Change-Id: I18223a231ab751945883ede029d660949a406f7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155960
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
See
<https://gerrit.libreoffice.org/c/core/+/155750/4#message-036c9ad1bebd18ae6458cb23d582e0fbd0272b61>.
Change-Id: Ibee5c4973a1ea80515742852385e97718b10a260
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155965
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I8fbe02547d5045cfdb5021720b10ddd10106209a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155750
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I432417f03d378f81c890ce6c313a2f140b564a60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155955
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
This reverts commit 3e20c3e73cbd10e8323f0997e3a6536abd11e2bd.
Reason for revert: This breaks every single fix that I have made for exporting alpha masks to PDF. A different solution is needed as the invert needs to be where it was to snapshot the AlphaMask.
Change-Id: I5f743b67067dff43a2324d6ca9bc1f444e245a12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155917
Reviewed-by: Patrick Luby <plubius@neooffice.org>
Tested-by: Patrick Luby <plubius@neooffice.org>
|
|
Change-Id: I99ef7d219a427989397d7d7dc75e1e0ebc8e22d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155812
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Blind fix, since I don't have two screens.
regression from
commit 4c00a5bce384c5fa3b46cf5bb29c7e9b1e506ea0
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Thu Jul 20 11:27:17 2023 +0200
Assume that, if we have X11, it supports Xinerama
It looks like I missed the removal of some USE_XINERAMA pieces
Change-Id: I402db170916efe935d8ff9f96cc9b327070809b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155939
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Don't request focus for the color window
before the menu button popup opens.
Doing so would prevent properly restoring focus to the
menu button itself after the popup closes again.
Without this change in place, the call to
`MenuButton::Activate` in `MenuButton::ExecuteMenu (s. frame 14/15
in below backtrace) would already set focus to the "Automatic" button
in the color window:
1 PushButton::GetFocus button.cxx 1490 0x7f4acfdc83b6
2 vcl::Window::CompatGetFocus window.cxx 3888 0x7f4acfd9d26d
3 vcl::Window::ImplGrabFocus mouse.cxx 384 0x7f4acfcd5215
4 vcl::Window::GrabFocus window.cxx 2979 0x7f4acfd988e9
5 SalInstanceWidget::grab_focus salvtables.cxx 390 0x7f4ad046f505
6 ColorWindow::GrabFocus tbcontrl.cxx 2127 0x7f4ad3f21af1
7 ColorListBox::ToggleHdl tbcontrl.cxx 4291 0x7f4ad3f313d6
8 ColorListBox::LinkStubToggleHdl tbcontrl.cxx 4285 0x7f4ad3f31369
9 Link<weld::Toggleable&, void>::Call link.hxx 111 0x7f4ad04aec71
10 weld::Toggleable::signal_toggled weld.hxx 1539 0x7f4ad04a77a3
11 SalInstanceMenuButton::ActivateHdl salvtables.cxx 3075 0x7f4ad0483086
12 SalInstanceMenuButton::LinkStubActivateHdl salvtables.cxx 3071 0x7f4ad0483043
13 Link<MenuButton *, void>::Call link.hxx 111 0x7f4acfe9e9c1
14 MenuButton::Activate menubtn.cxx 237 0x7f4acfe9e136
15 MenuButton::ExecuteMenu menubtn.cxx 61 0x7f4acfe9cca1
16 MenuButton::KeyInput menubtn.cxx 226 0x7f4acfe9e092
17 ImplHandleKey winproc.cxx 1211 0x7f4acfdb0962
18 ImplWindowFrameProc winproc.cxx 2724 0x7f4acfdb6fcf
19 SalFrame::CallCallback salframe.hxx 310 0x7f4ac5aa3dfa
20 QtFrame::CallCallback QtFrame.hxx 229 0x7f4ac5aa5336
... <More>
As a consequence, this "Automatic" button inside of the color window
would be the UI element remembered as the the one to which focus
focus should be restored when closing the popup, see the
mxPrevFocusWin = Window::SaveFocus();
in `FloatingWindow::StartPopupMode`, which gets called like this:
1 FloatingWindow::StartPopupMode floatwin.cxx 824 0x7f4acfc61a61
2 ImplDockingWindowWrapper::StartPopupMode dockmgr.cxx 846 0x7f4acfc43bd3
3 DockingManager::StartPopupMode dockmgr.cxx 341 0x7f4acfc412c3
4 MenuButton::ExecuteMenu menubtn.cxx 94 0x7f4acfe9cfa9
5 MenuButton::KeyInput menubtn.cxx 226 0x7f4acfe9e092
6 ImplHandleKey winproc.cxx 1211 0x7f4acfdb0962
7 ImplWindowFrameProc winproc.cxx 2724 0x7f4acfdb6fcf
8 SalFrame::CallCallback salframe.hxx 310 0x7f4ac5aa3dfa
9 QtFrame::CallCallback QtFrame.hxx 229 0x7f4ac5aa5336
10 QtWidget::handleKeyEvent QtWidget.cxx 671 0x7f4ac5af9f38
11 QtWidget::handleEvent QtWidget.cxx 707 0x7f4ac5afa094
12 QtWidget::event QtWidget.cxx 730 0x7f4ac5afa1f7
13 QApplicationPrivate::notify_helper qapplication.cpp 3287 0x7f4ac37a2414
14 QApplication::notify qapplication.cpp 2715 0x7f4ac379fd5b
15 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1123 0x7f4ac51a3c34
16 QCoreApplication::forwardEvent qcoreapplication.cpp 1138 0x7f4ac51a3cac
17 QWidgetWindow::handleKeyEvent qwidgetwindow.cpp 669 0x7f4ac38567b1
18 QWidgetWindow::event qwidgetwindow.cpp 234 0x7f4ac3854924
19 QApplicationPrivate::notify_helper qapplication.cpp 3287 0x7f4ac37a2414
20 QApplication::notify qapplication.cpp 3238 0x7f4ac37a2224
... <More>
and then properly restoring focus fails in
`FloatingWindow::EndPopupMode`.
Move the call to `Activate` to after showing the
popup instead. This makes sure that the actual
widget that had focus *before* the popup opened
is remembered and focus is correctly restored
on close.
The handler for the toggled signal had been added in
commit e55a1dc163165cb79fc9113101d16ee8d3db7298
Date: Wed Nov 27 14:58:00 2019 +0000
don't put focus into unmapped windows
defer until the color selectors are activated to grab focus, otherwise
esc doesn't work to close a dialog under gtk3 until focus is put
into some visible widget
which apparently already moved the focus request to later than it was
before.
With this change in place, the NVDA screen reader announces the
menu button again once the color popup closes (tdf#141101) and it also
makes opening the popup menu again right away work
by pressing Alt+Down button again on Windows or with the
gen or qt6 VCL plugins on Linux, which didn't work beforehand,
but required either using the mouse or tabbing to another UI
element and back before that keyboard shortcut would work again.
The same is true for the border line style popup (tdf#101886).
Setting the focus only when the popup shows also
makes the focus correctly be on the previously
selected color for the non-gtk3 case when opening
the popup again. (Previously, the "Automatic" button
would always have focus.)
Ensure that the required preparations for showing the
popup in the `ManagedMenuButton` subclass are still
done before executing the menu by doing what's
needed in the newly named `ManagedMenuButton::PrepareExecute`
method rather than in `Activate` and call that
one before showing the menu.
Change-Id: I82fbfea2ae8b9064979796da279750350deb742d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155891
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
Adobe Acrobat seems to have a bug with Type 3 fonts with unusual UPEM,
the common 1000 and 2048 UPEM work fine, but Sitka has 2250 UPEM and
Acrobat handles the advance widths in this case incorrectly and
everything gets cramped up with gaps when we re-start glyph positioning.
Workaround this by always using 0.001 scale in FontMatrix (equivalent to
1000 UPEM) and scale everything if the font’s UPEM is different.
Change-Id: I80d25a16456f04bb00304b22b967688fa8260a83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155935
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
These are bit flags, so we were always writing #0000, so now it does
bitwise check for the flags and while at it write the names of the flags
not the numeric values.
Change-Id: I13cae38c0e549b2da1f834a264e3a3255bfa5c5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155793
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
restore this now that ofz has closed ofz#57493 and has reset
Change-Id: Ibf5545d1f499e1c986a8242eb501ac870a7a6d72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155879
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Move the alpha inversion down to createBitmapEmit() so that it gets
applied to any bitmap embedded in the PDF, especially since embedded
color bitmap glyphs don't go through the higher level code path.
Regression from:
commit 81994cb2b8b32453a92bcb011830fcb884f22ff3
Date: Fri Apr 16 20:33:10 2021 +0200
Convert internal vcl bitmap formats transparency->alpha (II)
Change-Id: I68601a7a0d9ac01f5e8054f074f8e18fcbdea1be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155930
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@libreoffice.org>
|
|
Commit ad1f69d28d31725a22e7e1cbb4d950aa9ad3bea7 fixed an alpha
blending bug in AlphaMask::BlendWith(const AlphaMask&) so almost
all of the special alpha mask inversions when drawing transparent
meta actions are no longer needed and so, when Skia is disabled,
the same inversions as Skia are now used.
The one special alpha mask inversion that is still needed when Skia
is disabled is when exporting to PDF documents like the following
with transparent gradients:
https://bugs.documentfoundation.org/attachment.cgi?id=188084
Change-Id: I3212a38916be3d238bb9c868b161031616baf0a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155859
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
Reimplement fix in commit 926c5246b6694d469a6caed5d7ea4c3a68648468
in an attempt to reduce the fix's performance hit. Instead of
invoking EnsureBitmapData() and converting the SkImage to a
memory buffer, any pending scaling on alpha masks is handled by
creating a new, scaled SkImage.
Note that in commit 926c5246b6694d469a6caed5d7ea4c3a68648468,
EnsureBitmapData() was invoked which converted the SkImage to a
memory buffer. That in turn would make Invert() a noop which
fixed the related bug where an image has been opened and, before
it has been printed or run in a slideshow, the alpha mask would
unexpectedly be inverted. So keep this immutable behavior without
calling EnsureBitmapData() by adding a new mutability flag.
Change-Id: I99dc272b40c53664ea49333402a6a637b1548a5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155850
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
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: 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: Ia78a6a37b21cd2e286574adcd5fa64818f7d0d75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155829
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
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>
|
|
Change-Id: I8c0e513d36c087e9ea8019325cdb3122bec744be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155743
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Found while I was (mis)using
XSessionManagerListener2 in
https://gerrit.libreoffice.org/c/core/+/155460
But I think these are valid anyway.
Certainly one is when it is checked in the try clause
but not in the catch clause.
Change-Id: Ia3f7211e4a4c86dd503ffe1b04e5b5c13227218e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155719
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
Change-Id: Iece7d9de56477702fadbf1cadc2e0f5d9224c96e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155197
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Subscribe to receive pinch gestures by calling
`QWidget::grabGesture(Qt::PinchGesture)` and
forward that as the corresponding `SalGestureZoomEvent`.
From looking at what values the gtk implementation uses,
`1 + pPinchGesture->totalScaleFactor()` seems to be a
proper choice for the
`SalGestureZoomEvent::mfScaleDelta` value.
With this in place, zooming in and out of a Writer
document with a two-finger zoom gesture works for
me with the Qt-based VCL plugins in Writer on my laptop
that has a touch screen.
(It seems to be a bit more smooth with qt5/kf5 than
with qt6, where doing several zoom gestures after
each other sometimes requires to wait a bit before
doing another gesture in order for that one to be
processed properly.)
Qt documentation for gestures: [1]
Corresponding commit for gtk VCL plugins:
commit f2bd19f6720239db228cd4388be8e928505c51b6
Author: Povilas Kanapickas <povilas@radix.lt>
Date: Thu Aug 25 00:18:30 2022 +0300
vcl: implement touchpad zoom gesture support on gtk backend
[1] https://doc.qt.io/qt-6/gestures-overview.html
Change-Id: I288943d923463fee44314969648e03dca84c483f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155649
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
On macOS, with Skia/Metal or Skia/Raster with a Retina display
(i.e. 2.0 window scale), the alpha mask gets upscaled in certain
cases.
This bug appears to be caused by pending scaling of an existing
SkImage in the bitmap parameter. So, force the SkiaSalBitmap to
handle its pending scaling.
This change consolidates the three duplicate fixes added in the
following commits into the AlphaMask(const Bitmap&) constructor.
commit 12fd870113a663dde5ceb38c61f1986a34095d0e
commit ce2d9f5dd4b6a26847c4779bce4866d969ff4400
From my light testing, the bitmap's SkImage is not scaled except
when running macOS with a Retina display. The only exception is
that this fix will be triggered on all platforms when exporting
to PDF images with an alpha mask.
Change-Id: Iea5afd55aac984ca606b2b4b44e457d81d76fac0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155568
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
and
cid#1539912 Missing move assignment operator
cid#1539913 Missing move assignment operator
Change-Id: If46cb15c20479a4a88fdfa70fe4bb662004239d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155645
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
This reverts commit 69972719542cd686687ddd91f2b5284483513608.
There are some odd things gone in with some of these changes that I do understand. Reverting until I have worked it out.
Change-Id: If5316654c16a697a2aff5eccdffaa5b2a6e0052d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155598
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|