summaryrefslogtreecommitdiff
path: root/slideshow
AgeCommit message (Collapse)AuthorFilesLines
2020-05-10new loplugin:simplifypointertoboolNoel Grandin2-4/+4
Change-Id: Iff68e8f379614a6ab6a6e0d1bad18e70bc76d76a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91907 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-10compact namespace in slideshowNoel Grandin21-89/+58
Change-Id: Ic61e68312314cdfb30f89cafe9255ee8f0b0a081 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93875 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-08improve loplugin:referencecastingNoel Grandin1-1/+1
to catch a few more cases Change-Id: I0323fba51bb2b4ba255e1db5aa0d890c5c6a2e1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93726 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-08implement PowerPoint 'flash' slide transition (API CHANGE)Luboš Luňák5-15/+31
It's like 'fade', but using white instead of black. It's a separate type in the pptx file (although I actually cannot find it in the spec OOXML, but PowerPoint 2013 generates it). The API change in XTransitionFactory should be fine, I doubt there's anything external using it. Change-Id: I3479840f265ed8227b3b8301ecff56a63d57f493 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93668 Tested-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-04-30Fix typosAndrea Gelmini1-1/+1
Change-Id: I380b85646a62c4eafa40fdb5257060fac040feb6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93195 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-04-28loplugin:makeshared in slideshowNoel Grandin4-35/+27
Change-Id: Ia8991a50afe1889a29456bac8f61c47ca969d23b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92998 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-27Make upcasting css::uno::Reference ctor require complete typesStephan Bergmann1-0/+1
The main reason for the "home-grown" UpCast introduced with 904b3d1fceee5827076758ed2a81f80cb73493ca "Up-cast conversion constructor for css::uno::Reference" in 2013 was probably that we could not yet rely on C++11 std::is_base_of back then. A (welcome) side effect was that the derived class could be incomplete. However, specializations of UpCast relying on whether or not T2 is incomplete are obviously an ODR violation if the type is incomplete in some TUs and complete (and derived from T1) in others. And even if UpCast had internal linkage, it would still be brittle that its behavior depends on the completeness of T2 at the point of the template's instantiation, and not necessarily at the point of use. That means we should better base that ctor on std::is_base_of (which we can do now since 39a1edd6fec902ef378acce8af42c4d7fba280d0 "Make css::uno::Reference upcast ctor LIBO_INTERNAL_ONLY"), which causes a compilation error at least on Clang and GCC if the completeness requirements are not met. This change fixes all the cases where types need to be complete now, plus any resulting loplugin:referencecasting warnings ("the source reference is already a subtype of the destination reference"). Change-Id: Ieb9e3552e90adbf2c5a5af933dcb872e20661a2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92950 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-25tdf#129898 Use layer DrawnInSlideshow in edit modeRegina Henschel1-10/+17
If 'Mouse pointer as pen' is set in slideshow settings, painting in slideshow becomes persistent. A layer DrawnInSlideshow is created for that purpose during slideshow. But that layer was not known to the view from where the slideshow was started. Generating a layer had been done regardless whether such layer already exists or not. That had produced several layers with identical name. That may not happen, because layers are identified by name. Change-Id: I2ba9bad5babe5a1bba3d1fc69d028d9037d2bd47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92502 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2020-04-22tdf#42949 Simplify use of rtl::math::approxEqual in include/basegfx/Gabor Kelemen1-0/+1
Turns out we can save about 500Mb of preprocessor input if we use rtl_math_approxEqual from rtl/math.h instead of its C++ wrapper rtl::math::approxEqual from rtl/math.hxx and manage the fallout accordingly. Before: bin/includebloat.awk | head sum total bytes included (excluding system headers): 19017296671 After: $ bin/includebloat.awk | head sum total bytes included (excluding system headers): 18535432672 Change-Id: I1691171f3a309405a7099882ad9989d147f59118 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92508 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-04-22uiobject.hxx only needs forward declaresCaolán McNamara1-5/+4
and update pches accordingly Change-Id: I411712532fd85961bffe6678416fcdc1d9c7f53d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92617 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-04-19loplugin:buriedassign in variousNoel Grandin1-8/+13
Change-Id: Ib79cbc89f2f89ff48ea8b59bd12373a10b9dcd62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92495 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-30tdf#131254 Follow-up Prevent extra eventqueue empty call.Gülşah Köse1-1/+0
When two advance timing set slides in a row, there is another extra forceEmpty call that disables timing setting. Follow up commit 80f386f787ad59936ead2022e6d932a6d441c6e9 Change-Id: I8e70ebf57328b51eab2baca9728a0f8e0561120c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91367 Tested-by: Jenkins Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-03-26tdf#131254 Prevent extra eventqueue empty call.Gülşah Köse1-1/+1
That call disables advance timing setting when we back to previous slide. Its comment line says "Process initial events and skip any animations that are started when the slide is shown" but it can still skip any animations. It seems that is an unnneeded call here. Change-Id: Iec23409da8285f5b7a8bff3d9c4f507a997ae885 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90913 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
2020-03-12Revert "loplugin:constfields in slideshow"Noel Grandin36-86/+86
This reverts commit 56940b766e5d52cb1c17b4250e4c7e2c375b7b65. Change-Id: I5b585ff44870193becc0770e6504ac645b254ef3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90418 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-12tdf#130977 replace `rtl::math::isFinite` with `std::isfinite`.Yukio Siraichi1-11/+11
- make all calls look like `std::isfinite`. - change the comments referring `rtl::math::isFinite`. Change-Id: I0cde9ceb9f20150467b454cddde5e62003cfde1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90234 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-02-28upgrade to latest glmCaolán McNamara2-3/+3
This reverts commit 46e53c0360a38f620cf8c86fd0a3dc46c8238e0e. Reason for revert: intermittent failure was due to a missing fix in etonyek Change-Id: I1ddaafc821cd494092ab66309386464c6e2c33c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88118 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-02-21Drop o3tl::optional wrapperStephan Bergmann15-49/+49
...now that macOS builds are guaranteed to have std::optional since 358146bbbd1b9775c12770fb5e497b6ec5adfc51 "Bump macOS build baseline to Xcode 11.3 and macOS 10.14.4". The change is done mostly mechanically with > for i in $(git grep -Fl optional); do > sed -i -e 's:<o3tl/optional\.hxx>\|\"o3tl/optional\.hxx\":<optional>:' \ > -e 's/\<o3tl::optional\>/std::optional/g' \ > -e 's/\<o3tl::make_optional\>/std::make_optional/g' "$i" > done > for i in $(git grep -Flw o3tl::nullopt); do > sed -i -e 's/\<o3tl::nullopt\>/std::nullopt/g' "$i" > done (though that causes some of the resulting #include <optional> to appear at different places relative to other includes than if they had been added manually), plus a few manual modifications: * adapt bin/find-unneeded-includes * adapt desktop/IwyuFilter_desktop.yaml * remove include/o3tl/optional.hxx * quote resulting "<"/">" as "&lt;"/"&gt;" in officecfg/registry/cppheader.xsl * and then solenv/clang-format/reformat-formatted-files Change-Id: I68833d9f7945e57aa2bc703349cbc5a56b342273 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89165 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-02-20Move Boost.Spirit usage away from legacy namespaceAdam Majer2-25/+21
Remove BOOST_SPIRIT_USE_OLD_NAMESPACE defines and move all usage of Boost.Spirit to boost::spirit::classic namespace. Change-Id: I7dc5bed4d1b51f4a0bd1a4ae40c2024222127ce3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89079 Tested-by: Jenkins Reviewed-by: Tomáš Chvátal <tchvatal@suse.com>
2020-02-06always define GLM_FORCE_CTOR_INIT when using glmCaolán McNamara1-1/+0
Change-Id: I2a4ed756c6d18937d2c720243652df7a2d629959 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88121 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-02-06Revert "upgrade to latest glm"Stephan Bergmann2-3/+3
This reverts commit 494092dc0c2f6fd04dbd973d6f76f1df720dbcf7. For reasons that are still unclear, it appears to be the cause for CppunitTest_vcl_pdfexport often (but not always) failing in Windows debug buidls, both --disable-64-bit and --enable-64-bit. At least the 32 bit builds seem to all fail with > Assertion failed: false && "out of range", file ...\include\tools/bigint.hxx, line 146 Change-Id: I472a83fa709e79f7a6bf00b118c041cbc7500e6a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88069 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-02-04upgrade to latest glmCaolán McNamara2-3/+3
Change-Id: I75f145b71c0f82e87a94ef90709fb8fdf56041d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87833 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-02-01make update_pch also consider files in <module>/src/**/incLuboš Luňák2-42/+41
With --enable-pch=full there's not much difference between a "public" header in <module>/inc and a private one in <module>/src/somewhere/inc . And since the script searches recursively, this apparently helps to find even more headers for lower pch levels. Change-Id: I8483d0aa5b4fea5a59107c20a8aa5f1ef694af0a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87799 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-02-01opengl slide transitions not working with glm >= GLM 0.9.9.0Caolán McNamara1-0/+1
tracked it down to... Removed default initialization, use GLM_FORCE_CTOR_INIT to restore the old behavior so adding in GLM_FORCE_CTOR_INIT to get them working again Change-Id: I1c6e7d8eb748fce40f0c518ff708708e5fb1e3d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87789 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-01-31loplugin:unusedfields improve checking for fields guarded by existence checkNoel Grandin4-13/+0
which resulted in only a couple of real finds, mostly false+ Change-Id: I26058a29c27bff50e9526bedd54fb04589c2934d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87765 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-31clang-tidy modernize-concat-nested-namespaceNoel Grandin95-347/+116
Change-Id: Iab35a8b85b3ba1df791c774f40b037f9420a071a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86708 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-31new loplugin:namespaceindentationNoel Grandin2-2/+2
check indentation of braces in namespace decls, and the comments that often appear with them. This is my penance for messing up the indentation with clang-tidy-modernize-namespaces. As such I have limited it to new-style namespaces for now, and the check is off by default. Change-Id: I4db7f10a81c79bc0eece8f8e3ee564da8bc7f168 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87723 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-28New loplugin:unsignedcompareStephan Bergmann2-4/+7
"Find explicit casts from signed to unsigned integer in comparison against unsigned integer, where the cast is presumably used to avoid warnings about signed vs. unsigned comparisons, and could thus be replaced with o3tl::make_unsigned for clairty." (compilerplugins/clang/unsignedcompare.cxx) o3tl::make_unsigned requires its argument to be non-negative, and there is a chance that some original code like static_cast<sal_uInt32>(n) >= c used the explicit cast to actually force a (potentially negative) value of sal_Int32 to be interpreted as an unsigned sal_uInt32, rather than using the cast to avoid a false "signed vs. unsigned comparison" warning in a case where n is known to be non-negative. It appears that restricting this plugin to non- equality comparisons (<, >, <=, >=) and excluding equality comparisons (==, !=) is a useful heuristic to avoid such false positives. The only remainging false positive I found was 0288c8ffecff4956a52b9147d441979941e8b87f "Rephrase cast from sal_Int32 to sal_uInt32". But which of course does not mean that there were no further false positivies that I missed. So this commit may accidentally introduce some false hits of the assert in o3tl::make_unsigned. At least, it passed a full (Linux ASan+UBSan --enable-dbgutil) `make check && make screenshot`. It is by design that o3tl::make_unsigned only accepts signed integer parameter types (and is not defined as a nop for unsigned ones), to avoid unnecessary uses which would in general be suspicious. But the STATIC_ARRAY_SELECT macro in include/oox/helper/helper.hxx is used with both signed and unsigned types, so needs a little oox::detail::make_unsigned helper function for now. (The ultimate fix being to get rid of the macro in the first place.) Change-Id: Ia4adc9f44c70ad1dfd608784cac39ee922c32175 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87556 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-01-26remove some unused local varsNoel Grandin2-2/+1
found by a more aggressive variant of loplugin:unusedvariables. This is my first pass, committing the simplest and most obviously unnecessary vars Change-Id: I9676a6e39a101937097788548764506c93811c57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87414 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-25loplugin:makeshared in slideshowNoel Grandin30-234/+185
Change-Id: I87dead1ed09aa50c939c03ae8ed3faf9300a8b4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87354 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-23tdf#126459: Consider translated origin of the view also on resizeKatarina Behrens1-2/+7
use-case is the presenter console on 2nd screen, media shape must be placed relative to the window w/ slide preview, not relative to the main window Change-Id: I120f86e399563d2aafc31d88d0a7f9d357f4840c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87135 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2020-01-18make Library_slideshow explicitly link svlLuboš Luňák2-0/+2
It already links svxcore, which pulls in svl, so make it explicit. This fixes a tricky linking problem when using -fmodules-codegen. Change-Id: I2422519cd87e0aeff2de2bdbb4fe33e6fd55f311 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87010 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-01-15tweak GetBitmap methods in BitmapExNoel Grandin1-3/+3
so we return a const& for the normal case, just like other methods, which reduces copying. This revealed that CreateDisplayBitmap in Bitmap can be const. Change-Id: I9f9b9ff0c52d7e95eaae62af152218be8847dd63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86836 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-10use more std::make_sharedNoel Grandin9-39/+31
found using 'git grep', I tried using clang-tidy, but it only successfully found a tiny fraction of these Change-Id: I61c7d85105ff7a911722750e759d6641d578da33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86526 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-03tdf#42949 Fix IWYU warnings in slideshow/Gabor Kelemen136-405/+107
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Id1c207705b7aa9b057fb8207d735e376675c91d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86069 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-22sal_Char->char in sfx2..slideshowNoel Grandin3-3/+3
Change-Id: I59667664fc097989e0a78d8876f2be8353911236 Reviewed-on: https://gerrit.libreoffice.org/85701 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-19Fix typoAndrea Gelmini1-1/+1
Change-Id: I9180bbf41d6b8d92ef8a32ea85a692d50cea848c Reviewed-on: https://gerrit.libreoffice.org/85491 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-12-18tdf#125949 Check hardware acceleration on slideshow.Gülşah Köse2-1/+10
Follow up commit for 8eb2d2972583b909a249f5b0f22a9b1fbf533d24 Allows animation if hardware acceleration disabled. Change-Id: I7997936435134e36e2bf3d3d54ff1bf157cb205c Reviewed-on: https://gerrit.libreoffice.org/85380 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
2019-12-17Fix typoAndrea Gelmini1-1/+1
Change-Id: I64a13c892a5ae8b2c7e9614212be60d9a4300632 Reviewed-on: https://gerrit.libreoffice.org/85317 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-12-17tdf#125949 Allow the slide to continue with freezing animation.Gülşah Köse2-2/+59
Entrance (Zoom in, Spiral in, Sviwel, Stretchy) animations with shapes freezes the presentation when OpenGL is enabled. As a workaround, avoid playing these animations. Change-Id: I054d87c4d3774339a9fe6fba42dea20bccd31bb1 Reviewed-on: https://gerrit.libreoffice.org/85201 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com>
2019-12-05Fix typoAndrea Gelmini1-3/+3
Change-Id: I7d34e0a02c8ee102746a0da853cc665287deef54 Reviewed-on: https://gerrit.libreoffice.org/84490 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-12-01Introduce o3tl::optional as an alias for std::optionalStephan Bergmann15-49/+49
...with a boost::optional fallback for Xcode < 10 (as std::optional is only available starting with Xcode 10 according to <https://en.cppreference.com/w/cpp/compiler_support>, and our baseline for iOS and macOS is still Xcode 9.3 according to README.md). And mechanically rewrite all code to use o3tl::optional instead of boost::optional. One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per fed7c3deb3f4ec81f78967c2d7f3c4554398cb9d "Slience bogus -Werror=maybe-uninitialized" should no longer be necessary (and whose check happened to no longer trigger for GCC 10 trunk, even though that compiler would still emit bogus -Wmaybe-uninitialized for uses of boost::optional under --enable-optimized, which made me ponder whether this switch from boost::optional to std::optional would be a useful thing to do; I keep that configure.ac check for now, though, and will only remove it in a follow up commit). Another longer-term benefit is that the code is now already in good shape for an eventual switch to std::optional (a switch we would have done anyway once we no longer need to support Xcode < 10). Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses boost::property_tree::ptree::get_child_optional returning boost::optional, so let it keep using boost::optional for now. After a number of preceding commits have paved the way for this change, this commit is completely mechanical, done with > git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^configure.ac$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/optional.py$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\<boost(/optional)?/optional\.hpp\>|o3tl/optional.hxx|g' -e 's/\<boost(\s*)::(\s*)(make_)?optional\>/o3tl\1::\2\3optional/g' -e 's/\<boost(\s*)::(\s*)none\>/o3tl\1::\2nullopt/g' (before committing include/o3tl/optional.hxx, and relying on some GNU features). It excludes some files where mention of boost::optional et al should apparently not be changed (and the sub-repo directory stubs). It turned out that all uses of boost::none across the code base were in combination with boost::optional, so had all to be rewritten as o3tl::nullopt. Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b Reviewed-on: https://gerrit.libreoffice.org/84128 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-30Rewrite uses of boost::optionalStephan Bergmann2-4/+4
...to only use functions that are also available for std::optional (in preparation for changing from boost::optional to std::optional): * uses of get are replaced with operator * or operator -> * uses of is_initialized are replaced with operator bool * uses of reset with an argument are replace with operator = (All of the replacements are also available for boost::optional "since forever", so this change should not break builds against old --with-system-boost. An alternative replacement for is_initialized would have been has_value, but that is only available since Boost 1.68.) Change-Id: I532687b6a5ee37dab28befb8e0eb05c22cbecf0f Reviewed-on: https://gerrit.libreoffice.org/84124 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-27Turn StateTransition::Options into scoped enumStephan Bergmann1-5/+5
(the enum type itself was identified as unused by upcoming loplugin:unusedmember and is put into use this way) Change-Id: Ic63931d17b512d675a0182cb9045aad5d0e9e835 Reviewed-on: https://gerrit.libreoffice.org/83824 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-23cppcheck: performing init in init list (sfx2/slideshow/stoc/store)Julien Nabet1-2/+1
Change-Id: Iddbd3256aabe9552472b55d3d9b88a3769698de9 Reviewed-on: https://gerrit.libreoffice.org/83576 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-22Extend loplugin:external to warn about classesStephan Bergmann9-0/+35
...following up on 314f15bff08b76bf96acf99141776ef64d2f1355 "Extend loplugin:external to warn about enums". Cases where free functions were moved into an unnamed namespace along with a class, to not break ADL, are in: filter/source/svg/svgexport.cxx sc/source/filter/excel/xelink.cxx sc/source/filter/excel/xilink.cxx svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx All other free functions mentioning moved classes appear to be harmless and not give rise to (silent, even) ADL breakage. (One remaining TODO in compilerplugins/clang/external.cxx is that derived classes are not covered by computeAffectedTypes, even though they could also be affected by ADL-breakage--- but don't seem to be in any acutal case across the code base.) For friend declarations using elaborate type specifiers, like class C1 {}; class C2 { friend class C1; }; * If C2 (but not C1) is moved into an unnamed namespace, the friend declaration must be changed to not use an elaborate type specifier (i.e., "friend C1;"; see C++17 [namespace.memdef]/3: "If the name in a friend declaration is neither qualified nor a template-id and the declaration is a function or an elaborated-type-specifier, the lookup to determine whether the entity has been previously declared shall not consider any scopes outside the innermost enclosing namespace.") * If C1 (but not C2) is moved into an unnamed namespace, the friend declaration must be changed too, see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71882> "elaborated-type-specifier friend not looked up in unnamed namespace". Apart from that, to keep changes simple and mostly mechanical (which should help avoid regressions), out-of-line definitions of class members have been left in the enclosing (named) namespace. But explicit specializations of class templates had to be moved into the unnamed namespace to appease <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598> "explicit specialization of template from unnamed namespace using unqualified-id in enclosing namespace". Also, accompanying declarations (of e.g. typedefs or static variables) that could arguably be moved into the unnamed namespace too have been left alone. And in some cases, mention of affected types in blacklists in other loplugins needed to be adapted. And sc/qa/unit/mark_test.cxx uses a hack of including other .cxx, one of which is sc/source/core/data/segmenttree.cxx where e.g. ScFlatUInt16SegmentsImpl is not moved into an unnamed namespace (because it is declared in sc/inc/segmenttree.hxx), but its base ScFlatSegmentsImpl is. GCC warns about such combinations with enabled-by-default -Wsubobject-linkage, but "The compiler doesn’t give this warning for types defined in the main .C file, as those are unlikely to have multiple definitions." (<https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Warning-Options.html>) The warned-about classes also don't have multiple definitions in the given test, so disable the warning when including the .cxx. Change-Id: Ib694094c0d8168be68f8fe90dfd0acbb66a3f1e4 Reviewed-on: https://gerrit.libreoffice.org/83239 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-12use std::move when popping stuff off stacksNoel Grandin2-5/+5
Change-Id: I6ba0ee8afee1a9579045643cd0118cf19599d5b9 Reviewed-on: https://gerrit.libreoffice.org/82497 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-29remove unnecessary includesCaolán McNamara1-1/+0
Change-Id: Ia4a622b34ff3f71963cff7a1aa8658a4df12f04f Reviewed-on: https://gerrit.libreoffice.org/81676 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-19loplugin:virtualdead unused params in OGLTransitionImplNoel Grandin2-9/+9
rename finish to cleanup to avoid conflict with already existing finish method Change-Id: I1036eea7e50b20c3c17d769c4094c640939d552d Reviewed-on: https://gerrit.libreoffice.org/81072 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-19loplugin:virtualdead unused param in Animation::prefetchNoel Grandin7-24/+13
Change-Id: I7eaf01548567ce560b0e32f222880d21b966c78d Reviewed-on: https://gerrit.libreoffice.org/81071 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-19loplugin:virtualdead unused params in ShapeListenerEventHandlerNoel Grandin6-28/+15
Change-Id: Ied95fd01912737ba1ae73fb1fea6ddd57eb8a14d Reviewed-on: https://gerrit.libreoffice.org/81070 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>