2409 Commits
Author SHA1 Message Date
Caolán McNamara aafab1213b Resolves: tdf#172918 allow a media link the user inserts in this session
The document-wide link update permission is decided when the document is
loaded. But media files that the users interactively inserts should be
automatically allowed.

Remember on the media object that the user picked the reference and
allow it on its own, the same way a presentation sound the user picks is
allowed. A reference that arrived with the document still needs the
document-wide permission.

since:

commit f0768394c14f928d47547408fc1195368be81f86
Date:   Tue Jul 14 19:12:01 2026 +0100

    put slideshow media links under link control

see also:

commit 0aa870b7b5a6bda50bab50c7a0a41d28fdf4f6ab
Date:   Wed Jun 17 09:37:23 2026 +0000

    bring external presentation sounds under link management

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/7939
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit 17c0a99a0886b397d5682b87209e34c01fdcd44f)
Change-Id: I711fee12416e3e5e91fc07999ea62df32684b625
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211276
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-21 12:59:37 +02:00
Andrea Gelmini 73bad15553 Fix typos
Change-Id: Ia92e533b8753709937e87c94ada04a3e3064ea90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210191
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-29 13:34:56 +02:00
Andrea Gelmini aae006522f Fix typos
Change-Id: I9d41f9ab9cf8d9d547159de79bd7eaebba55491b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209912
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 10:40:57 +02:00
Andrea Gelmini 335726898d Fix typos
Change-Id: Idab619de99649c2fb0a1920844cb07e5ede9691c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209474
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-22 10:25:17 +02:00
Caolán McNamara d3cf169ea1 bring external presentation sounds under link management
A presentation can reference sound files outside its own package, on a
slide transition, an animation, or a click action.

Linked graphics already come under link management, where the user
allows each external reference on its own.

Bring presentation sounds under the same link management. Each external
sound is registered as a link the user can allow through the link-update
infobar or "Edit, Links".

For the uno api move these sounds around as XSoundReference so their
allowed state can be moved with them. So that changes the property
from a string to an XInterface. Setter still accept a string, getter
returns the new XInterface, there's an acknowledged possibility of
incompatibility despite being technically api-change-passing

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ib7deea2f78cf5c5b9958e43adb8e6f46b1b31e80
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/6970
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 0aa870b7b5a6bda50bab50c7a0a41d28fdf4f6ab)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208430
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-22 14:01:37 +02:00
Caolán McNamara b33b2b50d8 put slideshow media links under link control
Change-Id: I22b8e5577e2a450d0d4043db891eec4617dcb2fe
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/7009
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit f0768394c14f928d47547408fc1195368be81f86)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208320
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-21 11:37:40 +02:00
Khaled Hosny ef3c39851d vcl: Rename Font::Set/GetAverageFontWidth to Set/GetFontWidth
It is a misnomer now, so return to the original name.

Also drop the redundant private Font::GetAverageFontSize().

Change-Id: I67495fa675091b459a4e90ac09665489cc61fdd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207991
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2026-07-14 00:16:59 +02:00
Jason Whitmore cb080d12c1 tdf#157664 Remove != operator from RGBColor class
Both the definition and implementation of the != operator
have been removed from the RGBColor class because C++20
automatically generates the != operator from the == operator.

Change-Id: Ia84fa254d1d11d127f55b79f213eb64789269c7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206183
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2026-06-29 14:27:35 +02:00
Xisco Fauli 00aebb5e88 loplugin:unusedmethods
Change-Id: I5eec1b68efc285995db3b5825699c07fa006cb35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207375
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-29 10:16:53 +02:00
Xisco Fauli a4950c7ca3 Revert "tdf#162563 Drop Applet support from slideshow"
This reverts commit c72c31de14.

it breaks the published API

Change-Id: Ibdffdc39bcaa1e9dcbb3cb6528c02b7aee2649a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206707
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-17 08:53:26 +02:00
Xisco Fauli 6f81bce807 loplugin:unusedmethods
Change-Id: I57a535f72e639a9b708c5c7dc1790e354d2d477e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205943
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-04 10:00:29 +02:00
Gabor Kelemen c72c31de14 tdf#162563 Drop Applet support from slideshow
Change-Id: I48aa6e8d0b7d97914bf14947a5ce1b18ca6844e4
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3203
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit 37fda958ab6ccb5fb0cab528fcc305ccf7ac6065)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205874
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-02 10:28:44 +02:00
alohapeakina 02bc5fe59c tdf#143148 Replace include guards in hslcolor and hslcoloranimation
Change-Id: Ia72f87ec6270c6b4e2906cdbcd60c69688801454
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205149
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-05-13 10:59:10 +02:00
Rene Engelhard 304504b523 fix build with box2d 2.4 again
after 4b6a3b9352

See https://gerrit.libreoffice.org/c/core/+/183724/comment/3cba4107_5e47fc16/

Change-Id: I3f407f6a44526c2f6067bae03b2e2ea4c50a0c22
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204890
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-08 09:38:11 +02:00
Xisco Fauli aaf7a2286a box2d: upgrade to 3.1.0
Downloaded https://github.com/erincatto/box2d/archive/refs/tags/v3.1.0.tar.gz

Change-Id: I21bf8d3e26cf2601607f586a3bc1010a32b78a06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204848
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-06 13:50:34 +02:00
Xisco Fauli 4b6a3b9352 box2d: upgrade to 3.0.0
Add android.patch to fix

In file included from /home/tdf/jenkins/workspace/android_arm/workdir/UnpackedTarball/box2d/src/allocate.c:6:
/home/tdf/jenkins/workspace/android_arm/workdir/UnpackedTarball/box2d/src/core.h:50:3: error: Unsupported CPU
   50 |         #error Unsupported CPU
      |          ^
/home/tdf/jenkins/workspace/android_arm/workdir/UnpackedTarball/box2d/src/allocate.c:71:14: error: call to undeclared library function 'aligned_alloc' with type 'void *(unsigned int, unsigned int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
   71 |         void* ptr = aligned_alloc( B2_ALIGNMENT, size32 );
      |

Downloaded from https://github.com/erincatto/box2d/archive/refs/tags/v3.0.0.tar.gz

Change-Id: I8fa42a5e0317cf0cd7a62bbe9bcfe71c1405184d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183724
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-06 08:50:02 +02:00
Xisco Fauli cfd3309a5d loplugin:unusedmethods
Check existing ones that can be removed

Change-Id: I6ee6fc1772c620ac5d12fea915681b094b7c3bfd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204583
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-04-30 08:54:45 +02:00
Andrea Gelmini ad83edd7d6 Fix typo "then"->"than"
Change-Id: If44203c2b37491ff3ba7b1542789b62d7a0afbca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202917
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-03-29 09:48:53 +02:00
Aryan Mishra 8cca6e138f tdf#165233 Use static_pointer_cast in SequentialTimeContainer
Replaces dynamic_pointer_cast with static_pointer_cast in
SequentialTimeContainer::resolveChild, as suggested in the
code review.

Change-Id: I6449936ae1d44a35be737656bd0948b159662371
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202271
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2026-03-22 17:07:15 +01:00
Aryan Mishra 4b87a93e7f tdf#165233 Use lambdas instead of std::bind in SequentialTimeContainer
Replaces the std::bind in SequentialTimeContainer::resolveChild with
a C++ lambda to improve readability and performance.

Change-Id: I296e7059f3f9125f5499de432b3c5c42425ef501
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201992
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2026-03-19 20:43:07 +01:00
Michael Weghorn b696d2bf63 vcl: Get Toolkit from SalInstance, not SystemEnvData
SystemEnvData holds data specific to a single
frame/object, but the toolkit used is specific
to the SalInstance/vcl plugin.

Instead of having a SystemEnvData::toolkit member
that needs to be set for each object, introduce
a SalInstance::GetToolkit getter and a corresponding
Application::GetToolkit that calls it.

Change-Id: I052f122e991bec745af88d3f43847e4d77fb4ba4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201536
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-03-13 07:40:38 +01:00
Alexandru Vasilescu 4931872977 tdf#158337 Use C++20 std::erase instead of std::remove followed by erase
NDK 27 comes with Clang 18, and now std::erase is supported:
https://lists.freedesktop.org/archives/libreoffice/2025-February/093032.html

Therefore, the whole condition over Android is no longer needed, and
therefore removed.

Change-Id: I9096a5ca4dd51d22f298ca17c676a1f1ee2a63f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195185
Reviewed-by: Hossein <hossein@libreoffice.org>
Tested-by: Jenkins
2026-02-18 11:52:52 +01:00
Vladislav Tarakanov b6bec20772 tdf#158394 Automatic scaling of icons for navigation bar
Added handling for the viewAdded and
viewChanged events, which cause navigation bar
icons to change if they don't fit the current
presentation area size.

This handler is only applied when automatic
scaling of the navigation bar is enabled, so it
shouldn't impact performance when the bar isn't
used or a fixed size is selected.

Icon sizes:
XLarge for UHD and above
Large for FHD and up
Small for anything smaller than FHD

Change-Id: I9f6599291d57aca9991c8d2dd2969d1edb36080e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196157
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
2026-01-26 10:59:04 +01:00
Gabor Kelemen 49cb3077fb tdf#146619 Use more forward declarations in include/vcl/outdev.hxx
these were skipped in previous runs, since they contain some code behind #if

After inspecting these, it seems like the removals should not cause trouble.

This also shaves off some 140M input

Change-Id: Ie1f57174dd6fec3ba5b0b91eb0688acdc1a8143d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197494
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2026-01-23 21:27:08 +01:00
Stephan Bergmann ae36c06e56 Silence spurious -Werror=array-bounds=
seen at least with recent GCC 16 trunk,

> In file included from ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:53,
>                  from ~/gcc/inst/include/c++/16.0.1/memory:82,
>                  from include/rtl/stringconcat.hxx:22,
>                  from include/rtl/string.hxx:51,
>                  from include/rtl/ustring.hxx:45,
>                  from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/uno/Exception.hdl:9,
>                  from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/uno/RuntimeException.hdl:6,
>                  from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/uno/RuntimeException.hpp:6,
>                  from include/com/sun/star/uno/Reference.hxx:32,
>                  from slideshow/source/inc/shape.hxx:23,
>                  from slideshow/source/inc/box2dtools.hxx:12,
>                  from slideshow/source/engine/box2dtools.cxx:10:
> In destructor ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’,
>     inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = b2Body; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1603:7,
>     inlined from ‘std::shared_ptr<b2Body>::~shared_ptr()’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:175:11,
>     inlined from ‘box2d::utils::box2DBody::~box2DBody()’ at slideshow/source/inc/box2dtools.hxx:333:7,
>     inlined from ‘constexpr void std::destroy_at(_Tp*) [with _Tp = box2d::utils::box2DBody]’ at ~/gcc/inst/include/c++/16.0.1/bits/stl_construct.h:88:18,
>     inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = box2d::utils::box2DBody]’ at ~/gcc/inst/include/c++/16.0.1/bits/stl_construct.h:164:22,
>     inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = box2d::utils::box2DBody]’ at ~/gcc/inst/include/c++/16.0.1/bits/alloc_traits.h:819:17,
>     inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = box2d::utils::box2DBody; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:675:35,
>     inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:423:18,
>     inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:392:5,
>     inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1129:21,
>     inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = b2Body; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1603:7,
>     inlined from ‘std::shared_ptr<b2Body>::~shared_ptr()’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:175:11,
>     inlined from ‘box2d::utils::Box2DBodySharedPtr box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)’ at slideshow/source/engine/box2dtools.cxx:731:1:
> ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1128:13: error: array subscript 3 is outside array bounds of ‘std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic> [1]’ [-Werror=array-bounds=]
>  1128 |         if (_M_pi != nullptr)
>       |             ^~~~~
> In file included from ~/gcc/inst/include/c++/16.0.1/x86_64-pc-linux-gnu/bits/c++allocator.h:33,
>                  from ~/gcc/inst/include/c++/16.0.1/bits/allocator.h:46,
>                  from ~/gcc/inst/include/c++/16.0.1/string:46,
>                  from ~/gcc/inst/include/c++/16.0.1/bits/locale_classes.h:43,
>                  from ~/gcc/inst/include/c++/16.0.1/bits/ios_base.h:43,
>                  from ~/gcc/inst/include/c++/16.0.1/ios:46,
>                  from ~/gcc/inst/include/c++/16.0.1/bits/ostream.h:43,
>                  from ~/gcc/inst/include/c++/16.0.1/ostream:42,
>                  from include/com/sun/star/uno/Reference.hxx:29:
> In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
>     inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at ~/gcc/inst/include/c++/16.0.1/bits/allocator.h:203:40,
>     inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_CharT> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at ~/gcc/inst/include/c++/16.0.1/bits/alloc_traits.h:614:28,
>     inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, allocator<void>, __gnu_cxx::_S_atomic> >]’ at ~/gcc/inst/include/c++/16.0.1/bits/allocated_ptr.h:103:69,
>     inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter, _Alloc) [with _Ptr = b2Body*; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; _Alloc = std::allocator<void>; <template-parameter-2-4> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1007:13,
>     inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter) [with _Ptr = b2Body*; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:996:57,
>     inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*, _Deleter) [with _Yp = b2Body; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; _Tp = b2Body; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1557:17,
>     inlined from ‘std::shared_ptr<_Tp>::shared_ptr(_Yp*, _Deleter) [with _Yp = b2Body; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; _Tp = b2Body]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:231:48,
>     inlined from ‘box2d::utils::Box2DBodySharedPtr box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)’ at slideshow/source/engine/box2dtools.cxx:669:6:
> ~/gcc/inst/include/c++/16.0.1/bits/new_allocator.h:151:73: note: at offset 24 into object of size 24 allocated by ‘operator new’
>   151 |     return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
>       |                                                                     ^
> In destructor ‘box2d::utils::box2DBody::~box2DBody()’,
>     inlined from ‘constexpr void std::destroy_at(_Tp*) [with _Tp = box2d::utils::box2DBody]’ at ~/gcc/inst/include/c++/16.0.1/bits/stl_construct.h:88:18,
>     inlined from ‘constexpr void std::_Destroy(_Tp*) [with _Tp = box2d::utils::box2DBody]’ at ~/gcc/inst/include/c++/16.0.1/bits/stl_construct.h:164:22,
>     inlined from ‘static constexpr void std::allocator_traits<std::allocator<void> >::destroy(allocator_type&, _Up*) [with _Up = box2d::utils::box2DBody]’ at ~/gcc/inst/include/c++/16.0.1/bits/alloc_traits.h:819:17,
>     inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_dispose() [with _Tp = box2d::utils::box2DBody; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:675:35,
>     inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:423:18,
>     inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:392:5,
>     inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1129:21,
>     inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = b2Body; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1603:7,
>     inlined from ‘std::shared_ptr<b2Body>::~shared_ptr()’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:175:11,
>     inlined from ‘box2d::utils::Box2DBodySharedPtr box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)’ at slideshow/source/engine/box2dtools.cxx:731:1:
> slideshow/source/inc/box2dtools.hxx:333:7: error: array subscript ‘box2d::utils::box2DBody[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Werror=array-bounds=]
>   333 | class box2DBody
>       |       ^~~~~~~~~
> In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
>     inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at ~/gcc/inst/include/c++/16.0.1/bits/allocator.h:203:40,
>     inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_CharT> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at ~/gcc/inst/include/c++/16.0.1/bits/alloc_traits.h:614:28,
>     inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, allocator<void>, __gnu_cxx::_S_atomic> >]’ at ~/gcc/inst/include/c++/16.0.1/bits/allocated_ptr.h:103:69,
>     inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter, _Alloc) [with _Ptr = b2Body*; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; _Alloc = std::allocator<void>; <template-parameter-2-4> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1007:13,
>     inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter) [with _Ptr = b2Body*; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:996:57,
>     inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*, _Deleter) [with _Yp = b2Body; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; _Tp = b2Body; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1557:17,
>     inlined from ‘std::shared_ptr<_Tp>::shared_ptr(_Yp*, _Deleter) [with _Yp = b2Body; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; _Tp = b2Body]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:231:48,
>     inlined from ‘box2d::utils::Box2DBodySharedPtr box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)’ at slideshow/source/engine/box2dtools.cxx:669:6:
> ~/gcc/inst/include/c++/16.0.1/bits/new_allocator.h:151:73: note: at offset 16 into object of size 24 allocated by ‘operator new’
>   151 |     return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
>       |                                                                     ^
> In destructor ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::~_Sp_counted_ptr_inplace() [with _Tp = box2d::utils::box2DBody; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’,
>     inlined from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::~_Sp_counted_ptr_inplace() [with _Tp = box2d::utils::box2DBody; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:670:45,
>     inlined from ‘void std::_Sp_counted_base<_Lp>::_M_destroy() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:143:9,
>     inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:424:18,
>     inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:392:5,
>     inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1129:21,
>     inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = b2Body; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1603:7,
>     inlined from ‘std::shared_ptr<b2Body>::~shared_ptr()’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:175:11,
>     inlined from ‘box2d::utils::Box2DBodySharedPtr box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)’ at slideshow/source/engine/box2dtools.cxx:731:1:
> ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:670:45: error: array subscript ‘std::_Sp_counted_ptr_inplace<box2d::utils::box2DBody, std::allocator<void>, __gnu_cxx::_S_atomic>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Werror=array-bounds=]
>   670 |       ~_Sp_counted_ptr_inplace() noexcept { }
>       |                                             ^
> In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
>     inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at ~/gcc/inst/include/c++/16.0.1/bits/allocator.h:203:40,
>     inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_CharT> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at ~/gcc/inst/include/c++/16.0.1/bits/alloc_traits.h:614:28,
>     inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, allocator<void>, __gnu_cxx::_S_atomic> >]’ at ~/gcc/inst/include/c++/16.0.1/bits/allocated_ptr.h:103:69,
>     inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter, _Alloc) [with _Ptr = b2Body*; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; _Alloc = std::allocator<void>; <template-parameter-2-4> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1007:13,
>     inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter) [with _Ptr = b2Body*; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:996:57,
>     inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*, _Deleter) [with _Yp = b2Body; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; _Tp = b2Body; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1557:17,
>     inlined from ‘std::shared_ptr<_Tp>::shared_ptr(_Yp*, _Deleter) [with _Yp = b2Body; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; _Tp = b2Body]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:231:48,
>     inlined from ‘box2d::utils::Box2DBodySharedPtr box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)’ at slideshow/source/engine/box2dtools.cxx:669:6:
> ~/gcc/inst/include/c++/16.0.1/bits/new_allocator.h:151:73: note: object of size 24 allocated by ‘operator new’
>   151 |     return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
>       |                                                                     ^
> In destructor ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::~_Sp_counted_ptr_inplace() [with _Tp = box2d::utils::box2DBody; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’,
>     inlined from ‘void std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_M_destroy() [with _Tp = box2d::utils::box2DBody; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:684:32,
>     inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:424:18,
>     inlined from ‘void std::_Sp_counted_base<_Lp>::_M_release() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:392:5,
>     inlined from ‘std::__shared_count<_Lp>::~__shared_count() [with __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1129:21,
>     inlined from ‘std::__shared_ptr<_Tp, _Lp>::~__shared_ptr() [with _Tp = b2Body; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1603:7,
>     inlined from ‘std::shared_ptr<b2Body>::~shared_ptr()’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:175:11,
>     inlined from ‘box2d::utils::Box2DBodySharedPtr box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)’ at slideshow/source/engine/box2dtools.cxx:731:1:
> ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:670:45: error: array subscript ‘std::_Sp_counted_ptr_inplace<box2d::utils::box2DBody, std::allocator<void>, __gnu_cxx::_S_atomic>[0]’ is partly outside array bounds of ‘unsigned char [24]’ [-Werror=array-bounds=]
>   670 |       ~_Sp_counted_ptr_inplace() noexcept { }
>       |                                             ^
> In member function ‘_Tp* std::__new_allocator<_Tp>::allocate(size_type, const void*) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’,
>     inlined from ‘constexpr _Tp* std::allocator< <template-parameter-1-1> >::allocate(std::size_t) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at ~/gcc/inst/include/c++/16.0.1/bits/allocator.h:203:40,
>     inlined from ‘static constexpr _Tp* std::allocator_traits<std::allocator<_CharT> >::allocate(allocator_type&, size_type) [with _Tp = std::_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, std::allocator<void>, __gnu_cxx::_S_atomic>]’ at ~/gcc/inst/include/c++/16.0.1/bits/alloc_traits.h:614:28,
>     inlined from ‘std::__allocated_ptr<_Alloc> std::__allocate_guarded(_Alloc&) [with _Alloc = allocator<_Sp_counted_deleter<b2Body*, box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>, allocator<void>, __gnu_cxx::_S_atomic> >]’ at ~/gcc/inst/include/c++/16.0.1/bits/allocated_ptr.h:103:69,
>     inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter, _Alloc) [with _Ptr = b2Body*; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; _Alloc = std::allocator<void>; <template-parameter-2-4> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1007:13,
>     inlined from ‘std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter) [with _Ptr = b2Body*; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:996:57,
>     inlined from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(_Yp*, _Deleter) [with _Yp = b2Body; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; _Tp = b2Body; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr_base.h:1557:17,
>     inlined from ‘std::shared_ptr<_Tp>::shared_ptr(_Yp*, _Deleter) [with _Yp = b2Body; _Deleter = box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)::<lambda(b2Body*)>; <template-parameter-2-3> = void; _Tp = b2Body]’ at ~/gcc/inst/include/c++/16.0.1/bits/shared_ptr.h:231:48,
>     inlined from ‘box2d::utils::Box2DBodySharedPtr box2d::utils::box2DWorld::createStaticBody(const slideshow::internal::ShapeSharedPtr&)’ at slideshow/source/engine/box2dtools.cxx:669:6:
> ~/gcc/inst/include/c++/16.0.1/bits/new_allocator.h:151:73: note: object of size 24 allocated by ‘operator new’
>   151 |     return static_cast<_Tp*>(_GLIBCXX_OPERATOR_NEW(__n * sizeof(_Tp)));
>       |                                                                     ^

Change-Id: I437410fb3ca777405f8153c13c3e3cc47bc6e8b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197839
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
2026-01-22 22:49:58 +01:00
Gabor Kelemen 96cb87ca01 tdf#146619 Use more forward declarations in include/vcl/[a-o]
these were skipped in previous runs, since they contain some code behind #if

After inspecting these, it seems like the removals should not cause trouble.

Change-Id: I867ffc53254057e4bae43690214a2ab7ce0caa8f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197493
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-01-22 09:42:36 +01:00
Gabor Kelemen 47fe1cce1b tdf#146619 Use more forward declarations in include/vcl/[h-p]*
Found after running bin/find-unneeded-includes --headersfwd include/vcl/[n-p]*

Change-Id: If6436f3ef8300693c3869c2521e2fa2aa8a4edc8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196397
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2026-01-14 10:19:31 +01:00
ayagamal-tech 10f42f6ddc tdf#143148 use #pragma once in slideshow and bitmap
Change-Id: I318d11da38ee8fc7d4aa48c4e3d6b9a3fd6b24de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196921
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2026-01-12 15:56:36 +01:00
Gabor Kelemen b63115f3fa tdf#146619 Use more forward declarations in include/vcl/[d-g]*
Found after running bin/find-unneeded-includes --headersfwd include/vcl/[d-g]*

This shaves off about 150M input

Change-Id: I2b15257451d4b392dca3e5d07f4a443ee653b04c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196395
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2026-01-11 21:38:37 +01:00
Tor Lillqvist 1238770c7b Put mxDropMediaSizeListener inside HAVE_FEATURE_AVMEDIA
Also another compilation fix for !HAVE_FEATURE_AVMEDIA.

Change-Id: I442d81f4817fbd28ff04e91c1503f947890007fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194559
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196671
Reviewed-by: Tor Lillqvist <tml@iki.fi>
Tested-by: Jenkins
2026-01-08 12:33:43 +01:00
Gabor Kelemen 4a9c718382 tdf#146619 Use more forward declarations in include/vcl/[a-c]*
Found after running bin/find-unneeded-includes --headersfwd include/vcl/[a-c]*

Change-Id: Ib54f3eb80d6575d6a120fedbdbd9e1ad77b229ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196394
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2026-01-06 10:02:26 +01:00
Yui Nguyen 35186cde84 tdf#143148: Use pragma once instead of include guards
Change-Id: Idc884a78fae85543c4c41f043c069acfb3f495d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195581
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2025-12-17 17:48:04 +01:00
shlok3640 182bc52b79 tdf#165233 Replace std::bind with lambda in EffectRewinder
Replaces the legacy std::bind usages with modern C++ lambdas in
EffectRewinder. This improves readability and avoids the need for
std::bind and std::placeholders.

Change-Id: If0f0f52d02a3b89327feaf01cd0f7f0f3d290501
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195174
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-12-13 08:35:22 +01:00
Christopher Sherlock e3ea978616 vcl: remove OutputDevice::DrawBitmapEx()
This also streamlines DrawBitmapWallpaper()

Change-Id: I694667147319ba9d235348068ed8fc811447fae5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190898
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-11-11 07:16:00 +01:00
Gabor Kelemen fd2e467ba3 tdf#146619 Run IWYU in fw decl mode on include/[a-c]*
After recent commit 851fb75779
recheck these directories in include/ again
to test drive the new --headersfwd mode of bin/find-unneeded-includes

Change-Id: I0ede437c4f9958cd98210ed1760a5b98ea8bd1ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192377
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
2025-11-08 09:37:19 +01:00
Caolán McNamara 10b7bed6f3 drop some more COVERITY stuff
Change-Id: Ieb15457e53a1cb68e71aea6be20a72e35f367588
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192701
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-20 15:05:25 +02:00
Noel Grandin 6d0e5ddede remove BitmapEx
all use-sites have been converted to Bitmap

Change-Id: I1a8842217a266eef100bd387ab013b004e532256
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190618
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-09-05 19:45:45 +02:00
Noel Grandin 2c179e7225 BitmapEx->Bitmap in some of the OutputDevice::Draw methods
now that most of the client code is using Bitmap

Change-Id: I9370f388afba5d3ad1628d42309fa70ab44f7812
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190499
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-09-03 12:36:43 +02:00
Noel Grandin 37baf97ced BitmapEx->Bitmap in AnimationFrame
now that Bitmap supports transparency

Change-Id: I7bd64088bc1e23f4c373bf554756644c3cb828a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190405
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-30 12:11:17 +02:00
Noel Grandin c0afb3514f add new Bitmap constructors
to move the logic of constructing a new Bitmap from an existing Bitmap and an AlphaMask,
into vcl, where it can later be optimised

Change-Id: I2af1c6d1a35d968abdd07546448f7e211772e70b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190366
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-29 17:53:22 +02:00
Noel Grandin 0680ba0258 BitmapEx->Bitmap in MetaBmpExAction
now that Bitmap supports transparency

Note that the SVM unit test changed because we no longer
store some bitmaps as an 8-bit palette color layer and an
8-bit alpha layer. When those pass through Bitmap, they
get converted to a 32-bit bitmap.

Change-Id: Icbb30e291a7ed5c53319876637ae25e88a97d90d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190330
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-28 18:21:42 +02:00
Noel Grandin 333ee4fdd4 BitmapEx->Bitmap in various
now that Bitmap supports transparency

Change-Id: Icd17e5ca5efda9828f7d99bbd5f44387cdb648ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190176
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-08-25 18:12:03 +02:00
Noel Grandin 66b0aab258 use Graphic::GetBitmap instead of Graphic::GetBitmapEx
in places where we want a Bitmap

Change-Id: I70acdfde07df5bda84aa21143b2a0aca98023fe5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189675
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-08-21 20:54:31 +02:00
Mike Kaganski f9c16559a8 canvas::tools -> canvastools
At least some IDEs are confused by our multitude of `tools` namespaces,
and show errors like `namespace "tools" is ambiguous`.
This removes one such namespace. The idea is to drop all but the one
in /tools (that has tools::Long and tools::Rectangle).

Change-Id: I6077f50ad0fcc49abfadc75d9948ab63df829ff9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189948
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-08-20 15:23:07 +02:00
Caolán McNamara f2eda851f7 cid#1660547 avoid Division or modulo by float zero warning
and

cid#1659880 Division or modulo by float zero

drop the default arguments, they are always explicitly set
except for one single case.

Change-Id: I1fce4e7f6ff5c9421c40628e0b6a1e291650e51c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189862
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2025-08-18 16:30:36 +02:00
Caolán McNamara 16bd75a56c cid#1659785 Variable copied when it could be moved
and

cid#1659793 Variable copied when it could be moved
cid#1659830 Variable copied when it could be moved
cid#1659841 Variable copied when it could be moved
cid#1659856 Variable copied when it could be moved
cid#1659863 Variable copied when it could be moved
cid#1659864 Variable copied when it could be moved
cid#1659865 Variable copied when it could be moved
cid#1659903 Variable copied when it could be moved
cid#1659909 Variable copied when it could be moved
cid#1659917 Variable copied when it could be moved
cid#1659924 Variable copied when it could be moved
cid#1659929 Variable copied when it could be moved
cid#1659930 Variable copied when it could be moved
cid#1659932 Variable copied when it could be moved
cid#1660056 Variable copied when it could be moved
cid#1660112 Variable copied when it could be moved
cid#1660169 Variable copied when it could be moved

Change-Id: I623009beb8e4a61b2253a17f356576bd3ac3f06c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189402
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-08-12 15:37:59 +02:00
Regina Henschel c3448b4bea tdf#166647 avoid duplicating slideshow user paint
When a user enables 'mouse as pen' before starting the slideshow, then
his paintings are saved as persistent shapes when he exits slideshow.
These shapes were then converted back to paintings when the user starts
the slideshow again, so that they are visible againg.

But these old paintings were treated as new paintings when the user
exits slideshow and were then saved again as shape to the page although
the page contains these shapes already. Thus with every new start and
exit of the slideshow the shapes were duplicated. Because the duplicates
are at exactly the same place as the originals, you do not notice it
immediately. But you can see the duplicates in the Navigator and notice
it in the file size.

The fix introduces a flag that is set at the paintings from the existing
shapes when the slideshow is started. This flag is then used to skip those
paintings from converting to shapes when slideshow is finished.

Change-Id: I93324d157b1b802d7b8e24858034d2fdc5d71b45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188364
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@collabora.com>
2025-08-11 08:52:22 +02:00
Caolán McNamara 338d7b981c cid#1662040 Variable copied when it could be moved
and

cid#1660117 Variable copied when it could be moved
cid#1659985 Variable copied when it could be moved
cid#1659983 Variable copied when it could be moved
cid#1659982 Variable copied when it could be moved
cid#1659973 Variable copied when it could be moved
cid#1659956 Variable copied when it could be moved
cid#1659955 Variable copied when it could be moved

Change-Id: Icc0f2f4a37fa8eb4c874dfd842650067c186466b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189255
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-08-09 16:49:01 +02:00
Caolán McNamara 5568801a46 cid#1556634 Variable copied when it could be moved
cid#1659641 Variable copied when it could be moved
cid#1659647 Variable copied when it could be moved
cid#1659650 Variable copied when it could be moved
cid#1659663 Variable copied when it could be moved
cid#1659685 Variable copied when it could be moved
cid#1659698 Variable copied when it could be moved
cid#1659703 Variable copied when it could be moved
cid#1659705 Variable copied when it could be moved

Change-Id: If0d399dcce73d47be105ac4b1c342bcc010c56c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189181
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-08-09 00:45:51 +02:00
Caolán McNamara b1ec05b4b1 cid#1662031 Variable copied when it could be moved
and

cid#1660225 Variable copied when it could be moved
cid#1660211 Variable copied when it could be moved
cid#1660185 Variable copied when it could be moved
cid#1660173 Variable copied when it could be moved
cid#1660168 Variable copied when it could be moved
cid#1660166 Variable copied when it could be moved
cid#1660165 Variable copied when it could be moved
cid#1660163 Variable copied when it could be moved
cid#1660152 Variable copied when it could be moved
cid#1660149 Variable copied when it could be moved
cid#1660147 Variable copied when it could be moved
cid#1660145 Variable copied when it could be moved
cid#1660142 Variable copied when it could be moved
cid#1660140 Variable copied when it could be moved
cid#1660137 Variable copied when it could be moved
cid#1660136 Variable copied when it could be moved
cid#1660135 Variable copied when it could be moved
cid#1660128 Variable copied when it could be moved
cid#1660124 Variable copied when it could be moved
cid#1660122 Variable copied when it could be moved
cid#1660117 Variable copied when it could be moved
cid#1660114 Variable copied when it could be moved
cid#1660110 Variable copied when it could be moved
cid#1660109 Variable copied when it could be moved
cid#1660105 Variable copied when it could be moved
cid#1660104 Variable copied when it could be moved
cid#1660102 Variable copied when it could be moved
cid#1660100 Variable copied when it could be moved
cid#1660098 Variable copied when it could be moved
cid#1660080 Variable copied when it could be moved
cid#1660079 Variable copied when it could be moved
cid#1660078 Variable copied when it could be moved
cid#1660075 Variable copied when it could be moved
cid#1660071 Variable copied when it could be moved
cid#1660070 Variable copied when it could be moved
cid#1660064 Variable copied when it could be moved
cid#1660063 Variable copied when it could be moved
cid#1660060 Variable copied when it could be moved
cid#1660058 Variable copied when it could be moved
cid#1660053 Variable copied when it could be moved
cid#1660050 Variable copied when it could be moved
cid#1660049 Variable copied when it could be moved
cid#1660046 Variable copied when it could be moved
cid#1660042 Variable copied when it could be moved
cid#1660028 Variable copied when it could be moved
cid#1660023 Variable copied when it could be moved
cid#1660022 Variable copied when it could be moved
cid#1660021 Variable copied when it could be moved
cid#1660020 Variable copied when it could be moved
cid#1660017 Variable copied when it could be moved
cid#1660013 Variable copied when it could be moved
cid#1660005 Variable copied when it could be moved
cid#1660003 Variable copied when it could be moved
cid#1659999 Variable copied when it could be moved
cid#1659998 Variable copied when it could be moved
cid#1659995 Variable copied when it could be moved
cid#1659993 Variable copied when it could be moved
cid#1659989 Variable copied when it could be moved
cid#1659988 Variable copied when it could be moved

Change-Id: I2a30c8a2ac8785050d49b98635b0b406535b185a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189056
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2025-08-07 20:51:26 +02:00