vcl/inc/filter/TgaReader.hxx | 7 +++++-- vcl/qa/cppunit/graphicfilter/filters-tga-test.cxx | 6 +++--- vcl/source/filter/graphicfilter.cxx | 6 +++++- vcl/source/filter/itga/itga.cxx | 14 ++++++-------- vcl/workben/fftester.cxx | 4 ++-- vcl/workben/tgafuzzer.cxx | 4 ++-- 6 files changed, 23 insertions(+), 18 deletions(-)
New commits: commit 557348bda5d9ff68ea33deb8ac1d53d6a893b40c Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Mon Apr 21 14:31:12 2025 +0900 Commit: Tomaž Vajngerl <qui...@gmail.com> CommitDate: Tue Apr 29 02:12:19 2025 +0200 vcl: convert TGA to use ImportOutput Change-Id: I4e30ac030863e987b9e817d068ed77e142b2fcbb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184399 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/vcl/inc/filter/TgaReader.hxx b/vcl/inc/filter/TgaReader.hxx index 34f75648717c..8090e87e1c43 100644 --- a/vcl/inc/filter/TgaReader.hxx +++ b/vcl/inc/filter/TgaReader.hxx @@ -19,8 +19,11 @@ #pragma once -#include <vcl/graph.hxx> +#include <vcl/dllapi.h> -VCL_DLLPUBLIC bool ImportTgaGraphic(SvStream& rStream, Graphic& rGraphic); +class SvStream; +class ImportOutput; + +VCL_DLLPUBLIC bool ImportTgaGraphic(SvStream& rStream, ImportOutput& rImportOutput); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/qa/cppunit/graphicfilter/filters-tga-test.cxx b/vcl/qa/cppunit/graphicfilter/filters-tga-test.cxx index d0611aa56ce9..9b00ab314e01 100644 --- a/vcl/qa/cppunit/graphicfilter/filters-tga-test.cxx +++ b/vcl/qa/cppunit/graphicfilter/filters-tga-test.cxx @@ -11,7 +11,7 @@ #include <test/bootstrapfixture.hxx> #include <vcl/FilterConfigItem.hxx> #include <tools/stream.hxx> -#include <vcl/graph.hxx> +#include <vcl/filter/ImportOutput.hxx> #include <filter/TgaReader.hxx> using namespace ::com::sun::star; @@ -44,8 +44,8 @@ bool TgaFilterTest::load(const OUString &, SfxFilterFlags, SotClipboardFormatId, unsigned int) { SvFileStream aFileStream(rURL, StreamMode::READ); - Graphic aGraphic; - return ImportTgaGraphic(aFileStream, aGraphic); + ImportOutput aImportOutput; + return ImportTgaGraphic(aFileStream, aImportOutput); } void TgaFilterTest::testCVEs() diff --git a/vcl/source/filter/graphicfilter.cxx b/vcl/source/filter/graphicfilter.cxx index 50ab252fa5fd..6645e3d30011 100644 --- a/vcl/source/filter/graphicfilter.cxx +++ b/vcl/source/filter/graphicfilter.cxx @@ -1189,8 +1189,12 @@ ErrCode GraphicFilter::readBMP(SvStream & rStream, Graphic & rGraphic, GfxLinkTy ErrCode GraphicFilter::readTGA(SvStream & rStream, Graphic & rGraphic) { - if (ImportTgaGraphic(rStream, rGraphic)) + ImportOutput aImportOutput; + if (ImportTgaGraphic(rStream, aImportOutput)) + { + rGraphic = Graphic(*aImportOutput.moBitmap); return ERRCODE_NONE; + } else return ERRCODE_GRFILTER_FILTERERROR; } diff --git a/vcl/source/filter/itga/itga.cxx b/vcl/source/filter/itga/itga.cxx index 6b3b3037fe24..e73a04f1ab4d 100644 --- a/vcl/source/filter/itga/itga.cxx +++ b/vcl/source/filter/itga/itga.cxx @@ -17,8 +17,7 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ - -#include <vcl/graph.hxx> +#include <vcl/filter/ImportOutput.hxx> #include <vcl/BitmapTools.hxx> #include <tools/stream.hxx> #include <memory> @@ -110,7 +109,7 @@ private: public: explicit TGAReader(SvStream &rTGA); - bool ReadTGA(Graphic &rGraphic); + bool ReadTGA(ImportOutput& rImportOutput); }; } @@ -127,7 +126,7 @@ TGAReader::TGAReader(SvStream &rTGA) { } -bool TGAReader::ReadTGA(Graphic & rGraphic) +bool TGAReader::ReadTGA(ImportOutput& rImportOutput) { if ( m_rTGA.GetError() ) return false; @@ -155,7 +154,7 @@ bool TGAReader::ReadTGA(Graphic & rGraphic) mbStatus = ImplReadBody(); if ( mbStatus ) - rGraphic = vcl::bitmap::CreateFromData(std::move(*mpBitmap)); + rImportOutput.moBitmap = vcl::bitmap::CreateFromData(std::move(*mpBitmap)); } } return mbStatus; @@ -780,11 +779,10 @@ bool TGAReader::ImplReadPalette() //================== GraphicImport - the exported function ================ -bool ImportTgaGraphic(SvStream & rStream, Graphic & rGraphic) +bool ImportTgaGraphic(SvStream& rStream, ImportOutput& rImportOutput) { TGAReader aTGAReader(rStream); - - return aTGAReader.ReadTGA(rGraphic); + return aTGAReader.ReadTGA(rImportOutput); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/workben/fftester.cxx b/vcl/workben/fftester.cxx index 7a42a51fbcbe..faaf91f465a0 100644 --- a/vcl/workben/fftester.cxx +++ b/vcl/workben/fftester.cxx @@ -238,9 +238,9 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) } else if (strcmp(argv[2], "tga") == 0) { - Graphic aGraphic; + ImportOutput aImportOutput; SvFileStream aFileStream(out, StreamMode::READ); - ret = static_cast<int>(ImportTgaGraphic(aFileStream, aGraphic)); + ret = static_cast<int>(ImportTgaGraphic(aFileStream, aImportOutput)); } else if (strcmp(argv[2], "tif") == 0) { diff --git a/vcl/workben/tgafuzzer.cxx b/vcl/workben/tgafuzzer.cxx index 32b7fcb3d578..3ad13c2de58f 100644 --- a/vcl/workben/tgafuzzer.cxx +++ b/vcl/workben/tgafuzzer.cxx @@ -49,8 +49,8 @@ extern "C" int LLVMFuzzerInitialize(int *argc, char ***argv) extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { SvMemoryStream aStream(const_cast<uint8_t*>(data), size, StreamMode::READ); - Graphic aGraphic; - (void)ImportTgaGraphic(aStream, aGraphic); + ImportOutput aImportOutput; + (void)ImportTgaGraphic(aStream, aImportOutput); return 0; }