721 Commits
Author SHA1 Message Date
Mike Kaganski c64fc39bf3 Use NameContainer's owner as event source
The owner is set since commit 0f3f371028
(NameContainer need not be an UNO object itself, 2024-12-01), and is
the same object that was used to set event source. Drop the redundancy.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: Ie6d50696781395136349ad8084653e624437533d
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/5026
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 6a5646b1abcdc9e61cf9b5ca42d65280bc520b39)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207165
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-23 17:21:33 +02:00
Mike Kaganski 6601fe8419 cool#15956: keep insertion order in NameContainer's getElementNames
This is required to keep content of Basic/script-lc.xml and each
Basic/<lib>/script-lb.xml byte-identical on round-trip, which is
necessary for signatures to stay valid; this broke after commit
ea2a974386 (Simplify NameContainer,
2024-12-01).

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: Ib30b701dce8bbcb919c88f5b66f5134150ded575
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/5025
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit bfe67bc782cf89e944324042c8e53c42f4b6421b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207164
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-23 16:48:18 +02:00
Noel Grandin 4b10710e09 loplugin:passstuffbyref
Change-Id: I559d246b25c99e5cb7a28ba94e04a2acedd3e720
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200943
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-03-04 19:22:19 +01:00
Sergey Anisimov e789e9135d tdf#145614 - Convert #define to enum or constexpr
Change-Id: I8b08c068b096a19febf88d70a23959e572b96640
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191982
Reviewed-by: Hossein <hossein@libreoffice.org>
Tested-by: Jenkins
2025-10-30 14:16:40 +01:00
Caolán McNamara 153b4dc2e0 drop some more COVERITY stuff
Change-Id: I5964880c3eb62875c45e3262a9c657f7bade236d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191946
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-06 11:22:01 +02:00
Mike Kaganski 674918bcaf Make sure that SbiImage::GetString sets peType
And flatten the function.

Change-Id: I3d8c3e7a7fcc8879be0c6f38094ef2716500a367
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191567
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2025-09-27 17:57:13 +02:00
Mike Kaganski 6c9d05b878 Fix copypaste error
The suffix for dates is not "integer".

Change-Id: I01ef8c538a3015a6219f505130ae2025269a2906
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191559
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-09-27 12:11:17 +02:00
Mike Kaganski 22d7827c66 tdf#168569: support date values in string pool
Commit f45463d8e2 (tdf#93727 Support date
literals in basic, 2017-05-24) introduced correct parsing of literals
like #2025-09-26#. However, it didn't retain the value type; there was
a discussion about that in gerrit, but no solution was found, and type
was set to double.

Later, a similar problem (storing type of value in compiled image) was
fixed in commit 5eedb3beea (tdf#142460:
properly handle boolean values in string pool, 2021-06-25).

This change reuses the same method to store date type using 'd' char in
the string pool.

Change-Id: I32e8497ece1f30980ba6d4fca248687b817348f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191555
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-09-26 23:17:10 +02:00
Mike Kaganski 2f37849bb1 tdf#81003: override GetDate in SbUnoObject to handle oleautomation::Date
Without that, there is no code to deliver that value. The call to
SbxValue::Get will eventually get to the SbUnoObject containing a
css::bridge::oleautomation::Date in struct info; and there it will
find that the object's SbxValue points to itself, at which point,
it will error out from SbxValue::TheRealValue.

Change-Id: Ia08fb2a7b1bcd7292faf5a5719a4fad0054a3f5e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190384
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-08-29 20:25:24 +02:00
Gabor Kelemen c309a5785d tdf#146619 Run IWYU on basic/
Change-Id: I58883f0223a28f3ea887c37e2a86a3c31ff88546
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188749
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-08-18 20:19:07 +02:00
Mike Kaganski 22ce7a7339 Just let the normal "unexpected" error for unmatched loop/wend/until
Otherwise, a code like

sub foo
 wend
end sub

produces an error "End Sub is missing".

Change-Id: I8e85f7037ab07f1bc1e98037f2a31ef0af45c63f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186090
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2025-05-31 21:50:30 +02:00
Gabor Kelemen 530e3ae320 Remove obsolete fw declarations from avmedia, basctl, basic, binaryurp
found with bin/find-unneeded-includes --fwdecl

Change-Id: Ia9eb16d95b02b5e8c13a98b6cc4b06a6315f2311
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183878
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2025-04-11 10:52:47 +02:00
Mike Kaganski bb57fa601a Avoid useless OUString -> OString -> OUString conversion
Change-Id: I938d13d91bc83b9fd0c018e676923c27a7cad637
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183484
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2025-03-29 17:03:00 +01:00
Mike Kaganski 4b9bf0a2b9 SfxLibraryContainer: use std::mutex, and pass it to NameContainer
... to avoid own mutexes in own name container implementation.

Change-Id: I29ff6ef987154359c35d0628d529b0606ef08c5c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177637
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-07 08:48:53 +01:00
Mike Kaganski 0f3f371028 NameContainer need not be an UNO object itself
Change-Id: I56f07a62ed3d2388eede16a85e673027cfed8158
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177616
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-01 22:44:38 +01:00
Mike Kaganski 297b7a7676 Optimize SfxLibrary / SfxLibraryContainer memory layout a bit
Change-Id: I63ba583ef990dd2bbfb7f44af613fce1d8d1b411
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177608
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-01 16:06:31 +01:00
Mike Kaganski d91eca950e Simplify SfxLibrary hierarchy
For some reason, SfxLibrary's own interfaces were used outside of
WeakComponentImplHelper; and derived classes didn't use inheritance
helper.

Change-Id: Ib0b6cf5cfa559fe5eedc4d05247655aca1bfc4b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177607
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-12-01 16:06:24 +01:00
Mike Kaganski ea2a974386 Simplify NameContainer
Having a map, two vectors, and a counter for what is a job for a single
map is a bit too much.

Change-Id: I50d29f03a2463e6f63ed8e645c36b4c77aa1413a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177604
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-01 12:27:02 +01:00
Mike Kaganski e413d962ac Drop unneeded indirection and unused argument
The extra complexity was introduced for #i94994# in commit
3266965986 (CWS-TOOLING: integrate CWS
ab61, 2009-02-11).

Change-Id: If5a69984e3c2c963d4eea2824373fbf1e8a47fef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177603
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-01 10:27:16 +01:00
Noel Grandin 78693c376e tdf#108189 inspection of object hangs LO
There is no general solution to this that I am aware of, so just
implement a rather specific solution that will need periodic extending
to check for other dangerous properties

Change-Id: Ie09d89416fea5b7cdf782319ed9921657faa5a5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176593
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-14 18:02:03 +01:00
Noel Grandin d5b55513cd loplugin:passstuffbyref in basic
Change-Id: I1aee08f0ff2a3dabcedc49a31e7ff4de9428007e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176136
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-06 15:45:14 +01:00
Mike Kaganski 1ecde0f5d1 Simplify default ImpScan usage
Drop LibreOffice6FloatingPointMode, and move the check introcuced in
commit 47aabde053 (Make the tdf#97983
changes to BASIC optional) into a simplified ImpScan overload.

Change-Id: Ibef723878179113a5403d2a3c55ded9df9cb292d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172595
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-30 07:34:31 +02:00
Mike Kaganski 45290d41fb Clarify MsgBox buttons handling code
Change-Id: I0095b4b5312c851f1f64ec013c64f26e1b24ce09
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171454
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-04 06:45:14 +02:00
Mike Kaganski b76af7f488 Refactor basic methods representing constants
Makes them more comprehensible; uses semantic names instead of magic
numbers. Added comments to the constants that are unclear.

Change-Id: Ifcb8a0d93ce057b8af08859b87ad3af8c67479e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171443
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-03 21:00:23 +02:00
Andreas Heinisch 8730575016 tdf#161469 - Basic: align implementation now with the now function in calc
Align the implementation of the now function in basic with the now function in calc to include the also nanoseconds. The precision is limited to milliseconds to avoid comparision inaccuracies.

Change-Id: Ia85b653898f5849f67a171749725faab976b2a8a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168706
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-06-20 14:36:50 +02:00
Noel Grandin d547ad7755 convert NameContainer to comphelper::WeakImplHelper
Change-Id: If89ee5bf200affc04704b7f075f25cbf599c1e62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165494
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-29 07:41:58 +01:00
Stephan Bergmann bd6fb0cd3e Extended loplugin:ostr: Rewrite some O[U]StringLiteral -> O[U]String
...in include files.  This is a mix of automatic rewriting in include files and
manual fixups (mostly addressing loplugin:redundantfcast) in source files that
include those.

Change-Id: I1f3cc1e67b9cabd2e9d61a4d9e9a01e587ea35cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158337
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-23 11:04:42 +02:00
Noel Grandin d9e322d60f replace ErrorInfo with simpler mechanism
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>
2023-10-03 10:12:41 +02:00
Andreas Heinisch 17154ceafe tdf#92620 - Adjust error message about exceeding legacy module size
Adjusted the error message about exceeding legacy module size and
removed the code for saving image version 11. Modules using image
version 11 still can be loaded. Saving modules always result in
an image version higher than image version 11 depending on the
size of the module.

In addition, some minor performance issues (construction of the error
message and the correct list of modules) were fixed.

Change-Id: I3bde9fcc1596b63446193c836fa7b5cb06eb7d97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149687
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2023-07-24 13:55:28 +02:00
Noel Grandin bc2101646b loplugin:stringviewparam improvements
improve the check by checking for methods that exclude
using string_view, rather than checking for methods that
__can__ use string_view, which leads to exposing
some holes in our o3tl/string_view.hxx coverage.

Change-Id: Ic9dd60441c671f502692f9cd2a1bb67301c4b960
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150277
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-14 07:54:28 +02:00
Andreas Heinisch d622972dce tdf#142391 - Store method using 0x13 format only when actually needed
Change-Id: I907d234b20be5e3c7bee0d44407f1bf4c4b49f05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149175
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2023-03-28 07:36:48 +00:00
Noel Grandin c596fd59dc no need to allocate these separately
they are all one or two words in size

Change-Id: I86611e14a32dda3ae2226bbfa775ad0234513888
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148425
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-07 19:15:55 +00:00
Noel Grandin 1f5797e0c0 flatten some classes in basic
no need to allocate separately where the contained class is only one
pointer big

Change-Id: If5fac0b0e20f80bffebc8611791d07888cbec1e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148089
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-02 12:23:37 +00:00
Noel Grandin ce472616b9 BaseMutex->std::mutex in SfxLibrary
Change-Id: If059f38bb394844ba72156854eed84de51bbbfac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147654
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24 19:40:10 +00:00
Mike Kaganski 0b1d6220c6 tdf#153235: Optimize Application::Reschedule calls in SbiRuntime::Step
Setup the "last reschedule time" counter at the first pass,
to avoid useless immediate reschedule.
Update the counter when running "when blocked" reschedules.

This seems to avoid the problem with the bugdoc.

Change-Id: Ib5958a1a2b048f5ec654c69ee9e977e8a26de6f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146215
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-01-27 08:27:06 +00:00
Mike Kaganski 7c3ea0abef Simplify SbiRuntime ctor
Change-Id: I18309ed4ed8ebb31b3bf9ffc676a2d501e2593b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146214
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-01-26 22:15:34 +00:00
Stephan Bergmann 41f659b492 Base SfxLibrary on WeakComponentImplHelper
...rather than on the deprecated OComponentHelper.

The two classes SfxDialogLibrary and SfxScriptLibrary, both deriving from
SfxLibrary, had been found to implement their respective queryInterface in a way
that is incompatible with the XAggregation protocol inherited via
OComponentHelper.  It looks like no code actually made use of the XAggregation
offered by these Sfx*Library classes, so the easiest fix for those
queryInterface implementations appears to switch from OComponentHelper to
WeakComponentImplHelper (thereby dropping XAggregation, and thus rendering the
existing queryInterface implementations OK).

Ideally, SfxLibrary would derive from WeakComponentImplHelper<XInitialization,
XStorageBasedLibraryContainer, XLibraryContainerPassword, ...> covering all the
UNO interface classes from which it currently derives manually.  But changing
that manual implementation across SfxLibrary and its SfxDialogLibrary and
SfxScriptLibrary derived classes looks tricky, so merely introduce an "empty"
WeakComponentImplHelper<> for now and keep all the manual stuff, and leave
proper clean up for later.

Change-Id: I12dc5bad2c017b8d76ce28ac189e95cf2e3810e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145792
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-19 16:07:12 +00:00
Stephan Bergmann 19691c3b68 Revert all the recent loplugin:unocast changes
...as obsoleted by ef53355355 "Rudimentary support
for dynamic_cast on UNO proxy objects".

This reverts all of:
4cfcc9ac37 "loplugin:unocast (framework::Desktop)"
03efbf72f4 "loplugin:unocast
 (vclcanvas::TextLayout)"
80099fdd51 "loplugin:unocast (SalGtkXWindow)"
cc147f576d "loplugin:unocast
 (sdext::presenter::CachablePresenterView)"
40db42be1d "loplugin:unocast
 (vclcanvas::CanvasFont)"
2d1e7995ea "loplugin:unocast (CairoColorSpace)"
4c0bbe4bd9 "loplugin:unocast
 (canvas::ParametricPolyPolygon)"
8980366662 "loplugin:unocast
 (vclcanas::CanvasBitmap)"
d5e0c2c8db "loplugin:unocast
 (sfx2::DigitalSignatures)"
c0c4519e0d "loplugin:unocast
 (VCLXAccessibleComponent)"
feb8b833a6 "loplugin:unocast (VCLXDialog)"
1fa58cc6cc "loplugin:unocast (VCLXMultiPage)"
f481f036de "loplugin:unocast
 (DocumentSettingsSerializer)"
73df933f5f "loplugin:unocast
 (css::embed::EmbeddedUpdate)"
420165ab0e "loplugin:unocast
 (canvas::tools' StandardColorSpace, StandardNoAlphaColorSpace)"
9abe8ee067 "loplugin:unocast (MutableTreeNode)"
9f3022ceb0 "loplugin:unocast (VCLXTabPage)"
1be70dda02 "loplugin:unocast
 (vcl::unotools::VclCanvasBitmap)"
d6a70bb641 "loplugin:unocast
 (basegfx::unotools::UnoPolyPolygon)"
5a14f009e6 "loplugin:unocast
 (xmlsecurity::Certificate)"
99009c9535 "loplugin:unocast (sd::Annotation)"
0c7585c5fa "loplugin:unocast (sd::TextApiObject)"
24e14afd1b "loplugin:unocast
 (SignatureVerifierImpl)"
1a7ad0c10d "loplugin:unocast
 (pcr::PropertyEventTranslation)"
a97e2d2702 "loplugin:unocast (RangePageBreaks)"
19dfdf86ad "iloplugin:unocast
 (pcr::OFormattedNumericControl)"
f9785ea595 "loplugin:unocast
 (frm::OInterfaceContainer)"
5e5f40a4a9 "loplugin:unocast (ScVbaShapes)"
27b35b2c21 "loplugin:unocast (ScVbaShapeRange)"
cb3108f860 "cid#1517812 Dereference null return
 value"
feba0ddb15 "loplugin:unocast
 (weld::TransportAsXWindow)"
4d6c232165 "loplugin:unocast
 (oox::ForumlaImExportBase)"
4844c096a8 "loplugin:unocast
 (cairocanvas::SurfaceProvider)"
9a0b523e0a "loplugin:unocast
 (cairocanvas::CanvasBitmap)"
8a5648d8e5 "loplugin:unocast
 (cairocanvas::TextLayout)"
28c27a0623 "loplugin:unocast
 (cairocanvas::CanvasFont)"
53bc223cb3 "loplugin:unocast
 (cairocanvas::RepaintTarget)"
5f70b0b9f6 "loplugin:unocast (SvXMLImport)"
068187a898 "loplugin:unocast (VCLXWindow)"
88b4f96620 "loplugin:unocast
 (sfx2::sidebar::SidebarController)"
f1b7a69b28 "loplugin:unocast
 (SvxLineStyleToolBoxControl)"
ba76f0ba7e "loplugin:unocast
 (i18npool::Calendar_gregorian)"
840154daf9 "loplugin:unocast
 (framework::AddonsToolBarWrapper)"
b0e9c4c5f0 "loplugin:unocast
 (GrammarCheckingIterator)"
8ee6cfc965 "loplugin:unocast
 (ucb::ucp::ext::Content)"
5b8cd77c11 "loplugin:unocast
 (basic::SfxScriptLibraryContainer)"
9e73ff9fce "loplugin:unocast
 (sdext::presenter::PresenterNotesView)"
a98acca8fb "loplugin:unocast
 (SelectionChangeHandler)"
c0b59ad6e3 "Consistently use
 comphelper::getSomethingImpl<I>(aIdentifier, this)"
276e3ccbdd "loplugin:unocast
 (vclcanvas::RepaintTarget)"

Change-Id: I37c73e3422a5154bf6cb647640d2d3f23db8bc34
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145063
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-01-05 11:45:51 +00:00
Stephan Bergmann 5b8cd77c11 loplugin:unocast (basic::SfxScriptLibraryContainer)
(See the upcoming commit introducing that loplugin:unocast on why such
dynamic_casts from UNO types are dangerous.)

Change-Id: I962b2a11a6407a543fb8b4ad972128d59f62a8a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144142
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-14 09:16:36 +00:00
Stephan Bergmann a534361141 Fold OldBasicPassword into basic::SfxScriptLibraryContainer
Change-Id: Iaeaf30f63760185a2b1dd72feb980b94d9931d55
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143253
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-25 10:12:38 +01:00
Stephan Bergmann 16045087e6 Address a constexpr template point of instantiation issue
...that hits at least when building with Clang and --with-latest-c++ against
recent libc++ or MSVC standard library (where C++20 and esp. C++23 made more and
more class template member functions constexpr).  My understanding is that there
is some leeway at what point a compiler should instantiate such function
specializations, and Clang decides to instantiate constexpr ones early (cf.
<https://github.com/llvm/llvm-project/commit/242ad89a15d5466d166d47978bfff983d40ab511>
"C++11 half of r147023: In C++11, additionally eagerly instantiate:" and its "Do
not defer instantiations of constexpr functions" comment, and the discussion at
<https://discourse.llvm.org/t/point-of-instantiation-of-constexpr-function-template/65129>).

> In file included from basic/source/comp/codegen.cxx:21:
> In file included from include/basic/sberrors.hxx:23:
> In file included from include/vcl/errcode.hxx:23:
> In file included from include/rtl/ustring.hxx:34:
> In file included from ~/llvm/inst/bin/../include/c++/v1/ostream:168:
> ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:47:19: error: invalid application of 'sizeof' to an incomplete type 'SbiExprList'
>     static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type");
>                   ^~~~~~~~~~~
> ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:281:7: note: in instantiation of member function 'std::default_delete<SbiExprList>::operator()' requested here
>       __ptr_.second()(__tmp);
>       ^
> ~/llvm/inst/bin/../include/c++/v1/__memory/unique_ptr.h:247:75: note: in instantiation of member function 'std::unique_ptr<SbiExprList>::reset' requested here
>   _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_SINCE_CXX23 ~unique_ptr() { reset(); }
>                                                                           ^
> basic/source/inc/expr.hxx:118:66: note: in instantiation of member function 'std::unique_ptr<SbiExprList>::~unique_ptr' requested here
>     SbiExprNode( const SbiSymDef&, SbxDataType, SbiExprListPtr = nullptr );
>                                                                  ^
> basic/source/inc/expr.hxx:30:7: note: forward declaration of 'SbiExprList'
> class SbiExprList;
>       ^

Change-Id: I3bde85164ae6b829b7c24d9645fd412ed3fd815d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141810
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-10-25 15:55:06 +02:00
Noel Grandin fd3888c69a move ErrCode to comphelper and improve debug output string
need to move it, because modules "below" vcl want
to use the debug output method

Change-Id: Ibcaf4089a1e0b3fcc0b5189c7ebf1aae90f50b48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139791
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-14 08:34:38 +02:00
Caolán McNamara 5bb823073f crashtesting: assert seen with forum-mso-de-125088
where at restoring the SaveIndex the underlying aLine string had
been replaced, so the index is for a different string. Save and
restore the aLine too. Not entirely sure this is what we want,
but it does seem to be what this restoring code expects.

Change-Id: I25bd02fad72d9b0729b9504fe04416340d0e070a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136286
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-22 20:08:57 +02:00
Andreas Heinisch fbce18558a tdf#149402 - BASIC: Don't extend comment if line ends in a whitespace
Change-Id: I8adf530e77a0e65329fa59ac2873b99f48befac4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135336
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-06-06 10:24:20 +02:00
Stephan Bergmann 0af4324c57 Use more appropriate type for SbiImage::GetString nId param
Change-Id: I4207830e3923ce9b4f7c0f59cf5880dfcf89979b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135243
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-01 21:20:29 +02:00
Stephan Bergmann b19a2dfafa Use more appropriate type for SbiImage::nStringIdx
Change-Id: I1448739b373c6f7b9f5e6ee5a725fa0a129a4fb4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135204
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-31 22:03:42 +02:00
Noel Grandin 5ecdedbf81 clang-tidy modernize-pass-by-value in basic
Change-Id: I9034ab95a4ccb58e36e77d911dd33cc50857c03a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135176
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-31 15:11:27 +02:00
Caolán McNamara a685679526 cid#1504574 Resource leak
make an owner for the PropertyMapEntries

Change-Id: Ie915a8a312f2b24488566814ad67fdeef89b5941
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135123
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-30 16:00:35 +02:00
Noel Grandin 371886dd12 elide some OUString allocation
Change-Id: Ia21421731dadc1d0e65da182471eb2b8d799782b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134918
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-25 16:00:48 +02:00
Noel Grandin d3849255b7 use more string_view in INetURLObject
Change-Id: I4462f7cf4740fa4d1b129d76a0775f4250f41bbd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133555
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-29 08:53:22 +02:00