[Bug 159955] New: When using a custom page number in the german Libre Office Writer, the custom page number and the actual sum of pages are switched in the sidebar
https://bugs.documentfoundation.org/show_bug.cgi?id=159955 Bug ID: 159955 Summary: When using a custom page number in the german Libre Office Writer, the custom page number and the actual sum of pages are switched in the sidebar Product: LibreOffice Version: 7.6.4.1 release Hardware: All OS: Windows (All) Status: UNCONFIRMED Severity: trivial Priority: medium Component: Writer Assignee: libreoffice-bugs@lists.freedesktop.org Reporter: bu...@outlook.de Description: Please keep in mind: I'm using the german version of Writer, I'm not sure wether this problem can be found in other translations. After pasting in a break to a new page and there setting a custom page number, I've discovered that the info about the current page when clicking on the scroll bar is formated like this: Page 3 (12) of 1 being 3 the actual page number, 12 the sum of all pages and 1 the set page number Steps to Reproduce: 1. set a custom page number 2. click the scroll bar 3. be frustated Actual Results: Actual: when clicking on the scroll bar is formated like this: Page 3 (12) of 1 being 3 the actual page number, 12 the sum of all pages and 1 the set page number Expected Results: Expected: when clicking on the scroll bar is formated like this: Page 3 (1) of 12 being 3 the actual page number, 12 the sum of all pages and 1 the set page number Reproducible: Always User Profile Reset: Yes Additional Info: Version: 7.6.4.1 (X86_64) / LibreOffice Community Build ID: e19e193f88cd6c0525a17fb7a176ed8e6a3e2aa1 CPU threads: 12; OS: Windows 10.0 Build 22631; UI render: Skia/Vulkan; VCL: win Locale: de-DE (en_US); UI: de-DE Calc: CL threaded -- You are receiving this mail because: You are the assignee for the bug.
core.git: sc/source
sc/source/core/data/dpoutput.cxx | 15 ++- 1 file changed, 6 insertions(+), 9 deletions(-) New commits: commit a8a2c49d1984447297085824b593039908498fe5 Author: Tomaž Vajngerl AuthorDate: Tue Feb 27 14:06:40 2024 +0900 Commit: Tomaž Vajngerl CommitDate: Thu Feb 29 08:32:35 2024 +0100 sc: use emplace_back instead of a temporary object and push_back Change-Id: I5913d760fcfa45eb5162fecf25efa68bc17dcbcc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164037 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/sc/source/core/data/dpoutput.cxx b/sc/source/core/data/dpoutput.cxx index a0e87f19415a..c269e00a3438 100644 --- a/sc/source/core/data/dpoutput.cxx +++ b/sc/source/core/data/dpoutput.cxx @@ -598,9 +598,8 @@ ScDPOutput::ScDPOutput(ScDocument* pDocument, uno::Reference aResult = xLevRes->getResults(); if (!lcl_MemberEmpty(aResult)) { -ScDPOutLevelData tmp(nDim, nHierarchy, nLev, nDimPos, nNumFmt, aResult, aName, - aCaption, bHasHiddenMember, bIsDataLayout, false); -mpColFields.push_back(tmp); +mpColFields.emplace_back(nDim, nHierarchy, nLev, nDimPos, nNumFmt, aResult, aName, + aCaption, bHasHiddenMember, bIsDataLayout, false); } } break; @@ -624,9 +623,8 @@ ScDPOutput::ScDPOutput(ScDocument* pDocument, uno::Reference aResult = getVisiblePageMembersAsResults(xLevel); // no check on results for page fields -ScDPOutLevelData tmp(nDim, nHierarchy, nLev, nDimPos, nNumFmt, aResult, aName, - aCaption, bHasHiddenMember, false, true); -mpPageFields.push_back(tmp); +mpPageFields.emplace_back(nDim, nHierarchy, nLev, nDimPos, nNumFmt, aResult, aName, + aCaption, bHasHiddenMember, false, true); } break; default:
Re: data streams in 4.2
Hi Charles, On Wed, Feb 28, 2024 at 11:43:47AM +1300, Charles Harris wrote: > https://lists.freedesktop.org/archives/libreoffice/2014-January/058714.html > > > What is the latest on this project for > Calc current version 7.6.4.1 on Linux Mint 21.3 I'm afraid no significant changes were done to this since 2013. Do you have a use-case in mind to fix / improve? Are you interested in doing that yourself / looking for code pointers or would you rather have some requests? Regards, Miklos
core.git: sdext/source
sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit cf776a6fa697924deb7df5c0561e12bbd7cda16a Author: Dr. David Alan Gilbert AuthorDate: Sun Feb 18 22:01:43 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:28:48 2024 +0100 tdf#113050 sdext.pdfimport: Enable tilingPatternFill Now we've got everything wired up, turn it on. Change-Id: I2333e5163493ef0312619f54d2f90ae266fc655b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163575 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx index f38bf423423b..2a8078422def 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx @@ -284,7 +284,7 @@ namespace pdfi static void setPageNum( int nNumPages ); void setSkipImages ( bool bSkipImages ); #if POPPLER_CHECK_VERSION(21, 3, 0) -poppler_bool useTilingPatternFill() override { return false; }; +poppler_bool useTilingPatternFill() override { return true; }; poppler_bool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, GfxTilingPattern *tPat, const double *mat, int x0, int y0, int x1, int y1,
core.git: sdext/source
sdext/source/pdfimport/tree/drawtreevisiting.cxx |2 ++ sdext/source/pdfimport/tree/pdfiprocessor.cxx |7 ++- sdext/source/pdfimport/tree/writertreevisiting.cxx |3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) New commits: commit 81fbaf4bb9ddc385d4452257d731e4097dfed079 Author: Dr. David Alan Gilbert AuthorDate: Thu Feb 15 00:18:01 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:28:31 2024 +0100 tdf#113050 sdext.pdfimport: Set and write TileWidth/Height Set the tile width/height from the step size and write it into the draw:fill-image-width/height properties. Change-Id: I70d69a6d5e77929bd14282731dd68d3bcafa9c1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163574 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/tree/drawtreevisiting.cxx b/sdext/source/pdfimport/tree/drawtreevisiting.cxx index 2c02adde8874..7897dbae9d08 100644 --- a/sdext/source/pdfimport/tree/drawtreevisiting.cxx +++ b/sdext/source/pdfimport/tree/drawtreevisiting.cxx @@ -826,6 +826,8 @@ void DrawXmlFinalizer::visit( PolyPolyElement& elem, const std::list< std::uniqu aGCProps[ "draw:fill-image-name" ] = m_rStyleContainer.getStyleName( m_rStyleContainer.getStyleId(style)); +aGCProps[ "draw:fill-image-width" ] = unitMMString(convPx2mm(elem.TileWidth)); +aGCProps[ "draw:fill-image-height" ] = unitMMString(convPx2mm(elem.TileHeight)); } diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx index 6f4b45f21a40..2483144250b8 100644 --- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx +++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx @@ -428,12 +428,17 @@ void PDFIProcessor::tilingPatternFill(int nX0, int nY0, int nX1, int nY1, } // TODO: That clipping might shift the fill pattern offsets +double transformedxStep = nxStep * rMat.m00 + nyStep * rMat.m01; +double transformedyStep = nxStep * rMat.m10 + nyStep * rMat.m11; + auto pPolyElement = ElementFactory::createPolyPolyElement( m_pCurElement, getGCId(getCurrentContext()), aB2DPoly, PATH_EOFILL, // Hmm how do I know if this should be EO or not? -nTile, 0, 0 ); +nTile, +transformedxStep * aScale.getX(), +transformedyStep * -aScale.getY()); pPolyElement->updateGeometry(); pPolyElement->ZOrder = m_nNextZOrder++; } diff --git a/sdext/source/pdfimport/tree/writertreevisiting.cxx b/sdext/source/pdfimport/tree/writertreevisiting.cxx index 746fc9e77eb2..9012aaa21038 100644 --- a/sdext/source/pdfimport/tree/writertreevisiting.cxx +++ b/sdext/source/pdfimport/tree/writertreevisiting.cxx @@ -1004,7 +1004,8 @@ void WriterXmlFinalizer::visit( PolyPolyElement& elem, const std::list< std::uni aGCProps[ "draw:fill-image-name" ] = m_rStyleContainer.getStyleName( m_rStyleContainer.getStyleId(style)); - +aGCProps[ "draw:fill-image-width" ] = unitMMString(convPx2mm(elem.TileWidth)); +aGCProps[ "draw:fill-image-height" ] = unitMMString(convPx2mm(elem.TileHeight)); } // TODO(F1): check whether stuff could be emulated by gradient/bitmap/hatch
core.git: sdext/source
sdext/source/pdfimport/inc/genericelements.hxx | 11 --- sdext/source/pdfimport/tree/genericelements.cxx |8 ++-- sdext/source/pdfimport/tree/pdfiprocessor.cxx |8 3 files changed, 18 insertions(+), 9 deletions(-) New commits: commit 784696e47c7f28dac111b95e61f06a9a1f7cdc97 Author: Dr. David Alan Gilbert AuthorDate: Wed Feb 14 00:25:13 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:28:08 2024 +0100 tdf#113050 sdext.pdfimport: Add TileWidth and TileHeight fields We need to scale the tiled image that fills our polygon, so add width and height fields, we'll fill in and process them in subsequent patches. Change-Id: Ib066170ccbc0f4a4c971e1d6df72c3f7df14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163573 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/inc/genericelements.hxx b/sdext/source/pdfimport/inc/genericelements.hxx index 4332d4f1372b..705773b9893a 100644 --- a/sdext/source/pdfimport/inc/genericelements.hxx +++ b/sdext/source/pdfimport/inc/genericelements.hxx @@ -213,7 +213,8 @@ namespace pdfi friend class ElementFactory; PolyPolyElement( Element* pParent, sal_Int32 nGCId, const basegfx::B2DPolyPolygon& rPolyPoly, - sal_Int8 nAction, ImageId nFillImage ); + sal_Int8 nAction, ImageId nFillImage, + double nTileWidth, double nTileHeight ); public: virtual void visitedBy( ElementTreeVisitor&, const std::list< std::unique_ptr >::const_iterator& rParentIt ) override; @@ -226,6 +227,8 @@ namespace pdfi basegfx::B2DPolyPolygon PolyPoly; sal_Int8Action; ImageId FillImage; +double TileWidth; +double TileHeight; }; struct ImageElement final : public DrawElement @@ -300,8 +303,10 @@ namespace pdfi createPolyPolyElement( Element* pParent, sal_Int32 nGCId, const basegfx::B2DPolyPolygon& rPolyPoly, - sal_Int8 nAction, ImageId nFillImage ) -{ return new PolyPolyElement( pParent, nGCId, rPolyPoly, nAction, nFillImage ); } + sal_Int8 nAction, ImageId nFillImage, + double nTileWidth, double nTileHeight ) +{ return new PolyPolyElement( pParent, nGCId, rPolyPoly, nAction, + nFillImage, nTileWidth, nTileHeight ); } static ImageElement* createImageElement( Element* pParent, sal_Int32 nGCId, ImageId nImage ) { return new ImageElement( pParent, nGCId, nImage ); } diff --git a/sdext/source/pdfimport/tree/genericelements.cxx b/sdext/source/pdfimport/tree/genericelements.cxx index 100e145608aa..aec9c999fcf6 100644 --- a/sdext/source/pdfimport/tree/genericelements.cxx +++ b/sdext/source/pdfimport/tree/genericelements.cxx @@ -125,11 +125,15 @@ PolyPolyElement::PolyPolyElement( Element* pParent, sal_Int32 nGCId, const basegfx::B2DPolyPolygon& rPolyPoly, sal_Int8 nAction, - ImageIdnFillImage ) + ImageIdnFillImage, + double nTileWidth, + double nTileHeight ) : DrawElement( pParent, nGCId ), PolyPoly( rPolyPoly ), Action( nAction ), - FillImage( nFillImage ) + FillImage( nFillImage ), + TileWidth( nTileWidth ), + TileHeight( nTileHeight ) { } diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx index 0ef30a176ed2..6f4b45f21a40 100644 --- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx +++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx @@ -433,7 +433,7 @@ void PDFIProcessor::tilingPatternFill(int nX0, int nY0, int nX1, int nY1, getGCId(getCurrentContext()), aB2DPoly, PATH_EOFILL, // Hmm how do I know if this should be EO or not? -nTile ); +nTile, 0, 0 ); pPolyElement->updateGeometry(); pPolyElement->ZOrder = m_nNextZOrder++; } @@ -448,7 +448,7 @@ void PDFIProcessor::strokePath( const uno::Reference< rendering::XPolyPolygon2D getGCId(getCurrentContext()), aPoly, PATH_STROKE, --1 ); +-1, 0, 0 ); pPoly->updateGeometry(); pPoly->ZOrder = m_nNextZOrder++; } @@ -463,7 +463,7 @@ void PDFIProcessor::fillPath( const uno::Reference< rendering::XPolyPolygon2D >&
core.git: sdext/source
sdext/source/pdfimport/tree/drawtreevisiting.cxx | 21 - sdext/source/pdfimport/tree/writertreevisiting.cxx | 21 - 2 files changed, 40 insertions(+), 2 deletions(-) New commits: commit 4b295b1b77b33c9a5b5fcfab58132ca0dcb7f90b Author: Dr. David Alan Gilbert AuthorDate: Mon Feb 12 01:24:07 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:27:48 2024 +0100 tdf#113050 sdext.pdfimport: Create the fill-image style and use it In a poly which is being image filled, we need to create a style with the actual image definition in the 'Contents' and then set the (automatically created) name of this in the prop on the main style. Also we need to set draw:fill to "bitmap" rather than "solid" Change-Id: I253704519011e98fd106331ccfb139ad93ef6dee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163572 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/tree/drawtreevisiting.cxx b/sdext/source/pdfimport/tree/drawtreevisiting.cxx index 5aae54415800..2c02adde8874 100644 --- a/sdext/source/pdfimport/tree/drawtreevisiting.cxx +++ b/sdext/source/pdfimport/tree/drawtreevisiting.cxx @@ -817,10 +817,29 @@ void DrawXmlFinalizer::visit( PolyPolyElement& elem, const std::list< std::uniqu aGCProps[ "draw:stroke" ] = "none"; } +if (elem.FillImage != -1) +{ +PropertyMap props; +// The image isn't actually in a prop, it's in an extra chunk inside. +StyleContainer::Style style("draw:fill-image"_ostr, std::move(props)); +style.Contents = m_rProcessor.getImages().asBase64EncodedString(elem.FillImage); +aGCProps[ "draw:fill-image-name" ] = +m_rStyleContainer.getStyleName( +m_rStyleContainer.getStyleId(style)); + +} + // TODO(F1): check whether stuff could be emulated by gradient/bitmap/hatch if( elem.Action & (PATH_FILL | PATH_EOFILL) ) { -aGCProps[ "draw:fill" ] = "solid"; +if (elem.FillImage == -1) +{ +aGCProps[ "draw:fill" ] = "solid"; +} +else +{ +aGCProps[ "draw:fill" ] = "bitmap"; +} aGCProps[ "draw:fill-color" ] = getColorString(rGC.FillColor); if (rGC.FillColor.Alpha != 1.0) aGCProps["draw:opacity"] = getPercentString(rGC.FillColor.Alpha * 100.0); diff --git a/sdext/source/pdfimport/tree/writertreevisiting.cxx b/sdext/source/pdfimport/tree/writertreevisiting.cxx index 9ecce8f48be4..746fc9e77eb2 100644 --- a/sdext/source/pdfimport/tree/writertreevisiting.cxx +++ b/sdext/source/pdfimport/tree/writertreevisiting.cxx @@ -995,10 +995,29 @@ void WriterXmlFinalizer::visit( PolyPolyElement& elem, const std::list< std::uni aGCProps[ "draw:stroke" ] = "none"; } +if (elem.FillImage != -1) +{ +PropertyMap props; +// The image isn't actually in a prop, it's in an extra chunk inside. +StyleContainer::Style style("draw:fill-image"_ostr, std::move(props)); +style.Contents = m_rProcessor.getImages().asBase64EncodedString(elem.FillImage); +aGCProps[ "draw:fill-image-name" ] = +m_rStyleContainer.getStyleName( +m_rStyleContainer.getStyleId(style)); + +} + // TODO(F1): check whether stuff could be emulated by gradient/bitmap/hatch if( elem.Action & (PATH_FILL | PATH_EOFILL) ) { -aGCProps[ "draw:fill" ] = "solid"; +if (elem.FillImage == -1) +{ +aGCProps[ "draw:fill" ] = "solid"; +} +else +{ +aGCProps[ "draw:fill" ] = "bitmap"; +} aGCProps[ "draw:fill-color" ] = getColorString( rGC.FillColor ); } else
core.git: sdext/source
sdext/source/pdfimport/inc/pdfiprocessor.hxx |1 + 1 file changed, 1 insertion(+) New commits: commit 9f21f816a16914e06ff141a800a63f0966e387b2 Author: Dr. David Alan Gilbert AuthorDate: Mon Feb 12 01:29:38 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:26:58 2024 +0100 tdf#113050 sdext.pdfimport: Expose the ImageContainer const I need the finalisers to be able to read an image, they have a ref to the processor but not the emitter; so allow the container to be read via the processor reference. Change-Id: Ifd3b2af1d456561ad42ae3e7c664f03b2e0c971c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163571 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/inc/pdfiprocessor.hxx b/sdext/source/pdfimport/inc/pdfiprocessor.hxx index 40cdbfdd48c9..89a09d1780bf 100644 --- a/sdext/source/pdfimport/inc/pdfiprocessor.hxx +++ b/sdext/source/pdfimport/inc/pdfiprocessor.hxx @@ -71,6 +71,7 @@ namespace pdfi const GraphicsContext& getGraphicsContext( sal_Int32 nGCId ) const; GraphicsContext& getCurrentContext() { return m_aGCStack.back(); } const GraphicsContext& getCurrentContext() const { return m_aGCStack.back(); } +const ImageContainer& getImages() const { return m_aImages; }; const css::uno::Reference< css::task::XStatusIndicator >& getStatusIndicator() const { return m_xStatusIndicator; }
core.git: sdext/source
sdext/source/pdfimport/inc/genericelements.hxx |7 --- sdext/source/pdfimport/tree/genericelements.cxx |6 -- sdext/source/pdfimport/tree/pdfiprocessor.cxx | 15 ++- 3 files changed, 18 insertions(+), 10 deletions(-) New commits: commit 2bf5664823e7ef71d917fe95a2c3d92e46d77c32 Author: Dr. David Alan Gilbert AuthorDate: Mon Feb 12 01:14:06 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:26:40 2024 +0100 tdf#113050 sdext.pdfimport: Add FillImage field to PolyPolyElement Use -1 to mean the existing solid fill, otherwise it's the ID of the image to use as the fill. Change-Id: I596c26145f5285f75af631a3bb7ddf09600982a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163570 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/inc/genericelements.hxx b/sdext/source/pdfimport/inc/genericelements.hxx index 6d1459a1f032..4332d4f1372b 100644 --- a/sdext/source/pdfimport/inc/genericelements.hxx +++ b/sdext/source/pdfimport/inc/genericelements.hxx @@ -213,7 +213,7 @@ namespace pdfi friend class ElementFactory; PolyPolyElement( Element* pParent, sal_Int32 nGCId, const basegfx::B2DPolyPolygon& rPolyPoly, - sal_Int8 nAction ); + sal_Int8 nAction, ImageId nFillImage ); public: virtual void visitedBy( ElementTreeVisitor&, const std::list< std::unique_ptr >::const_iterator& rParentIt ) override; @@ -225,6 +225,7 @@ namespace pdfi basegfx::B2DPolyPolygon PolyPoly; sal_Int8Action; +ImageId FillImage; }; struct ImageElement final : public DrawElement @@ -299,8 +300,8 @@ namespace pdfi createPolyPolyElement( Element* pParent, sal_Int32 nGCId, const basegfx::B2DPolyPolygon& rPolyPoly, - sal_Int8 nAction) -{ return new PolyPolyElement( pParent, nGCId, rPolyPoly, nAction ); } + sal_Int8 nAction, ImageId nFillImage ) +{ return new PolyPolyElement( pParent, nGCId, rPolyPoly, nAction, nFillImage ); } static ImageElement* createImageElement( Element* pParent, sal_Int32 nGCId, ImageId nImage ) { return new ImageElement( pParent, nGCId, nImage ); } diff --git a/sdext/source/pdfimport/tree/genericelements.cxx b/sdext/source/pdfimport/tree/genericelements.cxx index 1d11cd0d914e..100e145608aa 100644 --- a/sdext/source/pdfimport/tree/genericelements.cxx +++ b/sdext/source/pdfimport/tree/genericelements.cxx @@ -124,10 +124,12 @@ void ImageElement::visitedBy( ElementTreeVisitor& rVisi PolyPolyElement::PolyPolyElement( Element* pParent, sal_Int32 nGCId, const basegfx::B2DPolyPolygon& rPolyPoly, - sal_Int8 nAction ) + sal_Int8 nAction, + ImageIdnFillImage ) : DrawElement( pParent, nGCId ), PolyPoly( rPolyPoly ), - Action( nAction ) + Action( nAction ), + FillImage( nFillImage ) { } diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx index 32280f8fd110..0ef30a176ed2 100644 --- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx +++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx @@ -389,9 +389,10 @@ void PDFIProcessor::tilingPatternFill(int nX0, int nY0, int nX1, int nY1, double nxStep, double nyStep, int /* nPaintType */, css::geometry::AffineMatrix2D& rMat, - const css::uno::Sequence& /*xTile*/) + const css::uno::Sequence& xTile) { const GraphicsContext& rGC(getCurrentContext()); +auto nTile = m_aImages.addImage(xTile); basegfx::B2DTuple aScale, aTranslation; double fRotate, fShearX; @@ -431,7 +432,8 @@ void PDFIProcessor::tilingPatternFill(int nX0, int nY0, int nX1, int nY1, m_pCurElement, getGCId(getCurrentContext()), aB2DPoly, -PATH_EOFILL ); // Hmm how do I know if this should be EO or not? +PATH_EOFILL, // Hmm how do I know if this should be EO or not? +nTile ); pPolyElement->updateGeometry(); pPolyElement->ZOrder = m_nNextZOrder++; } @@ -445,7 +447,8 @@ void PDFIProcessor::strokePath( const uno::Reference< rendering::XPolyPolygon2D m_pCurElement, getGCId(getCurrentContext()), aPoly, -PATH_STROKE ); +PATH_STROKE, +-1 );
core.git: sdext/source
sdext/source/pdfimport/inc/imagecontainer.hxx |1 sdext/source/pdfimport/tree/imagecontainer.cxx | 31 + 2 files changed, 32 insertions(+) New commits: commit d7e5eae44e18ab89e85a0e6ed633853ede70ec71 Author: Dr. David Alan Gilbert AuthorDate: Mon Feb 12 00:44:31 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:26:04 2024 +0100 tdf#113050 sdext.pdfimport: Add ImageContainer::asBase64EncodedString' For fill-images we need the image as a string. Change-Id: I4a8429563b0e19ad977b4e933a0ffee378dab244 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163569 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/inc/imagecontainer.hxx b/sdext/source/pdfimport/inc/imagecontainer.hxx index d21ed7504f63..03672e8ca8b2 100644 --- a/sdext/source/pdfimport/inc/imagecontainer.hxx +++ b/sdext/source/pdfimport/inc/imagecontainer.hxx @@ -42,6 +42,7 @@ namespace pdfi ImageId addImage( const css::uno::Sequence< css::beans::PropertyValue>& xBitmap ); void writeBase64EncodedStream( ImageId nImageId, EmitContext& rContext ); +OUString asBase64EncodedString( ImageId nId ) const; }; } diff --git a/sdext/source/pdfimport/tree/imagecontainer.cxx b/sdext/source/pdfimport/tree/imagecontainer.cxx index a7154164d771..b9f7ef52e061 100644 --- a/sdext/source/pdfimport/tree/imagecontainer.cxx +++ b/sdext/source/pdfimport/tree/imagecontainer.cxx @@ -141,6 +141,37 @@ void ImageContainer::writeBase64EncodedStream( ImageId nId, EmitContext& rContex rContext.rEmitter.write( encodeBase64( aData.getConstArray(), aData.getLength() )); } +OUString ImageContainer::asBase64EncodedString( ImageId nId ) const +{ +OSL_ASSERT( nId >= 0 && o3tl::make_unsigned(nId) < m_aImages.size() ); + +const uno::Sequence& rEntry( m_aImages[nId] ); + +// find "InputSequence" property +const beans::PropertyValue* pAry(rEntry.getConstArray()); +const sal_Int32 nLen(rEntry.getLength()); +const beans::PropertyValue* pValue( +std::find_if(pAry, pAry+nLen, +[] (beans::PropertyValue const& v) -> bool { +return v.Name == "InputSequence"; +})); + +if (pValue == pAry + nLen ) +{ +SAL_WARN("sdext.pdfimport", "InputSequence not found"); +return ""; +} + +uno::Sequence aData; +if( !(pValue->Value >>= aData) ) +{ +SAL_WARN("sdext.pdfimport", "Wrong data type"); +return ""; +} + +return encodeBase64( aData.getConstArray(), aData.getLength() ); +} + } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
core.git: sdext/source
sdext/source/pdfimport/tree/style.cxx |4 1 file changed, 4 insertions(+) New commits: commit ff160e93d32c62e09b28393979b3535e01057cdc Author: Dr. David Alan Gilbert AuthorDate: Mon Feb 12 00:38:42 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:25:35 2024 +0100 tdf#113050 sdext.pdfimport: In styles wrap 'Contents' For draw:fill-image we need output like: Base64stuff https://gerrit.libreoffice.org/c/core/+/163568 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/tree/style.cxx b/sdext/source/pdfimport/tree/style.cxx index b97b1d3e9cdf..969fdc0e9648 100644 --- a/sdext/source/pdfimport/tree/style.cxx +++ b/sdext/source/pdfimport/tree/style.cxx @@ -197,7 +197,11 @@ void StyleContainer::impl_emitStyle( sal_Int32 nStyleId, for(sal_Int32 nSubStyle : rStyle.SubStyles) impl_emitStyle( nSubStyle, rContext, rContainedElemVisitor ); if( !rStyle.Contents.isEmpty() ) +{ +rContext.rEmitter.beginTag( "office:binary-data", PropertyMap() ); rContext.rEmitter.write( rStyle.Contents ); +rContext.rEmitter.endTag( "office:binary-data" ); +} if( rStyle.ContainedElement ) rStyle.ContainedElement->visitedBy( rContainedElemVisitor, std::list>::iterator() );
core.git: sdext/source
sdext/source/pdfimport/tree/style.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit bc5bd022a9ea8128bd5e9ba02bda48332dccbbe4 Author: Dr. David Alan Gilbert AuthorDate: Sat Feb 10 01:00:18 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:25:08 2024 +0100 tdf#113050 sdext.pdfimport: In styles Specialise draw:fill-image Like stroke-dash, draw:fill-image needs the name setting in the draw:name attribute. Change-Id: Ib9c888765af8bfb0849f0f1ef15f9774808a1661 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163567 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/tree/style.cxx b/sdext/source/pdfimport/tree/style.cxx index 3f1d20eb4244..b97b1d3e9cdf 100644 --- a/sdext/source/pdfimport/tree/style.cxx +++ b/sdext/source/pdfimport/tree/style.cxx @@ -190,7 +190,7 @@ void StyleContainer::impl_emitStyle( sal_Int32 nStyleId, PropertyMap aProps( rStyle.Properties ); if( !rStyle.IsSubStyle ) aProps[ "style:name" ] = getStyleName( nStyleId ); -if (rStyle.Name == "draw:stroke-dash") +if (rStyle.Name == "draw:stroke-dash" || rStyle.Name == "draw:fill-image") aProps[ "draw:name" ] = aProps[ "style:name" ]; rContext.rEmitter.beginTag( rStyle.Name.getStr(), aProps );
[Bug 159954] New: VIEWER: Please bring back the real Dark Mode
https://bugs.documentfoundation.org/show_bug.cgi?id=159954 Bug ID: 159954 Summary: VIEWER: Please bring back the real Dark Mode Product: LibreOffice Version: 7.6.5.2 release Hardware: All OS: Windows (All) Status: UNCONFIRMED Severity: normal Priority: medium Component: Writer Assignee: libreoffice-bugs@lists.freedesktop.org Reporter: johnkueh...@outlook.com Description: Dark Mode now has a white page and black text, so it's not actually dark anymore. Please bring back the Dark Mode with a black page and white text. Steps to Reproduce: 1.Set to Dark in Tools - Option - View - Appearance - Mode 2. 3. Actual Results: White page with black text Expected Results: Black page with white text Reproducible: Always User Profile Reset: No Additional Info: None -- You are receiving this mail because: You are the assignee for the bug.
core.git: sdext/source
sdext/source/pdfimport/tree/pdfiprocessor.cxx | 52 -- 1 file changed, 48 insertions(+), 4 deletions(-) New commits: commit 2350357d5cc2ac1787816ce887af6e9f36b8d252 Author: Dr. David Alan Gilbert AuthorDate: Fri Feb 9 02:42:30 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:24:48 2024 +0100 tdf#113050 sdext.pdfimport: Create poly for tiling pattern Create a poly for the tiling pattern fill. Change-Id: Iaeadfe51bed6d4de87f36b3a78145829ea8443e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163566 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx index cf65223f167a..32280f8fd110 100644 --- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx +++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx @@ -28,6 +28,8 @@ #include +#include + #include #include #include @@ -383,13 +385,55 @@ void PDFIProcessor::drawAlphaMaskedImage(const uno::Sequence& /*xTile*/) { -// TODO +const GraphicsContext& rGC(getCurrentContext()); + +basegfx::B2DTuple aScale, aTranslation; +double fRotate, fShearX; +auto rTfm = rGC.Transformation; +rTfm.decompose(aScale, aTranslation, fRotate, fShearX); + +// Build a poly covering the whole fill area +double np0x = nX0 * nxStep; +double np0y = nY0 * nyStep; +double np1x = nX1 * nxStep; +double np1y = nY1 * nyStep; + +// Transform with the rMat passed in +double tmpx, tmpy; +tmpx = np0x * rMat.m00 + np0y * rMat.m01 + rMat.m02; +tmpy = np0x * rMat.m10 + np0y * rMat.m11 + rMat.m12; +np0x = tmpx; +np0y = tmpy; +tmpx = np1x * rMat.m00 + np1y * rMat.m01 + rMat.m02; +tmpy = np1x * rMat.m10 + np1y * rMat.m11 + rMat.m12; +np1x = tmpx; +np1y = tmpy; + +auto aB2DPoly = basegfx::B2DPolyPolygon(basegfx::utils::createPolygonFromRect(basegfx::B2DRange(np0x, np0y, np1x, np1y))); +aB2DPoly.transform(getCurrentContext().Transformation); + +// Clip against current clip path, if any +basegfx::B2DPolyPolygon aCurClip = getCurrentContext().Clip; +if( aCurClip.count() ) { +aB2DPoly = basegfx::utils::clipPolyPolygonOnPolyPolygon( aB2DPoly, aCurClip, + true, /* bInside, keep parts inside the clip */ + false /* bStroke, filled not stroked */ ); +} +// TODO: That clipping might shift the fill pattern offsets + +auto pPolyElement = ElementFactory::createPolyPolyElement( +m_pCurElement, +getGCId(getCurrentContext()), +aB2DPoly, +PATH_EOFILL ); // Hmm how do I know if this should be EO or not? +pPolyElement->updateGeometry(); +pPolyElement->ZOrder = m_nNextZOrder++; } void PDFIProcessor::strokePath( const uno::Reference< rendering::XPolyPolygon2D >& rPath )
core.git: sdext/qa sdext/source
sdext/qa/unit/pdfimport.cxx |8 sdext/source/pdfimport/inc/contentsink.hxx|5 + sdext/source/pdfimport/inc/pdfiprocessor.hxx |6 ++ sdext/source/pdfimport/tree/pdfiprocessor.cxx |9 + sdext/source/pdfimport/wrapper/wrapper.cxx| 11 +++ 5 files changed, 35 insertions(+), 4 deletions(-) New commits: commit 4a13e1890e8a0ed81e8fb17009185fa2b15ebff7 Author: Dr. David Alan Gilbert AuthorDate: Sun Feb 18 22:06:02 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:24:17 2024 +0100 tdf#113050 sdext.pdfimport: Plumb tiling pattern fill to pdfiprocessor Change-Id: I68459834fd903d31c9b2e57d637265dd67da4f56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163565 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/qa/unit/pdfimport.cxx b/sdext/qa/unit/pdfimport.cxx index 377d08d351f8..18988d6845de 100644 --- a/sdext/qa/unit/pdfimport.cxx +++ b/sdext/qa/unit/pdfimport.cxx @@ -428,6 +428,14 @@ namespace { } +virtual void tilingPatternFill(int, int, int, int, + double, double, + int, + css::geometry::AffineMatrix2D&, + const css::uno::Sequence&) override +{ +} + typedef std::unordered_map IdToFontMap; typedef std::unordered_map FontToIdMap; diff --git a/sdext/source/pdfimport/inc/contentsink.hxx b/sdext/source/pdfimport/inc/contentsink.hxx index 44f609c3caaa..5354e4370f14 100644 --- a/sdext/source/pdfimport/inc/contentsink.hxx +++ b/sdext/source/pdfimport/inc/contentsink.hxx @@ -171,6 +171,11 @@ namespace pdfi css::beans::PropertyValue>& xImage, const css::uno::Sequence< css::beans::PropertyValue>& xMask) = 0; +virtual void tilingPatternFill(int nX0, int nY0, int nX1, int nY1, + double nxStep, double nyStep, + int nPaintType, + css::geometry::AffineMatrix2D& rMat, + const css::uno::Sequence& xTile) = 0; }; typedef std::shared_ptr ContentSinkSharedPtr; diff --git a/sdext/source/pdfimport/inc/pdfiprocessor.hxx b/sdext/source/pdfimport/inc/pdfiprocessor.hxx index 3fdc146716b3..40cdbfdd48c9 100644 --- a/sdext/source/pdfimport/inc/pdfiprocessor.hxx +++ b/sdext/source/pdfimport/inc/pdfiprocessor.hxx @@ -150,6 +150,12 @@ namespace pdfi const css::uno::Sequence< css::beans::PropertyValue>& xMask) override; +virtual void tilingPatternFill(int nX0, int nY0, int nX1, int nY1, + double nxStep, double nyStep, + int nPaintType, + css::geometry::AffineMatrix2D& rMat, + const css::uno::Sequence& xTile) override; + void startIndicator( const OUString& rText ); void endIndicator(); diff --git a/sdext/source/pdfimport/tree/pdfiprocessor.cxx b/sdext/source/pdfimport/tree/pdfiprocessor.cxx index 44485f4c2525..cf65223f167a 100644 --- a/sdext/source/pdfimport/tree/pdfiprocessor.cxx +++ b/sdext/source/pdfimport/tree/pdfiprocessor.cxx @@ -383,6 +383,15 @@ void PDFIProcessor::drawAlphaMaskedImage(const uno::Sequence& /*xTile*/) +{ +// TODO +} + void PDFIProcessor::strokePath( const uno::Reference< rendering::XPolyPolygon2D >& rPath ) { basegfx::B2DPolyPolygon aPoly=basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(rPath); diff --git a/sdext/source/pdfimport/wrapper/wrapper.cxx b/sdext/source/pdfimport/wrapper/wrapper.cxx index 6094bfabcbbc..d99103b9867a 100644 --- a/sdext/source/pdfimport/wrapper/wrapper.cxx +++ b/sdext/source/pdfimport/wrapper/wrapper.cxx @@ -838,10 +838,13 @@ void LineParser::readTilingPatternFill() readDouble(aMat.m12); // The tile is an image with alpha -[[maybe_unused]]const uno::Sequence aTile ( readImageImpl() ); -(void)aTile; // Unused until later patch -// TODO -// use the parsed data +const uno::Sequence aTile ( readImageImpl() ); + +m_parser.m_pSink->tilingPatternFill( nX0, nY0, nX1, nY1, + nXStep, nYStep, + nPaintType, + aMat, + aTile ); } void Parser::parseLine( std::string_view aLine )
[Bug 159356] Table of Contents will not show correctly in LO but shows correctly in MSO and OnlyOffice
https://bugs.documentfoundation.org/show_bug.cgi?id=159356 --- Comment #8 from Buovjaga --- (In reply to tom1williams from comment #6) > Thank you very much for looking into my problem! I am looking forward to > using Libre Office 24.2.1. > > May I ask one more question? This is not worth opening a new ticket. In this > case I think LO 7.6 is correct and OnlyOffice DE is incorrect. In this new > attached file how can the background of the cover page look totally > different between LO 7.6 and the latest SNAP version of OnlyOffice Desktop > Editors? Which software is correct? Does this symptom indicate a problem of > some kind in either office suite? (In reply to tom1williams from comment #7) > Created attachment 192856 [details] > The background of the cover page looks different see my final question The document is somehow suspicious: which software produced it originally? In which software was it last saved? It looks broken in Microsoft's office.com. The abstract only starts on page 7. There are 5 basically blank pages between the cover and the abstract. Surely this is not the intention. -- You are receiving this mail because: You are the assignee for the bug.
core.git: sdext/source
sdext/source/pdfimport/wrapper/keyword_list |1 sdext/source/pdfimport/wrapper/wrapper.cxx | 33 2 files changed, 34 insertions(+) New commits: commit ec0b9062dc8dba82509183eb865da55827bde4d5 Author: Dr. David Alan Gilbert AuthorDate: Wed Jan 24 02:10:18 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:23:54 2024 +0100 tdf#113050 sdext.pdfimport Tiling pattern fill parser Add a parser for the TilingPatternFill entry from the poppler wrapper. This doesn't get triggered yet until the wrapper enables the tilingPatternFill. Change-Id: I34ab84ba1ab9d6773f33d667b324bef5d6c6e409 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163564 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/wrapper/keyword_list b/sdext/source/pdfimport/wrapper/keyword_list index bf15ddb2460f..4d1e6d2d4013 100644 --- a/sdext/source/pdfimport/wrapper/keyword_list +++ b/sdext/source/pdfimport/wrapper/keyword_list @@ -38,6 +38,7 @@ setTextRenderMode,SETTEXTRENDERMODE setTransformation,SETTRANSFORMATION startPage,STARTPAGE strokePath,STROKEPATH +tilingPatternFill,TILINGPATTERNFILL updateBlendMode,UPDATEBLENDMODE updateCtm,UPDATECTM updateFillColor,UPDATEFILLCOLOR diff --git a/sdext/source/pdfimport/wrapper/wrapper.cxx b/sdext/source/pdfimport/wrapper/wrapper.cxx index ade4dc5edb6b..6094bfabcbbc 100644 --- a/sdext/source/pdfimport/wrapper/wrapper.cxx +++ b/sdext/source/pdfimport/wrapper/wrapper.cxx @@ -107,6 +107,7 @@ enum parseKey { SETTRANSFORMATION, STARTPAGE, STROKEPATH, +TILINGPATTERNFILL, UPDATEBLENDMODE, UPDATECTM, UPDATEFILLCOLOR, @@ -195,6 +196,7 @@ public: void readLink(); void readMaskedImage(); void readSoftMaskedImage(); +void readTilingPatternFill(); }; /** Unescapes line-ending characters in input string. These @@ -813,6 +815,35 @@ void LineParser::readSoftMaskedImage() m_parser.m_pSink->drawAlphaMaskedImage( aImage, aMask ); } +void LineParser::readTilingPatternFill() +{ +sal_Int32 nX0, nY0, nX1, nY1, nPaintType; +double nXStep, nYStep; +geometry::AffineMatrix2D aMat; +readInt32(nX0); +readInt32(nY0); +readInt32(nX1); +readInt32(nY1); + +readDouble(nXStep); +readDouble(nYStep); + +readInt32(nPaintType); + +readDouble(aMat.m00); +readDouble(aMat.m10); +readDouble(aMat.m01); +readDouble(aMat.m11); +readDouble(aMat.m02); +readDouble(aMat.m12); + +// The tile is an image with alpha +[[maybe_unused]]const uno::Sequence aTile ( readImageImpl() ); +(void)aTile; // Unused until later patch +// TODO +// use the parsed data +} + void Parser::parseLine( std::string_view aLine ) { OSL_PRECOND( m_pSink, "Invalid sink" ); @@ -865,6 +896,8 @@ void Parser::parseLine( std::string_view aLine ) } case STROKEPATH: m_pSink->strokePath(lp.readPath()); break; +case TILINGPATTERNFILL: +lp.readTilingPatternFill(); break; case UPDATECTM: lp.readTransformation(); break; case UPDATEFILLCOLOR:
core.git: sdext/source
sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 44 +- 1 file changed, 42 insertions(+), 2 deletions(-) New commits: commit b7a63d26466bac7eb7b25233a5a53788bed88c81 Author: Dr. David Alan Gilbert AuthorDate: Sun Feb 18 22:00:37 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:23:28 2024 +0100 tdf#113050 sdext.pdfimport: Flip bitmap We need to flip the bitmap between the wrapper and LO, but there's no easy way to do this in a Poly image fill in LO, so do it as a simple bitmap flip in the wrapper. Change-Id: Ifd84d37926c21edf30654d3884be975849a6dca3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163563 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx index 57eb30092141..ec2632b74899 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx @@ -432,8 +432,6 @@ static void writeImage_( OutputBuffer& o_rOutputBuf, } // forwarders - - static void writeImageLF( OutputBuffer& o_rOutputBuf, Stream* str, int width, @@ -445,6 +443,45 @@ static void writeMaskLF( OutputBuffer& o_rOutputBuf, int height, bool bInvert ) { writeMask_(o_rOutputBuf,str,width,height,bInvert); } +// Vertically flip the bitmap +static void flipSplashBitmap(SplashBitmap *pBitmap) +{ +if (pBitmap->getRowSize() <= 0) +return; + +auto nBitmapHeight = static_cast(pBitmap->getHeight()); +auto nRowSize = static_cast(pBitmap->getRowSize()); +auto nAlphaRowSize = static_cast(pBitmap->getAlphaRowSize()); + +auto aTmpRow = new unsigned char[nRowSize]; +auto aTmpAlphaRow = new unsigned char[nAlphaRowSize]; + +auto pBitmapData = pBitmap->getDataPtr(); +auto pAlphaData = pBitmap->getAlphaPtr(); + +// Set up pairs of pointers working from each end of the bitmap +auto pCurRowA = pBitmapData; +auto pCurAlphaA = pAlphaData; +auto pCurRowB = pBitmapData+nRowSize*(nBitmapHeight-1); +auto pCurAlphaB = pAlphaData+nAlphaRowSize*(nBitmapHeight-1); + +for (size_t nCur = 0; + nCur < nBitmapHeight/2; + nCur++, pCurRowA+=nRowSize, pCurRowB-=nRowSize, + pCurAlphaA+=nAlphaRowSize, pCurAlphaB-=nAlphaRowSize) +{ +memcpy(aTmpRow, pCurRowA, nRowSize); +memcpy(pCurRowA, pCurRowB, nRowSize); +memcpy(pCurRowB, aTmpRow, nRowSize); + +memcpy(aTmpAlphaRow, pCurAlphaA, nAlphaRowSize); +memcpy(pCurAlphaA, pCurAlphaB, nAlphaRowSize); +memcpy(pCurAlphaB, aTmpAlphaRow, nAlphaRowSize); +} +delete[] aTmpRow; +delete[] aTmpAlphaRow; +} + int PDFOutDev::parseFont( long long nNewId, GfxFont* gfxFont, const GfxState* state ) const { FontAttributes aNewFont; @@ -1236,6 +1273,9 @@ poppler_bool PDFOutDev::tilingPatternFill(GfxState *state, Gfx *, Catalog *, delete pSplashGfx; delete pSplashOut; +// Add a vertical flip, we can't do this in LO for an image filled poly +flipSplashBitmap(pSplashBitmap); + auto nBitmapWidth = static_cast(pSplashBitmap->getWidth()); auto nBitmapHeight = static_cast(pSplashBitmap->getHeight());
core.git: Branch 'distro/collabora/co-23.05' - sd/source
sd/source/ui/dlg/headerfooterdlg.cxx | 22 ++ 1 file changed, 14 insertions(+), 8 deletions(-) New commits: commit 5e7a86d54789252877072ec8d4c0812247bf1683 Author: Justin Luth AuthorDate: Tue Feb 27 09:57:35 2024 -0500 Commit: Miklos Vajna CommitDate: Thu Feb 29 08:23:36 2024 +0100 tdf#159927 sd headerfooterdlg: detect existing date/time language Sometimes it was hard to change an existing foreign language to your own language for Impress' header/footer fields. The function was only checking the first master slide for the date/time language. If it didn't have one, then the default locale was selected. However, although all pages share the same date/time language, it is not necessary for all (or even the first) master slide to have a date/time field. So check through all the master slides until one with a date/time is found. Obviously if none have one defined things still work OK, because that is effectively how it was working beforehand. A separate unit test was provided with https://gerrit.libreoffice.org/c/core/+/164070 Change-Id: Ida44957013978720ad12fadc9b4ebc88bc10ea40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164045 Tested-by: Jenkins Reviewed-by: Justin Luth Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164069 Tested-by: Jenkins CollaboraOffice Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164077 Reviewed-by: Miklos Vajna diff --git a/sd/source/ui/dlg/headerfooterdlg.cxx b/sd/source/ui/dlg/headerfooterdlg.cxx index 0c0786d3eebb..1f5ada44cf33 100644 --- a/sd/source/ui/dlg/headerfooterdlg.cxx +++ b/sd/source/ui/dlg/headerfooterdlg.cxx @@ -151,7 +151,8 @@ private: void FillFormatList(sal_Int32 nSelectedPos); void GetOrSetDateTimeLanguage( LanguageType , bool bSet ); -void GetOrSetDateTimeLanguage( LanguageType , bool bSet, SdPage* pPage ); +// returns true if the page has a date/time field item +bool GetOrSetDateTimeLanguage(LanguageType& rLanguage, bool bSet, SdPage* pPage); public: HeaderFooterTabPage(weld::Container* pParent, SdDrawDocument* pDoc, SdPage* pActualPage, bool bHandoutMode ); @@ -535,25 +536,29 @@ void HeaderFooterTabPage::GetOrSetDateTimeLanguage( LanguageType , boo } else { -// get the language from the first master page -// or set it to all master pages -sal_uInt16 nPageCount = bSet ? mpDoc->GetMasterSdPageCount( PageKind::Notes ) : 1; +const sal_uInt16 nPageCount = mpDoc->GetMasterSdPageCount(PageKind::Standard); sal_uInt16 nPage; for( nPage = 0; nPage < nPageCount; nPage++ ) { -GetOrSetDateTimeLanguage( rLanguage, bSet, mpDoc->GetMasterSdPage( nPage, PageKind::Standard ) ); +SdPage* pMasterSlide = mpDoc->GetMasterSdPage(nPage, PageKind::Standard); +bool bHasDateFieldItem = GetOrSetDateTimeLanguage(rLanguage, bSet, pMasterSlide); + +// All pages must use the same language. If getting the language, only need to find one. +if (!bSet && bHasDateFieldItem) +break; } } } -void HeaderFooterTabPage::GetOrSetDateTimeLanguage( LanguageType , bool bSet, SdPage* pPage ) +bool HeaderFooterTabPage::GetOrSetDateTimeLanguage(LanguageType& rLanguage, bool bSet, + SdPage* pPage) { if( !pPage ) -return; +return false; SdrTextObj* pObj = static_cast(pPage->GetPresObj( PresObjKind::DateTime )); if( !pObj ) -return; +return false; Outliner* pOutl = mpDoc->GetInternalOutliner(); pOutl->Init( OutlinerMode::TextObject ); @@ -623,6 +628,7 @@ void HeaderFooterTabPage::GetOrSetDateTimeLanguage( LanguageType , boo pOutl->Clear(); pOutl->Init( nOutlMode ); +return bHasDateFieldItem; } PresLayoutPreview::PresLayoutPreview()
core.git: sdext/source
sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 64 +- 1 file changed, 62 insertions(+), 2 deletions(-) New commits: commit 8ac5f40b330c6cd248073b8686c05f566ecd7195 Author: Dr. David Alan Gilbert AuthorDate: Sun Feb 18 21:45:42 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:22:38 2024 +0100 tdf#113050 sdext.pdfimport: Write the tiling pattern image Render the tile down to a common format using Splash and write it to the stream. Change-Id: Iccc451d1a02ed2ad77538883ab3fe5542fc633e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163562 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx index e7afe67afef4..57eb30092141 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx @@ -1182,13 +1182,15 @@ void PDFOutDev::setSkipImages( bool bSkipImages ) } #if POPPLER_CHECK_VERSION(21, 3, 0) -poppler_bool PDFOutDev::tilingPatternFill(GfxState *, Gfx *, Catalog *, +poppler_bool PDFOutDev::tilingPatternFill(GfxState *state, Gfx *, Catalog *, GfxTilingPattern *tPat, const double *mat, int x0, int y0, int x1, int y1, double xStep, double yStep) { const double *pBbox = tPat->getBBox(); const int nPaintType = tPat->getPaintType(); +Dict *pResDict = tPat->getResDict(); +Object *aStr = tPat->getContentStream(); double nWidth = pBbox[2] - pBbox[0]; double nHeight = pBbox[3] - pBbox[1]; @@ -1215,7 +1217,65 @@ poppler_bool PDFOutDev::tilingPatternFill(GfxState *, Gfx *, Catalog *, normalize(mat[4]), normalize(mat[5]) ); -// TODO: Write the image +PDFRectangle aBox; +aBox.x1 = pBbox[0]; +aBox.y1 = pBbox[1]; +aBox.x2 = pBbox[2]; +aBox.y2 = pBbox[3]; + +const int nDPI = 72; // GfxState seems to have 72.0 as magic for some reason +auto pSplashGfxState = new GfxState(nDPI, nDPI, , 0, false); +auto pSplashOut = new SplashOutputDev(splashModeRGB8, 1, false, nullptr); +pSplashOut->setEnableFreeType(false); +pSplashOut->startPage(0 /* pageNum */, pSplashGfxState, nullptr /* xref */); + +auto pSplashGfx = new Gfx(m_pDoc, pSplashOut, pResDict, , nullptr); +pSplashGfx->display(aStr); +auto pSplashBitmap = pSplashOut->takeBitmap(); +delete pSplashGfxState; +delete pSplashGfx; +delete pSplashOut; + +auto nBitmapWidth = static_cast(pSplashBitmap->getWidth()); +auto nBitmapHeight = static_cast(pSplashBitmap->getHeight()); + +char *pBitmapData = reinterpret_cast(pSplashBitmap->getDataPtr()); +if (nPaintType == 2) +{ +// My understanding is Type 2 fills are just bitmaps of *what* to fill +// in the current fill colour. +// sending it to LO as a flat colour image with the alpha map is easiest +GfxRGB aCurFill; +unsigned char r,g,b; +state->getFillColorSpace()->getRGB(state->getFillColor(), ); +r = colToByte(aCurFill.r); +g = colToByte(aCurFill.g); +b = colToByte(aCurFill.b); + +for(size_t i=0; i < (nBitmapWidth * nBitmapHeight * 3); i+=3) +{ +pBitmapData[i ] = r; +pBitmapData[i+1] = g; +pBitmapData[i+2] = b; +} +} + +auto pRgbStr = new MemStream(pBitmapData, 0, +nBitmapWidth * nBitmapHeight * 3, Object(objNull)); +auto pAlphaStr = new MemStream(reinterpret_cast(pSplashBitmap->getAlphaPtr()), 0, +nBitmapWidth * nBitmapHeight, Object(objNull)); +auto aDecode = Object(objNull); +auto pRgbIdentityColorMap = new GfxImageColorMap(8, , new GfxDeviceRGBColorSpace()); +auto pGrayIdentityColorMap = new GfxImageColorMap(8, , new GfxDeviceGrayColorSpace()); + +OutputBuffer aBuf; initBuf(aBuf); +writePng_(aBuf, pRgbStr, nBitmapWidth, nBitmapHeight, pRgbIdentityColorMap, +pAlphaStr, nBitmapWidth, nBitmapHeight, pGrayIdentityColorMap); +writeBinaryBuffer(aBuf); + +delete pAlphaStr; +delete pRgbStr; +delete pSplashBitmap; // If we return false here we can fall back to the slow path return true;
core.git: sdext/source
sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 64 +- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx |7 + 2 files changed, 70 insertions(+), 1 deletion(-) New commits: commit 8e4a351f12d777ad9102086298741d0a97e5eeb9 Author: Dr. David Alan Gilbert AuthorDate: Mon Jan 15 02:09:39 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:21:09 2024 +0100 tdf#113050 sdext.pdfimport: Write the tiling pattern header Add the 'tilingPatternFill' hook to our output device, but don't enable it yet; we can do that at the end of the series. Change-Id: Id52b023c3025f5addce1ab09663da9b8bd8a75e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163561 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx index 2517618e1019..e7afe67afef4 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx @@ -20,6 +20,25 @@ #include "pdfioutdev_gpl.hxx" #include "pnghelper.hxx" +#if defined __GNUC__ || defined __clang__ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wunused-parameter" +#elif defined _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4100) // unreferenced formal parameter +#pragma warning(disable : 4121) // alignment of a member was sensitive to packing in Gfx.h/Operator +#endif + +#include +#include +#include +#if defined __GNUC__ || defined __clang__ +# pragma GCC diagnostic pop +#elif defined _MSC_VER +#pragma warning(pop) +#endif + + #include #include #include @@ -426,7 +445,6 @@ static void writeMaskLF( OutputBuffer& o_rOutputBuf, int height, bool bInvert ) { writeMask_(o_rOutputBuf,str,width,height,bInvert); } - int PDFOutDev::parseFont( long long nNewId, GfxFont* gfxFont, const GfxState* state ) const { FontAttributes aNewFont; @@ -1163,6 +1181,50 @@ void PDFOutDev::setSkipImages( bool bSkipImages ) m_bSkipImages = bSkipImages; } +#if POPPLER_CHECK_VERSION(21, 3, 0) +poppler_bool PDFOutDev::tilingPatternFill(GfxState *, Gfx *, Catalog *, + GfxTilingPattern *tPat, const double *mat, + int x0, int y0, int x1, int y1, + double xStep, double yStep) +{ +const double *pBbox = tPat->getBBox(); +const int nPaintType = tPat->getPaintType(); +double nWidth = pBbox[2] - pBbox[0]; +double nHeight = pBbox[3] - pBbox[1]; + +// If our wrapper is skipping images then we don't need to do anything +// but return 'true' so that Poppler doesn't do the slow method +if (m_bSkipImages) +return true; + +// Copied from the Cairo output dev; I think this is patterns +// with gaps, let poppler do the slow method for now. +if (xStep != nWidth || yStep != nHeight) +return false; + +printf( "tilingPatternFill %d %d %d %d %f %f " +"%d " +"%f %f %f %f %f %f", // No ending space! + +x0, y0, x1, y1, normalize(xStep), normalize(yStep), + +nPaintType, + +normalize(mat[0]), normalize(mat[1]), +normalize(mat[2]), normalize(mat[3]), +normalize(mat[4]), normalize(mat[5]) +); + +// TODO: Write the image + +// If we return false here we can fall back to the slow path +return true; +} + +// This could be implemented for earlier versions, but the interface keeps +// changing a little; not having it is only a problem for inputs with +// large patterns. +#endif } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx index b34fad1ba90a..f38bf423423b 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx @@ -283,6 +283,13 @@ namespace pdfi static void setPageNum( int nNumPages ); void setSkipImages ( bool bSkipImages ); +#if POPPLER_CHECK_VERSION(21, 3, 0) +poppler_bool useTilingPatternFill() override { return false; }; +poppler_bool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, + GfxTilingPattern *tPat, const double *mat, + int x0, int y0, int x1, int y1, + double xStep, double yStep) override; +#endif }; }
core.git: external/poppler
external/poppler/StaticLibrary_poppler.mk | 13 + external/poppler/disable-freetype.patch.1 | 68 ++ external/poppler/poppler-config.patch.1 |2 3 files changed, 82 insertions(+), 1 deletion(-) New commits: commit 18a1c3d6c98348d4e3da6e6c9740d6923ab2fba1 Author: Dr. David Alan Gilbert AuthorDate: Thu Jan 11 01:26:04 2024 + Commit: Noel Grandin CommitDate: Thu Feb 29 08:20:20 2024 +0100 tdf#113050 poppler: Enable splash Enable the splash module, to be used in the xpdf conversion for tiled patterns. I've jumped through a couple of hoops to avoid splash bringing in freetype, extending the existing hack. This might cause us problems if someone tries to use text as a tile, but otherwise isOK. Change-Id: I76ad1268f44137ae5e3205d56170c3a7c55a2dc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163560 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk index 7b6f958245ac..726663d983a4 100644 --- a/external/poppler/StaticLibrary_poppler.mk +++ b/external/poppler/StaticLibrary_poppler.mk @@ -136,6 +136,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ UnpackedTarball/poppler/poppler/SecurityHandler \ UnpackedTarball/poppler/poppler/SignatureInfo \ UnpackedTarball/poppler/poppler/Sound \ + UnpackedTarball/poppler/poppler/SplashOutputDev \ UnpackedTarball/poppler/poppler/Stream \ UnpackedTarball/poppler/poppler/StructElement \ UnpackedTarball/poppler/poppler/StructTreeRoot \ @@ -146,7 +147,19 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\ UnpackedTarball/poppler/poppler/UnicodeTypeTable \ UnpackedTarball/poppler/poppler/ViewerPreferences \ UnpackedTarball/poppler/poppler/XRef \ + UnpackedTarball/poppler/splash/Splash \ UnpackedTarball/poppler/splash/SplashBitmap \ + UnpackedTarball/poppler/splash/SplashClip \ + UnpackedTarball/poppler/splash/SplashFont \ + UnpackedTarball/poppler/splash/SplashFontEngine \ + UnpackedTarball/poppler/splash/SplashFontFile \ + UnpackedTarball/poppler/splash/SplashFontFileID \ + UnpackedTarball/poppler/splash/SplashPath \ + UnpackedTarball/poppler/splash/SplashPattern \ + UnpackedTarball/poppler/splash/SplashScreen \ + UnpackedTarball/poppler/splash/SplashState \ + UnpackedTarball/poppler/splash/SplashXPath \ + UnpackedTarball/poppler/splash/SplashXPathScanner \ )) # vim: set noet sw=4 ts=4: diff --git a/external/poppler/disable-freetype.patch.1 b/external/poppler/disable-freetype.patch.1 index 3c4d1d0f7a8a..d12374f088f9 100644 --- a/external/poppler/disable-freetype.patch.1 +++ b/external/poppler/disable-freetype.patch.1 @@ -39,3 +39,71 @@ disable freetype dependent code } std::string Form::getFallbackFontForChar(Unicode uChar, const GfxFont ) const +--- poppler/splash/SplashFontEngine.cc.orig2024-02-21 01:28:10.479645185 + popller/splash/SplashFontEngine.cc 2023-09-05 22:15:14.0 +0100 +@@ -66,9 +66,9 @@ + delete font; + } + +-if (ftEngine) { +-delete ftEngine; +-} ++//if (ftEngine) { ++//delete ftEngine; ++//} + } + + SplashFontFile *SplashFontEngine::getFontFile(SplashFontFileID *id) +--- poppler/splash/SplashFTFontEngine.h.orig 2023-09-05 22:15:14.0 +0100 poppler/splash/SplashFTFontEngine.h2024-02-21 13:53:29.715423742 + +@@ -26,8 +26,8 @@ + #ifndef SPLASHFTFONTENGINE_H + #define SPLASHFTFONTENGINE_H + +-#include +-#include FT_FREETYPE_H ++//#include ++//#include FT_FREETYPE_H + + class SplashFontFile; + class SplashFontFileID; +@@ -40,7 +40,7 @@ + class SplashFTFontEngine + { + public: +-static SplashFTFontEngine *init(bool aaA, bool enableFreeTypeHintingA, bool enableSlightHinting); ++static SplashFTFontEngine *init(bool aaA, bool enableFreeTypeHintingA, bool enableSlightHinting) { return nullptr; }; + + ~SplashFTFontEngine(); + +@@ -48,22 +48,22 @@ + SplashFTFontEngine =(const SplashFTFontEngine &) = delete; + + // Load fonts. +-SplashFontFile *loadType1Font(SplashFontFileID *idA, SplashFontSrc *src, const char **enc); +-SplashFontFile *loadType1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc); +-SplashFontFile *loadOpenTypeT1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc); +-SplashFontFile *loadCIDFont(SplashFontFileID *idA, SplashFontSrc *src); +-SplashFontFile *loadOpenTypeCFFFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen); +-SplashFontFile *loadTrueTypeFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen, int faceIndex = 0); ++SplashFontFile *loadType1Font(SplashFontFileID *idA,
core.git: sc/source
sc/source/filter/excel/xistyle.cxx |2 +- sc/source/filter/excel/xlpage.cxx |2 +- sc/source/filter/excel/xltools.cxx | 10 +- 3 files changed, 7 insertions(+), 7 deletions(-) New commits: commit c78679b349573d718f8641071928d5f2edb47efa Author: Keldin Maldonado (KNM) AuthorDate: Sun Feb 25 21:13:35 2024 -0800 Commit: Ilmari Lauhakangas CommitDate: Thu Feb 29 08:19:54 2024 +0100 tdf#147021 replace SAL_N_ELEMENTS() with std::size() Change-Id: I2a415e7c20d134d400e48745278597b475076d52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163927 Tested-by: Jenkins Tested-by: Ilmari Lauhakangas Reviewed-by: Ilmari Lauhakangas diff --git a/sc/source/filter/excel/xistyle.cxx b/sc/source/filter/excel/xistyle.cxx index 15ce0ce667c4..223eed9924f8 100644 --- a/sc/source/filter/excel/xistyle.cxx +++ b/sc/source/filter/excel/xistyle.cxx @@ -967,7 +967,7 @@ bool lclConvertBorderLine( ::editeng::SvxBorderLine& rLine, const XclImpPalette& if( nXclLine == EXC_LINE_NONE ) return false; -if( nXclLine >= SAL_N_ELEMENTS( ppnLineParam ) ) +if( nXclLine >= std::size( ppnLineParam ) ) nXclLine = EXC_LINE_THIN; rLine.SetColor( rPalette.GetColor( nXclColor ) ); diff --git a/sc/source/filter/excel/xlpage.cxx b/sc/source/filter/excel/xlpage.cxx index 937aa9427f31..dfcdbccde45d 100644 --- a/sc/source/filter/excel/xlpage.cxx +++ b/sc/source/filter/excel/xlpage.cxx @@ -193,7 +193,7 @@ void XclPageData::SetDefaults() Size XclPageData::GetScPaperSize() const { const XclPaperSize* pEntry = pPaperSizeTable; -if( mnPaperSize < SAL_N_ELEMENTS( pPaperSizeTable ) ) +if( mnPaperSize < std::size( pPaperSizeTable ) ) pEntry += mnPaperSize; Size aSize; diff --git a/sc/source/filter/excel/xltools.cxx b/sc/source/filter/excel/xltools.cxx index 35ef279161cb..c6ecb31ed6d5 100644 --- a/sc/source/filter/excel/xltools.cxx +++ b/sc/source/filter/excel/xltools.cxx @@ -352,7 +352,7 @@ Color XclTools::GetPatternColor( const Color& rPattColor, const Color& rBackColo 0x40, 0x40, 0x20, 0x60, 0x60, 0x60, 0x60, 0x48, // 08 - 15 0x50, 0x70, 0x78// 16 - 18 }; -return (nXclPattern < SAL_N_ELEMENTS( pnRatioTable )) ? +return (nXclPattern < std::size( pnRatioTable )) ? ScfTools::GetMixedColor( rPattColor, rBackColor, pnRatioTable[ nXclPattern ] ) : rPattColor; } @@ -478,10 +478,10 @@ const char* const ppcDefNames[] = OUString XclTools::GetXclBuiltInDefName( sal_Unicode cBuiltIn ) { -OSL_ENSURE( SAL_N_ELEMENTS( ppcDefNames ) == EXC_BUILTIN_UNKNOWN, +OSL_ENSURE( std::size( ppcDefNames ) == EXC_BUILTIN_UNKNOWN, "XclTools::GetXclBuiltInDefName - built-in defined name list modified" ); -if( cBuiltIn < SAL_N_ELEMENTS( ppcDefNames ) ) +if( cBuiltIn < std::size( ppcDefNames ) ) return OUString::createFromAscii(ppcDefNames[cBuiltIn]); else return OUString::number(cBuiltIn); @@ -553,7 +553,7 @@ OUString XclTools::GetBuiltInStyleName( sal_uInt8 nStyleId, std::u16string_view else { OUStringBuffer aBuf(maStyleNamePrefix1); -if( nStyleId < SAL_N_ELEMENTS( ppcStyleNames ) ) +if( nStyleId < std::size( ppcStyleNames ) ) aBuf.appendAscii(ppcStyleNames[nStyleId]); else if (!rName.empty()) aBuf.append(rName); @@ -590,7 +590,7 @@ bool XclTools::IsBuiltInStyleName( const OUString& rStyleName, sal_uInt8* pnStyl nPrefixLen = strlen(maStyleNamePrefix2); if( nPrefixLen > 0 ) { -for( sal_uInt8 nId = 0; nId < SAL_N_ELEMENTS( ppcStyleNames ); ++nId ) +for( sal_uInt8 nId = 0; nId < std::size( ppcStyleNames ); ++nId ) { if( nId != EXC_STYLE_NORMAL ) {
[Bug 147021] Use std::size() or std::ssize() instead of SAL_N_ELEMENTS() macro
https://bugs.documentfoundation.org/show_bug.cgi?id=147021 --- Comment #47 from Commit Notification --- Keldin Maldonado (KNM) committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/c78679b349573d718f8641071928d5f2edb47efa tdf#147021 replace SAL_N_ELEMENTS() with std::size() It will be available in 24.8.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159926] Cursor Writer
https://bugs.documentfoundation.org/show_bug.cgi?id=159926 samuele.bio...@comune.spresiano.tv.it changed: What|Removed |Added Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED -- You are receiving this mail because: You are the assignee for the bug.
[Bug 51925] [BASIC] Writer Table getColumns().getByIndex(i) returns null, where it should not
https://bugs.documentfoundation.org/show_bug.cgi?id=51925 --- Comment #15 from sander --- The problem still exists: BASIC-runtime-fout. Objectvariabele niet ingesteld. My macro: Sub test3 Dim oDoc As Object Dim oTables As Object Dim oTable As Object Dim i As Integer ' Haal het huidige document op oDoc = ThisComponent ' Haal alle tabellen in het document op oTables = oDoc.getTextTables() ' Loop door elke tabel en pas de kolombreedtes aan For i = 0 To oTables.getCount() - 1 oTable = oTables.getByIndex(i) oTable.Columns.getByIndex(0).Width = 8900 ' 8,9 cm oTable.Columns.getByIndex(1).Width = 1000 ' 1 cm oTable.Columns.getByIndex(2).Width = 9700 ' 9,7 cm Next i End Sub Error occurs on: oTable.Columns.getByIndex(0).Width -- You are receiving this mail because: You are the assignee for the bug.
[Bug 99584] Optimal-width columns too small to print (data appears as '#' chars)
https://bugs.documentfoundation.org/show_bug.cgi?id=99584 Stéphane Guillou (stragu) changed: What|Removed |Added See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=15 ||9945 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159945] (Regression since 7.6) Optimal-width columns too small (shows '#' chars)
https://bugs.documentfoundation.org/show_bug.cgi?id=159945 Stéphane Guillou (stragu) changed: What|Removed |Added See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=99 ||584 Status|UNCONFIRMED |NEEDINFO CC||stephane.guillou@libreoffic ||e.org Ever confirmed|0 |1 --- Comment #4 from Stéphane Guillou (stragu) --- (In reply to m_a_riosv from comment #2) > Macro fails for me in line: > 262: Same for me, "data type mismatch". Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 5234ef71c7459506236d4d0dfe7beb5f00d8cc41 CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: threaded Version: 24.2.1.1 (X86_64) / LibreOffice Community Build ID: 359ef544e625d2ffbfced462ab37bd593ca85fa7 CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: threaded MSFT sheet is still created, but only one row of data in the table. Using Optimal Width + 0 does not give me the ### issue. Can you test again and maybe provide a new version of the file? -- You are receiving this mail because: You are the assignee for the bug.
core.git: sfx2/source
sfx2/source/view/viewfrm.cxx |2 ++ 1 file changed, 2 insertions(+) New commits: commit c39b832e85ae9e172f51c77c40d74949afcc0ac3 Author: Stephan Bergmann AuthorDate: Wed Feb 28 16:33:59 2024 +0100 Commit: Stephan Bergmann CommitDate: Thu Feb 29 07:54:30 2024 +0100 Avoid -Werror,-Wunused-but-set-variable for ENABLE_WASM_STRIP_PINGUSER ...after 607740654f2264e13469e4da1d020448217d7222 "Resolves tdf#131550 - Suppress Donate/Involve infobar if another is visible" Change-Id: I1d788a0f71a5baa8ce427631485643f0fd6e626d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164102 Tested-by: Jenkins Reviewed-by: Stephan Bergmann diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx index 31fd9471455c..20e56a6c4076 100644 --- a/sfx2/source/view/viewfrm.cxx +++ b/sfx2/source/view/viewfrm.cxx @@ -1714,6 +1714,8 @@ void SfxViewFrame::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint ) officecfg::Setup::Product::LastTimeDonateShown::set(nNow, batch); batch->commit(); } +#else +(void) bIsInfobarShown; #endif break;
core.git: udkapi/org udkapi/UnoApi_udkapi.mk unotest/source
udkapi/UnoApi_udkapi.mk |1 + udkapi/org/libreoffice/embindtest/Enum.idl | 21 + udkapi/org/libreoffice/embindtest/XTest.idl |4 unotest/source/embindtest/embindtest.cxx| 26 ++ unotest/source/embindtest/embindtest.js | 16 5 files changed, 68 insertions(+) New commits: commit 6cc09586f583e6509cf7bda052f365ddc3bca16e Author: Stephan Bergmann AuthorDate: Wed Feb 28 15:50:35 2024 +0100 Commit: Stephan Bergmann CommitDate: Thu Feb 29 07:54:11 2024 +0100 Test Embind'ing of UNO enums Change-Id: I87d55236ee09b80aadcc95e2c0f06f15b9e24a44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164100 Tested-by: Jenkins Reviewed-by: Stephan Bergmann diff --git a/udkapi/UnoApi_udkapi.mk b/udkapi/UnoApi_udkapi.mk index 15164a798006..34117950d64e 100644 --- a/udkapi/UnoApi_udkapi.mk +++ b/udkapi/UnoApi_udkapi.mk @@ -523,6 +523,7 @@ $(eval $(call gb_UnoApi_add_idlfiles,udkapi,com/sun/star/util,\ ifeq ($(OS)-$(ENABLE_DBGUTIL),EMSCRIPTEN-TRUE) $(eval $(call gb_UnoApi_add_idlfiles,udkapi,org/libreoffice/embindtest, \ Constants \ +Enum \ Struct \ XTest \ )) diff --git a/udkapi/org/libreoffice/embindtest/Enum.idl b/udkapi/org/libreoffice/embindtest/Enum.idl new file mode 100644 index ..9056687aa0a6 --- /dev/null +++ b/udkapi/org/libreoffice/embindtest/Enum.idl @@ -0,0 +1,21 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +module org { module libreoffice { module embindtest { + +enum Enum { +E_10 = -10, +E_2 = -2, +E1 = 1, +E3 = 3 +}; + +}; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/udkapi/org/libreoffice/embindtest/XTest.idl b/udkapi/org/libreoffice/embindtest/XTest.idl index 36aae5c7c394..f64a3857e863 100644 --- a/udkapi/org/libreoffice/embindtest/XTest.idl +++ b/udkapi/org/libreoffice/embindtest/XTest.idl @@ -34,6 +34,8 @@ interface XTest { boolean isChar([in] char value); string getString(); boolean isString([in] string value); +Enum getEnum(); +boolean isEnum([in] Enum value); Struct getStruct(); boolean isStruct([in] Struct value); sequence getSequenceBoolean(); @@ -62,6 +64,8 @@ interface XTest { boolean isSequenceString([in] sequence value); sequence > getSequenceSequenceString(); boolean isSequenceSequenceString([in] sequence > value); +sequence getSequenceEnum(); +boolean isSequenceEnum([in] sequence value); sequence getSequenceStruct(); boolean isSequenceStruct([in] sequence value); }; diff --git a/unotest/source/embindtest/embindtest.cxx b/unotest/source/embindtest/embindtest.cxx index 152afe551e5b..2a9cdfc4de3a 100644 --- a/unotest/source/embindtest/embindtest.cxx +++ b/unotest/source/embindtest/embindtest.cxx @@ -76,6 +76,16 @@ public: sal_Bool SAL_CALL isString(OUString const& value) override { return value == u"hä"; } +org::libreoffice::embindtest::Enum SAL_CALL getEnum() override +{ +return org::libreoffice::embindtest::Enum_E_2; +} + +sal_Bool SAL_CALL isEnum(org::libreoffice::embindtest::Enum value) override +{ +return value == org::libreoffice::embindtest::Enum_E_2; +} + org::libreoffice::embindtest::Struct SAL_CALL getStruct() override { return { -123456, 100.5, u"hä"_ustr }; @@ -217,6 +227,22 @@ public: { u"baz"_ustr } }; } +css::uno::Sequence SAL_CALL getSequenceEnum() override +{ +return { org::libreoffice::embindtest::Enum_E_2, org::libreoffice::embindtest::Enum_E3, + org::libreoffice::embindtest::Enum_E_10 }; +} + +sal_Bool SAL_CALL +isSequenceEnum(css::uno::Sequence const& value) override +{ +return value + == css::uno::Sequence{ + org::libreoffice::embindtest::Enum_E_2, org::libreoffice::embindtest::Enum_E3, + org::libreoffice::embindtest::Enum_E_10 + }; +} + css::uno::Sequence SAL_CALL getSequenceStruct() override { return { { -123456, -100.5, u"foo"_ustr }, diff --git a/unotest/source/embindtest/embindtest.js b/unotest/source/embindtest/embindtest.js index 4eb9e60832e6..1978c9cc4ec7 100644 --- a/unotest/source/embindtest/embindtest.js +++ b/unotest/source/embindtest/embindtest.js @@ -84,6 +84,12 @@ Module.addOnPostRun(function() { console.assert(v === 'hä'); console.assert(test.isString(v)); } +{ +let v =
core.git: static/source udkapi/org udkapi/UnoApi_udkapi.mk unotest/source
static/source/embindmaker/embindmaker.cxx | 62 +--- udkapi/UnoApi_udkapi.mk |1 udkapi/org/libreoffice/embindtest/Constants.idl | 27 ++ unotest/source/embindtest/embindtest.js | 20 +++ 4 files changed, 104 insertions(+), 6 deletions(-) New commits: commit 6064939d40119877eb65d5f0ce80f65d9fac53da Author: Stephan Bergmann AuthorDate: Wed Feb 28 14:57:35 2024 +0100 Commit: Stephan Bergmann CommitDate: Thu Feb 29 07:53:54 2024 +0100 Embind support for constant groups The constants are only reflected directly as JS values in the generated *.js file. Reflecting them via emscripten::constant in the generated *.cxx did not work well: Most importantly, emscripten::constant (and its underlying _embind_register_constant) coerce all values to double, so UNO (unsigned) hyper would not survive as JS BigInt, which would then cause e.g. > console.assert(test.isHyper(uno.org.libreoffice.embindtest.Constants.Hyper)); passing such a (JS number, not BigInt) value into the org.libreoffice.embindtest.XTest::isHyper method (which expects a UNO hyper) to fail. (Also, constants of UNO boolean type would be represented as numbers 0/1 rather than as false/true.) Change-Id: I056db0ccce0bf40eb53728fd439cc74964eb6951 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164097 Tested-by: Jenkins Reviewed-by: Stephan Bergmann diff --git a/static/source/embindmaker/embindmaker.cxx b/static/source/embindmaker/embindmaker.cxx index 37175d100cdf..89fdf834ea1d 100644 --- a/static/source/embindmaker/embindmaker.cxx +++ b/static/source/embindmaker/embindmaker.cxx @@ -25,6 +25,7 @@ #include #include +#include #include #include #include @@ -169,17 +170,66 @@ void scan(rtl::Reference const& cursor, std::u16string_view p break; } case unoidl::Entity::SORT_ENUM_TYPE: -module->mappings.emplace_back(id, "uno_Type_" + jsName(name)); +module->mappings.emplace_back(id, "instance.uno_Type_" + jsName(name)); enums.emplace_back(name); break; case unoidl::Entity::SORT_PLAIN_STRUCT_TYPE: -module->mappings.emplace_back(id, "uno_Type_" + jsName(name)); +module->mappings.emplace_back(id, "instance.uno_Type_" + jsName(name)); structs.emplace_back(name); break; case unoidl::Entity::SORT_INTERFACE_TYPE: -module->mappings.emplace_back(id, "uno_Type_" + jsName(name)); +module->mappings.emplace_back(id, "instance.uno_Type_" + jsName(name)); interfaces.emplace_back(name); break; +case unoidl::Entity::SORT_CONSTANT_GROUP: +{ +auto const& members += static_cast(ent.get())->getMembers(); +if (!members.empty()) +{ +auto sub = std::make_shared(); +for (auto const& member : members) +{ +OUString value; +switch (member.value.type) +{ +case unoidl::ConstantValue::TYPE_BOOLEAN: +value = member.value.booleanValue ? u"true"_ustr : u"false"_ustr; +break; +case unoidl::ConstantValue::TYPE_BYTE: +value = OUString::number(member.value.byteValue); +break; +case unoidl::ConstantValue::TYPE_SHORT: +value = OUString::number(member.value.shortValue); +break; +case unoidl::ConstantValue::TYPE_UNSIGNED_SHORT: +value = OUString::number(member.value.unsignedShortValue); +break; +case unoidl::ConstantValue::TYPE_LONG: +value = OUString::number(member.value.longValue); +break; +case unoidl::ConstantValue::TYPE_UNSIGNED_LONG: +value = OUString::number(member.value.unsignedLongValue); +break; +case unoidl::ConstantValue::TYPE_HYPER: +value = OUString::number(member.value.hyperValue) + "n"; +break; +case unoidl::ConstantValue::TYPE_UNSIGNED_HYPER: +value = OUString::number(member.value.unsignedHyperValue) + "n"; +break; +case
[Bug 159690] Manual line break forces automatic Wrap Text
https://bugs.documentfoundation.org/show_bug.cgi?id=159690 --- Comment #17 from ady --- An update on this behavior. While now tdf#159938 is solved (LO Dev. built on 2024-02-29), which allows to *unset* the wrap text attribute and save it, we still have a problem in tdf#159690. 1. On an empty cell, introduce text that includes a manual line break (using [CTRL]+[ENTER] where the manual line break should be located within the text). 2. Press [ENTER] to finish the introduction of the text (which includes the manual line break). 2. Move the focus back to the above cell. At the moment we finished editing the cell, it also received the Wrap Text attribute, just because there is a manual line break in it. Before LO 24.2.0, the Wrap Text was not automatically applied (which was/is the expected behavior). So, now that tdf#159938 is solved, the Wrap Text is not necessarily _forced_ (i.e. we can unset it and save), but it is still automatically initially applied. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 157047] clicking on Properties under File cause program to hang
https://bugs.documentfoundation.org/show_bug.cgi?id=157047 Julien Nabet changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED |NEEDINFO --- Comment #3 from Julien Nabet --- Before putting back to unconfirmed, please respond to the questions asked in my previous comment. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 99584] Optimal-width columns too small to print (data appears as '#' chars)
https://bugs.documentfoundation.org/show_bug.cgi?id=99584 --- Comment #13 from Stéphane Guillou (stragu) --- (note that issue on canvas might depend on zoom level, so please always test at 100%) -- You are receiving this mail because: You are the assignee for the bug.
[Bug 108364] [META] Table/Row/Column/Cell management function bugs and enhancements
https://bugs.documentfoundation.org/show_bug.cgi?id=108364 Stéphane Guillou (stragu) changed: What|Removed |Added Depends on||99584 Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=99584 [Bug 99584] Optimal-width columns too small to print (data appears as '#' chars) -- You are receiving this mail because: You are the assignee for the bug.
[Bug 99584] Optimal-width columns too small to print (data appears as '#' chars)
https://bugs.documentfoundation.org/show_bug.cgi?id=99584 Stéphane Guillou (stragu) changed: What|Removed |Added CC||stephane.guillou@libreoffic ||e.org Version|4.2.1.1 release |Inherited From OOo Blocks||108364 --- Comment #12 from Stéphane Guillou (stragu) --- I don't have the "Sans" font used. In OOo 3.3, LO 6.0 and 7.6, font makes a difference: - with fallback, shows numbers on canvas but ### on print preview. (as OP) - with Liberation Sans, numbers shown in both cases. (OK) Version: 7.6.5.2 (X86_64) / LibreOffice Community Build ID: 38d5f62f85355c192ef5f1dd47c5c0c0c6d6598b CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: threaded In 24.2 and 24.8, results are the same regardless of if I use Liberation Sans or the fallback font: ### on canvas, but numbers shown in print preview. So the opposite of what OP describes! Version: 24.2.1.1 (X86_64) / LibreOffice Community Build ID: 359ef544e625d2ffbfced462ab37bd593ca85fa7 CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: threaded Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 5234ef71c7459506236d4d0dfe7beb5f00d8cc41 CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: threaded Maybe that recent change is related to bug 159945. Note that the "use printer metrics" options were removed from the options dialog in LO 7.6 (see https://wiki.documentfoundation.org/ReleaseNotes/7.5#Feature_Removal_/_Deprecation and bug 131136). Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=108364 [Bug 108364] [META] Table/Row/Column/Cell management function bugs and enhancements -- You are receiving this mail because: You are the assignee for the bug.
core.git: vcl/source
vcl/source/window/builder.cxx |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) New commits: commit 08d265144421deed247c23af36b0a6d41c35bf1f Author: Noel Grandin AuthorDate: Wed Feb 28 16:41:04 2024 +0200 Commit: Noel Grandin CommitDate: Thu Feb 29 07:38:25 2024 +0100 assert on failure to load .ui file otherwise I get hard to diagnose SIGSEGV further on in other code Change-Id: Ic0397c7dd532f639482dfc2ee9ec36b32023fb5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164099 Tested-by: Jenkins Reviewed-by: Noel Grandin diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 7c77fad75a53..de5c5ea1bbce 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -476,8 +476,9 @@ VclBuilder::VclBuilder(vcl::Window* pParent, const OUString& sUIDir, const OUStr } catch (const css::uno::Exception ) { -DBG_UNHANDLED_EXCEPTION("vcl.builder", "Unable to read .ui file"); +TOOLS_WARN_EXCEPTION("vcl.builder", "Unable to read .ui file " << sUIDir << sUIFile); CrashReporter::addKeyValue("VclBuilderException", "Unable to read .ui file: " + rExcept.Message, CrashReporter::Write); +assert(false && "missing ui file or missing gb_CppunitTest_use_uiconfigs dependency"); throw; }
[Bug 112139] [META] Options dialog's Languages and Locales settings bugs and enhancements
https://bugs.documentfoundation.org/show_bug.cgi?id=112139 Stéphane Guillou (stragu) changed: What|Removed |Added Summary|[META] Options dialog's |[META] Options dialog's |Language settings bugs and |Languages and Locales |enhancements|settings bugs and ||enhancements --- Comment #2 from Stéphane Guillou (stragu) --- Called "Languages and Locales" since LO 24.2 and fix for bug 157716. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159800] Charts are lost when on a sheet with a comma in the name
https://bugs.documentfoundation.org/show_bug.cgi?id=159800 jollytall changed: What|Removed |Added Ever confirmed|1 |0 Status|NEEDINFO|UNCONFIRMED --- Comment #3 from jollytall --- Sorry, comment lost when file attached. So, again: How it was made: Calc started Data entered Chart created with one mouse click in the toolbar and then "Finished" Sheet renamed Sheet copied with Ctrl-Mouse drag - Chart is empty, no data series in it File saved -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159800] Charts are lost when on a sheet with a comma in the name
https://bugs.documentfoundation.org/show_bug.cgi?id=159800 --- Comment #2 from jollytall --- Created attachment 192857 --> https://bugs.documentfoundation.org/attachment.cgi?id=192857=edit The test file -- You are receiving this mail because: You are the assignee for the bug.
core.git: include/rtl sc/source
include/rtl/math.hxx | 14 ++ sc/source/filter/excel/xlchart.cxx |3 +-- sc/source/filter/excel/xltools.cxx | 13 - 3 files changed, 7 insertions(+), 23 deletions(-) New commits: commit 40336ee0b4acf4e359fef696c6c2a6b3fa9718e7 Author: Mike Kaganski AuthorDate: Thu Feb 29 11:14:10 2024 +0600 Commit: Mike Kaganski CommitDate: Thu Feb 29 07:24:00 2024 +0100 Simplify a bit Change-Id: I9fbc43916fe0d7af87001e48854a87636115a1f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164133 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/include/rtl/math.hxx b/include/rtl/math.hxx index 661ddf1d131d..604cefcb6b2c 100644 --- a/include/rtl/math.hxx +++ b/include/rtl/math.hxx @@ -431,28 +431,18 @@ inline bool isSignBitSet(double d) */ inline void setInf(double * pd, bool bNegative) { -union -{ -double sd; -sal_math_Double md; -}; +sal_math_Double& md = *reinterpret_cast(pd); md.w32_parts.msw = bNegative ? 0xFFF0 : 0x7FF0; md.w32_parts.lsw = 0; -*pd = sd; } /** Set a QNAN. */ inline void setNan(double * pd) { -union -{ -double sd; -sal_math_Double md; -}; +sal_math_Double& md = *reinterpret_cast(pd); md.w32_parts.msw = 0x7FFF; md.w32_parts.lsw = 0x; -*pd = sd; } /** If a value is a valid argument for sin(), cos(), tan(). diff --git a/sc/source/filter/excel/xlchart.cxx b/sc/source/filter/excel/xlchart.cxx index 011d4578ff6f..c916b9d7dfbd 100644 --- a/sc/source/filter/excel/xlchart.cxx +++ b/sc/source/filter/excel/xlchart.cxx @@ -197,8 +197,7 @@ XclChSerTrendLine::XclChSerTrendLine() : /* Set all bits in mfIntercept to 1 (that is -1.#NAN) to indicate that there is no interception point. Cannot use ::rtl::math::setNan() here cause it misses the sign bit. */ -sal_math_Double* pDouble = reinterpret_cast< sal_math_Double* >( ); -pDouble->w32_parts.msw = pDouble->w32_parts.lsw = 0x; +reinterpret_cast()->intrep = 0x; } XclChSerErrorBar::XclChSerErrorBar() : diff --git a/sc/source/filter/excel/xltools.cxx b/sc/source/filter/excel/xltools.cxx index 3a69e7da06a7..35ef279161cb 100644 --- a/sc/source/filter/excel/xltools.cxx +++ b/sc/source/filter/excel/xltools.cxx @@ -97,18 +97,13 @@ const XclGuid XclTools::maGuidFileMoniker( double XclTools::GetDoubleFromRK( sal_Int32 nRKValue ) { -union -{ -double fVal; -sal_math_Double smD; -}; -fVal = 0.0; +sal_math_Double smD{}; if( ::get_flag( nRKValue, EXC_RK_INTFLAG ) ) { sal_Int32 nTemp = nRKValue >> 2; ::set_flag< sal_Int32 >( nTemp, 0xE000, nRKValue < 0 ); -fVal = nTemp; +smD.value = nTemp; } else { @@ -116,9 +111,9 @@ double XclTools::GetDoubleFromRK( sal_Int32 nRKValue ) } if( ::get_flag( nRKValue, EXC_RK_100FLAG ) ) -fVal /= 100.0; +smD.value /= 100.0; -return fVal; +return smD.value; } bool XclTools::GetRKFromDouble( sal_Int32& rnRKValue, double fValue )
[Bug 159953] "Compatibility" section is now empty in Tools > Options > LibreOffice Draw > General
https://bugs.documentfoundation.org/show_bug.cgi?id=159953 Stéphane Guillou (stragu) changed: What|Removed |Added See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=13 ||1136 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159953] New: "Compatibility" section is now empty in Tools > Options > LibreOffice Draw > General
https://bugs.documentfoundation.org/show_bug.cgi?id=159953 Bug ID: 159953 Summary: "Compatibility" section is now empty in Tools > Options > LibreOffice Draw > General Product: LibreOffice Version: 7.5.0.0 alpha0+ Hardware: All OS: All Status: UNCONFIRMED Severity: minor Priority: low Component: Draw Assignee: libreoffice-bugs@lists.freedesktop.org Reporter: stephane.guil...@libreoffice.org Blocks: 102187 Minor, but looks bad: heading "Compatibility" heading is useless since the Printer Metrics settings was removed for bug 131136. Steps: 1. Draw > Tools > Options > LibreOffice Draw > General Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 5234ef71c7459506236d4d0dfe7beb5f00d8cc41 CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: threaded Same on Windows. Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=102187 [Bug 102187] [META] Options dialog bugs and enhancements -- You are receiving this mail because: You are the assignee for the bug.
[Bug 102187] [META] Options dialog bugs and enhancements
https://bugs.documentfoundation.org/show_bug.cgi?id=102187 Stéphane Guillou (stragu) changed: What|Removed |Added Depends on||159953 Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=159953 [Bug 159953] "Compatibility" section is now empty in Tools > Options > LibreOffice Draw > General -- You are receiving this mail because: You are the assignee for the bug.
[Bug 143187] Calc: Delete Tools>Options>LibreOffice Calc>Compatibility page
https://bugs.documentfoundation.org/show_bug.cgi?id=143187 Stéphane Guillou (stragu) changed: What|Removed |Added CC||stephane.guillou@libreoffic ||e.org --- Comment #10 from Stéphane Guillou (stragu) --- Since 24.2 and the fix for bug 156611, we have a "Hyperlinks" option in there. Close as "won't fix"? -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159952] New: Unwanted Scrolling to document centre when editing inline OLE math objects in Writer
https://bugs.documentfoundation.org/show_bug.cgi?id=159952 Bug ID: 159952 Summary: Unwanted Scrolling to document centre when editing inline OLE math objects in Writer Product: LibreOffice Version: 7.6.5.2 release Hardware: All OS: Linux (All) Status: UNCONFIRMED Severity: normal Priority: medium Component: Writer Assignee: libreoffice-bugs@lists.freedesktop.org Reporter: riley@outlook.com Description: When editing Math OLE objects in large >40 page documents in Writer, the view scrolls to the centre of the document. It's worth noting that swapping from multi-page view to single-page view also scrolls to the centre of the document. Removing the config lines listed below fix the issue, however only while in single-page view. Compared to as before, where even single page view also carries the issue. As the file with the issue is quite large, it is linked here: https://1drv.ms/u/s!AoYsSr_u9khPgoB7wix3M__rKPWEjA?e=SUgG51 A video of the problem occurring is here: https://imgur.com/a/B64yn5j The offending config lines are here: https://pastebin.com/raw/ERLq4Uu6 Steps to Reproduce: 1. Include the given lines to the "registrymodifcations.xcu" config file 2. Open >40 Page file with >20MB of data 3. Edit Math inline OLE object (anchored as text) below the halfway mark of the document 4. Profit. Actual Results: The viewer of LibreOffice Math scrolls ~midway of the document, showing an unrelated portion of the document. This happens upon entering and exiting the math editor. OLE objects above the halfway mark are unaffected. Expected Results: The viewer should instead maintain the view originally from Writer, as it does from midway-upwards. Reproducible: Always User Profile Reset: Yes Additional Info: Version: 24.2.0.3 (X86_64) / LibreOffice Community Build ID: 420(Build:3) CPU threads: 12; OS: Linux 6.7; UI render: default; VCL: kf5 (cairo+xcb) Locale: en-CA (en_CA.UTF-8); UI: en-US 24.2.0-2 Calc: CL threaded -- You are receiving this mail because: You are the assignee for the bug.
[Bug 145490] Bitdefender flagged the 2021.10.31 download of LO Dev infected with a virus
https://bugs.documentfoundation.org/show_bug.cgi?id=145490 Stéphane Guillou (stragu) changed: What|Removed |Added See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=15 ||9905 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159905] 24.2.2, bitdefender virus report
https://bugs.documentfoundation.org/show_bug.cgi?id=159905 Stéphane Guillou (stragu) changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||cl...@documentfoundation.or ||g Resolution|--- |NOTOURBUG See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=14 ||5490 --- Comment #4 from Stéphane Guillou (stragu) --- Thanks, so you got it directly from TDF, which should be safe. It was built by this tinderbox: https://ci.libreoffice.org/computer/tb77/ We can assume it's a false positive and "not our bug", but please do report it to BitDefender. See also bug 145490. Cloph, out of interest: is there a way to verify daily MSIs, or is it only possible for releases? -- You are receiving this mail because: You are the assignee for the bug.
core.git: sc/inc sc/source
sc/inc/dpoutput.hxx | 68 ++-- sc/source/core/data/dpoutput.cxx | 550 +++ 2 files changed, 305 insertions(+), 313 deletions(-) New commits: commit 3e2147537f84bf6ca2f81e3e9a267b5db4bc1788 Author: Tomaž Vajngerl AuthorDate: Tue Feb 27 13:34:33 2024 +0900 Commit: Tomaž Vajngerl CommitDate: Thu Feb 29 06:56:12 2024 +0100 sc: prefix ScDPOutput members Change-Id: I628854772a2a13d113e2b488a78f0f72d2fa66c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164036 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl diff --git a/sc/inc/dpoutput.hxx b/sc/inc/dpoutput.hxx index 94decfa44466..9c9c068c603e 100644 --- a/sc/inc/dpoutput.hxx +++ b/sc/inc/dpoutput.hxx @@ -46,45 +46,43 @@ struct ScDPOutLevelData; class ScDPOutput { private: -ScDocument* pDoc; -css::uno::Reference< css::sheet::XDimensionsSupplier> xSource; -ScAddress aStartPos; -std::vector pColFields; -std::vector pRowFields; -std::vector pPageFields; -css::uno::Sequence< css::uno::Sequence< css::sheet::DataResult> > aData; -OUStringaDataDescription; +ScDocument* mpDocument; +css::uno::Reference mxSource; +ScAddress maStartPos; +std::vector mpColFields; +std::vector mpRowFields; +std::vector mpPageFields; +css::uno::Sequence> maData; +OUString maDataDescription; // Number format related parameters -std::unique_ptr -pColNumFmt; -std::unique_ptr -pRowNumFmt; -std::vector aRowCompactFlags; -sal_Int32 nColFmtCount; -sal_Int32 nRowFmtCount; -sal_uInt32 nSingleNumFmt; -size_t nRowDims; // Including empty ones. +std::unique_ptr mpColNumberFormat; +std::unique_ptr mpRowNumberFormat; +std::vector maRowCompactFlags; +sal_Int32 mnColFormatCount; +sal_Int32 mnRowFormatCount; +sal_uInt32 mnSingleNumberFormat; +size_t mnRowDims; // Including empty ones. // Output geometry related parameters -sal_Int32 nColCount; -sal_Int32 nRowCount; -sal_Int32 nHeaderSize; -SCCOL nTabStartCol; -SCROW nTabStartRow; -SCCOL nMemberStartCol; -SCROW nMemberStartRow; -SCCOL nDataStartCol; -SCROW nDataStartRow; -SCCOL nTabEndCol; -SCROW nTabEndRow; -boolbDoFilter:1; -boolbResultsError:1; -boolbSizesValid:1; -boolbSizeOverflow:1; -boolmbHeaderLayout:1; // true : grid, false : standard -boolmbHasCompactRowField:1; // true: at least one of the row fields has compact layout. -boolmbExpandCollapse:1; // true: show expand/collapse buttons +sal_Int32 mnColCount; +sal_Int32 mnRowCount; +sal_Int32 mnHeaderSize; +SCCOL mnTabStartCol; +SCROW mnTabStartRow; +SCCOL mnMemberStartCol; +SCROW mnMemberStartRow; +SCCOL mnDataStartCol; +SCROW mnDataStartRow; +SCCOL mnTabEndCol; +SCROW mnTabEndRow; +bool mbDoFilter:1; +bool mbResultsError:1; +bool mbSizesValid:1; +bool mbSizeOverflow:1; +bool mbHeaderLayout:1; // true : grid, false : standard +bool mbHasCompactRowField:1; // true: at least one of the row fields has compact layout. +bool mbExpandCollapse:1; // true: show expand/collapse buttons voidDataCell( SCCOL nCol, SCROW nRow, SCTAB nTab, const css::sheet::DataResult& rData ); diff --git a/sc/source/core/data/dpoutput.cxx b/sc/source/core/data/dpoutput.cxx index c74f43d10bd7..a0e87f19415a 100644 --- a/sc/source/core/data/dpoutput.cxx +++ b/sc/source/core/data/dpoutput.cxx @@ -506,36 +506,36 @@ uno::Sequence getVisiblePageMembersAsResults( const uno::Re } -ScDPOutput::ScDPOutput( ScDocument* pD, uno::Reference xSrc, -const ScAddress& rPos, bool bFilter, bool bExpandCollapse ) : -pDoc( pD ), -xSource(std::move( xSrc )), -aStartPos( rPos ), -nColFmtCount( 0 ), -nRowFmtCount( 0 ), -nSingleNumFmt( 0 ), -nRowDims( 0 ), -nColCount(0), -nRowCount(0), -nHeaderSize(0), -bDoFilter(bFilter), -bResultsError(false), -bSizesValid(false), -bSizeOverflow(false), -mbHeaderLayout(false), -mbHasCompactRowField(false), -mbExpandCollapse(bExpandCollapse) +ScDPOutput::ScDPOutput(ScDocument* pDocument, uno::Reference xSource, + const ScAddress& rPosition, bool bFilter, bool bExpandCollapse) +: mpDocument(pDocument) +, mxSource(std::move(xSource)) +, maStartPos(rPosition) +,
[Bug 159356] Table of Contents will not show correctly in LO but shows correctly in MSO and OnlyOffice
https://bugs.documentfoundation.org/show_bug.cgi?id=159356 --- Comment #7 from tom1willi...@yandex.com --- Created attachment 192856 --> https://bugs.documentfoundation.org/attachment.cgi?id=192856=edit The background of the cover page looks different see my final question -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159356] Table of Contents will not show correctly in LO but shows correctly in MSO and OnlyOffice
https://bugs.documentfoundation.org/show_bug.cgi?id=159356 --- Comment #6 from tom1willi...@yandex.com --- Thank you very much for looking into my problem! I am looking forward to using Libre Office 24.2.1. May I ask one more question? This is not worth opening a new ticket. In this case I think LO 7.6 is correct and OnlyOffice DE is incorrect. In this new attached file how can the background of the cover page look totally different between LO 7.6 and the latest SNAP version of OnlyOffice Desktop Editors? Which software is correct? Does this symptom indicate a problem of some kind in either office suite? -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159951] Crashes immediately at startup of every component on a brand new Win11 notebook
https://bugs.documentfoundation.org/show_bug.cgi?id=159951 Stéphane Guillou (stragu) changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED |NEEDINFO CC||stephane.guillou@libreoffic ||e.org --- Comment #1 from Stéphane Guillou (stragu) --- Thank you for the report. I don't see that with: Version: 7.6.5.2 (X86_64) / LibreOffice Community Build ID: 38d5f62f85355c192ef5f1dd47c5c0c0c6d6598b CPU threads: 4; OS: Windows 10.0 Build 22631; UI render: Skia/Raster; VCL: win Locale: en-US (en_US); UI: en-US Calc: threaded - Which locale do you use? - Does it also happen with LO 24.2? - If it does, could you please see if the issue is still reproducible with a daily build from https://dev-builds.libreoffice.org/daily/master/current.html ? -- You are receiving this mail because: You are the assignee for the bug.
[Bug 154353] Libre writer crashes many times
https://bugs.documentfoundation.org/show_bug.cgi?id=154353 Stéphane Guillou (stragu) changed: What|Removed |Added CC||stephane.guillou@libreoffic ||e.org --- Comment #5 from Stéphane Guillou (stragu) --- For good measure, I could not reproduce on: Version: 7.6.5.2 (X86_64) / LibreOffice Community Build ID: 38d5f62f85355c192ef5f1dd47c5c0c0c6d6598b CPU threads: 4; OS: Windows 10.0 Build 22631; UI render: Skia/Raster; VCL: win Locale: en-US (en_US); UI: en-US Calc: threaded Calete, if you still see this issue in 7.6 or 24.2, please let us know! -- You are receiving this mail because: You are the assignee for the bug.
[Bug 158026] all apps crash if i don’t open LibreOffice first
https://bugs.documentfoundation.org/show_bug.cgi?id=158026 --- Comment #17 from Stéphane Guillou (stragu) --- (In reply to Stéphane Guillou (stragu) from comment #16) > Now that bug 157135 is fixed, you could verify Buovjaga's theory by testing > a daily build of 24.2 (hm actually, wait for an extra build after 2024-02-28, to make sure it includes the fix. Alternatively, you can straight away use a daily master build: https://dev-builds.libreoffice.org/daily/master/current.html) -- You are receiving this mail because: You are the assignee for the bug.
[Bug 157047] clicking on Properties under File cause program to hang
https://bugs.documentfoundation.org/show_bug.cgi?id=157047 RichardB changed: What|Removed |Added Status|NEEDINFO|UNCONFIRMED Ever confirmed|1 |0 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 158026] all apps crash if i don’t open LibreOffice first
https://bugs.documentfoundation.org/show_bug.cgi?id=158026 Stéphane Guillou (stragu) changed: What|Removed |Added Status|UNCONFIRMED |NEEDINFO Ever confirmed|0 |1 --- Comment #16 from Stéphane Guillou (stragu) --- Now that bug 157135 is fixed, you could verify Buovjaga's theory by testing a daily build of 24.2: https://dev-builds.libreoffice.org/daily/libreoffice-24-2/Win-x86_64@tb77-TDF/current/ Please let us know if it still crashes. -- You are receiving this mail because: You are the assignee for the bug.
core.git: sal/rtl
sal/rtl/math.cxx |5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) New commits: commit 0ccf447843b3a94e1a6b09e5f123f9636e24d78a Author: Mike Kaganski AuthorDate: Thu Feb 29 08:39:21 2024 +0600 Commit: Mike Kaganski CommitDate: Thu Feb 29 05:43:38 2024 +0100 Simplify a bit Change-Id: I90e26030cb7a002bfd76cbc7aa73a5d3ea7a7f1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164132 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/sal/rtl/math.cxx b/sal/rtl/math.cxx index 5b6c780b5001..766bde5d92b9 100644 --- a/sal/rtl/math.cxx +++ b/sal/rtl/math.cxx @@ -397,8 +397,7 @@ double stringToDouble(CharT const* pBegin, CharT const* pEnd, CharT cDecSeparato // overflow also if more than DBL_MAX_10_EXP digits without decimal // separator, or 0. and more than DBL_MIN_10_EXP digits, ... -bool bHuge = fVal == HUGE_VAL; // g++ 3.0.1 requires it this way... -if (bHuge) +if (std::isinf(fVal)) eStatus = rtl_math_ConversionStatus_OutOfRange; if (bSign) @@ -581,7 +580,7 @@ double SAL_CALL rtl_math_pow10Exp(double fValue, int nExp) SAL_THROW_EXTERN_C() double SAL_CALL rtl_math_approxValue(double fValue) SAL_THROW_EXTERN_C() { const double fBigInt = 0x1p41; // 2^41 -> only 11 bits left for fractional part, fine as decimal -if (fValue == 0.0 || fValue == HUGE_VAL || !std::isfinite(fValue) || fValue > fBigInt) +if (fValue == 0.0 || !std::isfinite(fValue) || fValue > fBigInt) { // We don't handle these conditions. Bail out. return fValue;
[Bug 159809] Variable undefined error occurs when macro is password protected (Japanese)
https://bugs.documentfoundation.org/show_bug.cgi?id=159809 --- Comment #2 from Saburo --- Wrapping the macro name in [] didn't work. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159420] EDITING Autofilter for empty cells disabled when by Autofilter in other column empty cells filtered out
https://bugs.documentfoundation.org/show_bug.cgi?id=159420 Kevin Suo changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|libreoffice-b...@lists.free |xiscofa...@libreoffice.org |desktop.org | -- You are receiving this mail because: You are the assignee for the bug.
[Bug 158252] FILESAVE XLSX Line breaks in cells disappear
https://bugs.documentfoundation.org/show_bug.cgi?id=158252 --- Comment #7 from Mike Kaganski --- Ah - commit 1760ee4d328cfb6ba22a5b3c84016625b12adb25 explicitly dropped this from the export. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 158252] FILESAVE XLSX Line breaks in cells disappear
https://bugs.documentfoundation.org/show_bug.cgi?id=158252 --- Comment #6 from Mike Kaganski --- Possibly the change in commit 17e362e56f9e15d0214c441e632c91d22e58519d could be replaced by a code specific to export. That would fix bug 159690, too. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159809] Variable undefined error occurs when macro is password protected (Japanese)
https://bugs.documentfoundation.org/show_bug.cgi?id=159809 Saburo changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #1 from Saburo --- reproduced If the library is unprotected, it can be executed, but if it is protected, the Japanese macro name will be ??? and cannot be executed. Version: 7.6.5.2 (X86_64) / LibreOffice Community Build ID: 38d5f62f85355c192ef5f1dd47c5c0c0c6d6598b CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win Locale: ja-JP (ja_JP); UI: en-US Calc: threaded -- You are receiving this mail because: You are the assignee for the bug.
[Bug 141288] "page break before" of hidden paragraph is shown
https://bugs.documentfoundation.org/show_bug.cgi?id=141288 --- Comment #8 from Mike Kaganski --- Still repro with Version: 24.2.1.2 (X86_64) / LibreOffice Community Build ID: db4def46b0453cc22e2d0305797cf981b68ef5ac CPU threads: 24; OS: Windows 10.0 Build 22631; UI render: default; VCL: win Locale: ru-RU (ru_RU); UI: en-US Calc: CL threaded and with current master. This is an interoperability problem: hiding a paragraph in Word (selecting it as a whole, and setting "Hidden" character property) would hide the break (if the hidden text is displayed on screen, this would be visible on print preview). This is also a consistency issue: if you put that paragraph to a section instead, and make the *section* hidden, then the break will disappear. Commit 0c96119895b347f8eb5bb89f393351bd3c02b9f1 can be used as a rough code pointer (not an easyhack). -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159721] Strange behavior of bullet points for stuff copied as HTML from the Internet via clipboard
https://bugs.documentfoundation.org/show_bug.cgi?id=159721 QA Administrators changed: What|Removed |Added Whiteboard|| QA:needsComment -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159725] [LOCALHELP] Add description for VBA function ExportAsFixedFormat
https://bugs.documentfoundation.org/show_bug.cgi?id=159725 QA Administrators changed: What|Removed |Added Whiteboard|| QA:needsComment -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159722] UI: Sometimes strange behavior when you want to place a hyperlink to position in the same document
https://bugs.documentfoundation.org/show_bug.cgi?id=159722 QA Administrators changed: What|Removed |Added Whiteboard|| QA:needsComment -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159905] 24.2.2, bitdefender virus report
https://bugs.documentfoundation.org/show_bug.cgi?id=159905 QA Administrators changed: What|Removed |Added Status|NEEDINFO|UNCONFIRMED Ever confirmed|1 |0 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159905] 24.2.2, bitdefender virus report
https://bugs.documentfoundation.org/show_bug.cgi?id=159905 --- Comment #3 from QA Administrators --- [Automated Action] NeedInfo-To-Unconfirmed -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159904] Menu bar disappears when coming out of full screen if template selection dialog is open
https://bugs.documentfoundation.org/show_bug.cgi?id=159904 QA Administrators changed: What|Removed |Added Ever confirmed|1 |0 Status|NEEDINFO|UNCONFIRMED -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159904] Menu bar disappears when coming out of full screen if template selection dialog is open
https://bugs.documentfoundation.org/show_bug.cgi?id=159904 --- Comment #4 from QA Administrators --- [Automated Action] NeedInfo-To-Unconfirmed -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159782] Issues with the footer on Calc
https://bugs.documentfoundation.org/show_bug.cgi?id=159782 QA Administrators changed: What|Removed |Added Status|NEEDINFO|UNCONFIRMED Ever confirmed|1 |0 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 159782] Issues with the footer on Calc
https://bugs.documentfoundation.org/show_bug.cgi?id=159782 --- Comment #8 from QA Administrators --- [Automated Action] NeedInfo-To-Unconfirmed -- You are receiving this mail because: You are the assignee for the bug.
[Bug 156292] Unknown words cannot be added to Spanish (or other) dictionary
https://bugs.documentfoundation.org/show_bug.cgi?id=156292 QA Administrators changed: What|Removed |Added Resolution|--- |INSUFFICIENTDATA Status|NEEDINFO|RESOLVED -- You are receiving this mail because: You are the assignee for the bug.
[Bug 157047] clicking on Properties under File cause program to hang
https://bugs.documentfoundation.org/show_bug.cgi?id=157047 --- Comment #2 from QA Administrators --- Dear RichardB, This bug has been in NEEDINFO status with no change for at least 6 months. Please provide the requested information as soon as possible and mark the bug as UNCONFIRMED. Due to regular bug tracker maintenance, if the bug is still in NEEDINFO status with no change in 30 days the QA team will close the bug as INSUFFICIENTDATA due to lack of needed information. For more information about our NEEDINFO policy please read the wiki located here: https://wiki.documentfoundation.org/QA/Bugzilla/Fields/Status/NEEDINFO If you have already provided the requested information, please mark the bug as UNCONFIRMED so that the QA team knows that the bug is ready to be confirmed. Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-NeedInfo-Ping -- You are receiving this mail because: You are the assignee for the bug.
[Bug 156292] Unknown words cannot be added to Spanish (or other) dictionary
https://bugs.documentfoundation.org/show_bug.cgi?id=156292 --- Comment #4 from QA Administrators --- Dear Henry, Please read this message in its entirety before proceeding. Your bug report is being closed as INSUFFICIENTDATA due to inactivity and a lack of information which is needed in order to accurately reproduce and confirm the problem. We encourage you to retest your bug against the latest release. If the issue is still present in the latest stable release, we need the following information (please ignore any that you've already provided): a) Provide details of your system including your operating system and the latest version of LibreOffice that you have confirmed the bug to be present b) Provide easy to reproduce steps – the simpler the better c) Provide any test case(s) which will help us confirm the problem d) Provide screenshots of the problem if you think it might help e) Read all comments and provide any requested information Once all of this is done, please set the bug back to UNCONFIRMED and we will attempt to reproduce the issue. Please do not: a) respond via email b) update the version field in the bug or any of the other details on the top section of our bug tracker Warm Regards, QA Team MassPing-NeedInfo-FollowUp -- You are receiving this mail because: You are the assignee for the bug.
[Bug 154961] Enhancement needed: option to preserve recent Find targets at FileSave dialog box to be available at next session reopening same document in Writer
https://bugs.documentfoundation.org/show_bug.cgi?id=154961 --- Comment #4 from QA Administrators --- Dear carrt7, This bug has been in NEEDINFO status with no change for at least 6 months. Please provide the requested information as soon as possible and mark the bug as UNCONFIRMED. Due to regular bug tracker maintenance, if the bug is still in NEEDINFO status with no change in 30 days the QA team will close the bug as INSUFFICIENTDATA due to lack of needed information. For more information about our NEEDINFO policy please read the wiki located here: https://wiki.documentfoundation.org/QA/Bugzilla/Fields/Status/NEEDINFO If you have already provided the requested information, please mark the bug as UNCONFIRMED so that the QA team knows that the bug is ready to be confirmed. Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-NeedInfo-Ping -- You are receiving this mail because: You are the assignee for the bug.
[Bug 156740] Labels Selection
https://bugs.documentfoundation.org/show_bug.cgi?id=156740 --- Comment #2 from QA Administrators --- Dear jonmcghee77, This bug has been in NEEDINFO status with no change for at least 6 months. Please provide the requested information as soon as possible and mark the bug as UNCONFIRMED. Due to regular bug tracker maintenance, if the bug is still in NEEDINFO status with no change in 30 days the QA team will close the bug as INSUFFICIENTDATA due to lack of needed information. For more information about our NEEDINFO policy please read the wiki located here: https://wiki.documentfoundation.org/QA/Bugzilla/Fields/Status/NEEDINFO If you have already provided the requested information, please mark the bug as UNCONFIRMED so that the QA team knows that the bug is ready to be confirmed. Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-NeedInfo-Ping -- You are receiving this mail because: You are the assignee for the bug.
[Bug 99852] FORMATTING Assign style to Impress table cell does not work
https://bugs.documentfoundation.org/show_bug.cgi?id=99852 --- Comment #10 from QA Administrators --- Dear Ulrich Gemkow, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug -- You are receiving this mail because: You are the assignee for the bug.
[Bug 88914] Microsoft Advertising PDF Import deadlock
https://bugs.documentfoundation.org/show_bug.cgi?id=88914 --- Comment #9 from QA Administrators --- Dear Philip, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug -- You are receiving this mail because: You are the assignee for the bug.
[Bug 80392] Endless page counting on opening or editing a particular DOCX
https://bugs.documentfoundation.org/show_bug.cgi?id=80392 --- Comment #35 from QA Administrators --- Dear Hkais, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug -- You are receiving this mail because: You are the assignee for the bug.
[Bug 130669] Android (CO): wrong symbol spaces in Math formula in slide show mode
https://bugs.documentfoundation.org/show_bug.cgi?id=130669 --- Comment #6 from QA Administrators --- Dear Roman Kuznetsov, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug -- You are receiving this mail because: You are the assignee for the bug.
[Bug 141288] "page break before" of hidden paragraph is shown
https://bugs.documentfoundation.org/show_bug.cgi?id=141288 --- Comment #7 from QA Administrators --- Dear Sven, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug -- You are receiving this mail because: You are the assignee for the bug.
[Bug 130050] sidebar table property rowheight = 0 if set automatic
https://bugs.documentfoundation.org/show_bug.cgi?id=130050 --- Comment #6 from QA Administrators --- Dear andreas_k, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug -- You are receiving this mail because: You are the assignee for the bug.
[Bug 149485] "Show Whitespace" condition changes other documents look
https://bugs.documentfoundation.org/show_bug.cgi?id=149485 Stéphane Guillou (stragu) changed: What|Removed |Added See Also|https://bugs.documentfounda | |tion.org/show_bug.cgi?id=14 | |9486| -- You are receiving this mail because: You are the assignee for the bug.
[Bug 152889] View->Show Whitespace is reset after File->Print
https://bugs.documentfoundation.org/show_bug.cgi?id=152889 Stéphane Guillou (stragu) changed: What|Removed |Added See Also|https://bugs.documentfounda | |tion.org/show_bug.cgi?id=14 | |9486| -- You are receiving this mail because: You are the assignee for the bug.
[Bug 108629] [META] Ruler bugs and enhancements
https://bugs.documentfoundation.org/show_bug.cgi?id=108629 Stéphane Guillou (stragu) changed: What|Removed |Added Depends on|149486 | Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=149486 [Bug 149486] When you turn off the "Show Whitespace" condition you can see on the vertical ruler like there is the margin there. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 118451] Vertical Ruler is not Adapted if Whitespace is Hidden (still denotes margins)
https://bugs.documentfoundation.org/show_bug.cgi?id=118451 Stéphane Guillou (stragu) changed: What|Removed |Added CC||libreoff...@nisz.hu --- Comment #9 from Stéphane Guillou (stragu) --- *** Bug 149486 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are the assignee for the bug.
[Bug 146315] [META] Show/Hide Whitespace bugs and enhancements
https://bugs.documentfoundation.org/show_bug.cgi?id=146315 Stéphane Guillou (stragu) changed: What|Removed |Added Depends on|149486 | Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=149486 [Bug 149486] When you turn off the "Show Whitespace" condition you can see on the vertical ruler like there is the margin there. -- You are receiving this mail because: You are the assignee for the bug.
[Bug 149486] When you turn off the "Show Whitespace" condition you can see on the vertical ruler like there is the margin there.
https://bugs.documentfoundation.org/show_bug.cgi?id=149486 Stéphane Guillou (stragu) changed: What|Removed |Added Status|NEW |RESOLVED See Also|https://bugs.documentfounda | |tion.org/show_bug.cgi?id=39 | |080,| |https://bugs.documentfounda | |tion.org/show_bug.cgi?id=15 | |2889, | |https://bugs.documentfounda | |tion.org/show_bug.cgi?id=14 | |9485| Resolution|--- |DUPLICATE Blocks|108629, 146315 | --- Comment #6 from Stéphane Guillou (stragu) --- Already tracked in bug 118451. *** This bug has been marked as a duplicate of bug 118451 *** Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=108629 [Bug 108629] [META] Ruler bugs and enhancements https://bugs.documentfoundation.org/show_bug.cgi?id=146315 [Bug 146315] [META] Show/Hide Whitespace bugs and enhancements -- You are receiving this mail because: You are the assignee for the bug.
[Bug 146315] [META] Show/Hide Whitespace bugs and enhancements
https://bugs.documentfoundation.org/show_bug.cgi?id=146315 Stéphane Guillou (stragu) changed: What|Removed |Added Depends on||118451 Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=118451 [Bug 118451] Vertical Ruler is not Adapted if Whitespace is Hidden (still denotes margins) -- You are receiving this mail because: You are the assignee for the bug.
[Bug 118451] Vertical Ruler is not Adapted if Whitespace is Hidden (still denotes margins)
https://bugs.documentfoundation.org/show_bug.cgi?id=118451 Stéphane Guillou (stragu) changed: What|Removed |Added CC||stephane.guillou@libreoffic ||e.org Summary|Vertical Ruler is not |Vertical Ruler is not |Adapted if Whitespace is|Adapted if Whitespace is |Hidden |Hidden (still denotes ||margins) OS|Windows (All) |All Blocks||146315 --- Comment #8 from Stéphane Guillou (stragu) --- Still the case in recent trunk build, affects Linux too: Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 5234ef71c7459506236d4d0dfe7beb5f00d8cc41 CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: threaded Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=146315 [Bug 146315] [META] Show/Hide Whitespace bugs and enhancements -- You are receiving this mail because: You are the assignee for the bug.
core.git: sal/rtl tools/source
sal/rtl/math.cxx | 29 ++--- tools/source/generic/fract.cxx | 24 +++- tools/source/misc/fix16.cxx| 31 +++ 3 files changed, 12 insertions(+), 72 deletions(-) New commits: commit c2dca161c0ed455a962d23f8e2fcb64143c5e674 Author: Mike Kaganski AuthorDate: Thu Feb 29 07:39:32 2024 +0600 Commit: Mike Kaganski CommitDate: Thu Feb 29 04:01:48 2024 +0100 Use instead of platform-specific intrinsics Change-Id: I79636ff9c3b2fe601b0b3c94a111b36af0011775 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164131 Tested-by: Jenkins Reviewed-by: Mike Kaganski diff --git a/sal/rtl/math.cxx b/sal/rtl/math.cxx index fe45b90a8297..5b6c780b5001 100644 --- a/sal/rtl/math.cxx +++ b/sal/rtl/math.cxx @@ -24,6 +24,7 @@ #include #include +#include #include #include #include @@ -118,18 +119,6 @@ bool isRepresentableInteger(double fAbsValue) return nInt == fAbsValue; } -// Returns 1-based index of least significant bit in a number, or zero if number is zero -int findFirstSetBit(unsigned n) -{ -#if defined _WIN32 -unsigned long pos; -unsigned char bNonZero = _BitScanForward(, n); -return (bNonZero == 0) ? 0 : pos + 1; -#else -return __builtin_ffs(n); -#endif -} - /** Returns number of binary bits for fractional part of the number Expects a proper non-negative double value, not +-INF, not NAN */ @@ -138,19 +127,13 @@ int getBitsInFracPart(double fAbsValue) assert(std::isfinite(fAbsValue) && fAbsValue >= 0.0); if (fAbsValue == 0.0) return 0; -auto pValParts = reinterpret_cast(); -int nExponent = pValParts->inf_parts.exponent - 1023; +auto& rValParts = reinterpret_cast()->parts; +int nExponent = rValParts.exponent - 1023; if (nExponent >= 52) return 0; // All bits in fraction are in integer part of the number -int nLeastSignificant = findFirstSetBit(pValParts->inf_parts.fraction_lo); -if (nLeastSignificant == 0) -{ -nLeastSignificant = findFirstSetBit(pValParts->inf_parts.fraction_hi); -if (nLeastSignificant == 0) -nLeastSignificant = 53; // the implied leading 1 is the least significant -else -nLeastSignificant += 32; -} +int nLeastSignificant = rValParts.fraction +? std::countr_zero(rValParts.fraction) + 1 +: 53; // the implied leading 1 is the least significant int nFracSignificant = 53 - nLeastSignificant; int nBitsInFracPart = nFracSignificant - nExponent; diff --git a/tools/source/generic/fract.cxx b/tools/source/generic/fract.cxx index abe8ee41b206..7dfddf50a880 100644 --- a/tools/source/generic/fract.cxx +++ b/tools/source/generic/fract.cxx @@ -25,18 +25,16 @@ #include #include +#include #include #include #include -#ifdef _MSC_VER -#include -#endif - static boost::rational rational_FromDouble(double dVal); static void rational_ReduceInaccurate(boost::rational& rRational, unsigned nSignificantBits); -static int impl_NumberOfBits( sal_uInt32 nNum ); +// Find the number of bits required to represent this number +static int impl_NumberOfBits(sal_uInt32 nNum) { return 32 - std::countl_zero(nNum); } static boost::rational toRational(sal_Int32 n, sal_Int32 d) { @@ -406,22 +404,6 @@ static boost::rational rational_FromDouble(double dVal) return boost::rational( sal_Int32(dVal), nDen ); } -/** - * Find the number of bits required to represent this number, using the CLZ intrinsic - */ -static int impl_NumberOfBits( sal_uInt32 nNum ) -{ -if (nNum == 0) -return 0; -#ifdef _MSC_VER -unsigned long r = 0; -_BitScanReverse(, nNum); -return r + 1; -#else -return 32 - __builtin_clz(nNum); -#endif -} - /** Inaccurate cancellation for a fraction. Clip both nominator and denominator to said number of bits. If diff --git a/tools/source/misc/fix16.cxx b/tools/source/misc/fix16.cxx index 978f77291dce..58c40704d931 100644 --- a/tools/source/misc/fix16.cxx +++ b/tools/source/misc/fix16.cxx @@ -24,6 +24,8 @@ #include +#include + const fix16_t fix16_minimum = 0x8000; /*!< the minimum value of fix16_t */ const fix16_t fix16_overflow = 0x8000; /*!< the value used to indicate overflows */ @@ -74,33 +76,6 @@ fix16_t fix16_mul(fix16_t inArg0, fix16_t inArg1) return result; } -/* 32-bit implementation of fix16_div. Fastest version for e.g. ARM Cortex M3. - * Performs 32-bit divisions repeatedly to reduce the remainder. For this to - * be efficient, the processor has to have 32-bit hardware division. - */ -#ifdef __GNUC__ -// Count leading zeros, using processor-specific instruction if available. -#define clz(x) (__builtin_clzl(x) - (8 * sizeof(long) - 32)) -#else -static uint8_t clz(uint32_t x) -{ -uint8_t result = 0; -if (x == 0) -return 32; -while (!(x & 0xF000)) -
[Bug 159936] calc function problem
https://bugs.documentfoundation.org/show_bug.cgi?id=159936 Mike Kaganski changed: What|Removed |Added Resolution|--- |NOTABUG Status|UNCONFIRMED |RESOLVED --- Comment #3 from Mike Kaganski --- (In reply to Masaru Nakanishi from comment #2) > Is this a problem specific to the Japanese environment? The *B functions are invented (by Microsoft? Or maybe Lotus?) specifically for CJK environments. However, the functions also work in other environments. But yes, there is a difference in Japanese environment, that two specific characters (REVERSE SOLIDUS U+005c "\" and EURO SIGN U+20ac "€") also considered two-byte, unlike in all other environments. Their purpose was (back then, in pre-Unicode era, when they were introduced) to provide you the correct byte length of the string (because specific characters took 2 bytes in the DBCS encodings). These functions would only be needed when you need to count bytes, not characters (maybe when you intend to write stuff to files?). And in Calc, where the internal encoding is UFT-16, it makes almost no sense. However, the functions are there for interoperability. But here you deal with *characters*, not bytes. Thus, just avoid functions that try to work with "bytes". Indeed, as I mentioned in comment 1, using LENB/MIDB, you will tell the program to use "halves of characters". Trying to add half of any character to your string makes no sense. And the implementation [1] adds a space instead of such a half-character, as you see. So, according to your reply (using LEN+MID works fine, as expected; LENB+MIDB and a mix produces expected unwanted result), I close it NOTABUG. Thank you! [1] https://opengrok.libreoffice.org/xref/core/sc/source/core/tool/interpr1.cxx?r=c7664873=327585=9794#9794 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 141843] [META] Bugs when file opened in multiple windows
https://bugs.documentfoundation.org/show_bug.cgi?id=141843 Stéphane Guillou (stragu) changed: What|Removed |Added Depends on||116372 Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=116372 [Bug 116372] VIEWING: Page jumps relative to ruler when switching to another window of the same document -- You are receiving this mail because: You are the assignee for the bug.
[Bug 116372] VIEWING: Page jumps relative to ruler when switching to another window of the same document
https://bugs.documentfoundation.org/show_bug.cgi?id=116372 Stéphane Guillou (stragu) changed: What|Removed |Added Blocks||141843 CC||stephane.guillou@libreoffic ||e.org --- Comment #13 from Stéphane Guillou (stragu) --- Still reproduced with recent trunk build: Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community Build ID: 5234ef71c7459506236d4d0dfe7beb5f00d8cc41 CPU threads: 8; OS: Linux 6.5; UI render: default; VCL: gtk3 Locale: en-AU (en_AU.UTF-8); UI: en-US Calc: threaded Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=141843 [Bug 141843] [META] Bugs when file opened in multiple windows -- You are receiving this mail because: You are the assignee for the bug.
New Defects reported by Coverity Scan for LibreOffice
Hi, Please find the latest report on new defect(s) introduced to LibreOffice found with Coverity Scan. 1 new defect(s) introduced to LibreOffice found with Coverity Scan. 7 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan. New defect(s) Reported-by: Coverity Scan Showing 1 of 1 defect(s) ** CID 1592640: Null pointer dereferences (FORWARD_NULL) /sd/source/ui/slideshow/slideshowimpl.cxx: 1130 in sd::SlideshowImpl::startShow(const sd::PresentationSettingsEx *)() *** CID 1592640: Null pointer dereferences (FORWARD_NULL) /sd/source/ui/slideshow/slideshowimpl.cxx: 1130 in sd::SlideshowImpl::startShow(const sd::PresentationSettingsEx *)() 1124 mpViewShell->GetViewShellBase().ShowUIControls (false); 1125 // Hide the side panes for in-place presentations. 1126 if ( ! maPresSettings.mbFullScreen) 1127 mpPaneHider.reset(new PaneHider(*mpViewShell,this)); 1128 1129 // these Slots are forbidden in other views for this document >>> CID 1592640: Null pointer dereferences (FORWARD_NULL) >>> Dereferencing null pointer "pPresSettings". 1130 if( mpDocSh && !pPresSettings->mbInteractive) // IASS 1131 { 1132 mpDocSh->SetSlotFilter( true, pAllowed ); 1133 mpDocSh->ApplySlotFilter(); 1134 } 1135 To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=u001.AxU2LYlgjL6eX23u9ErQy-2BKADyCpvUKOL6EWmZljiu6VvXBlQRUbS683tC8265rGNPXqJ1ffcoLZCnTuJFQbNcTEkb4XaEQkzovKhJ5DB3c-3DnEde_A9M4dSy7guk8NP6DcfgslOyvJRzavztVIKj6nRqYjYpWom7SJFyX0y710bz0kUGt1tr1i9DQoO7ElOGukyr4SHjOVDWMXgVx3dXiRAReu0G9KraVCIeQhsM5zgCnrFYy0Wr-2FLkgjbxGfTbsLjC3oXwYUNsxmwGHNMquG1C6mBOHOn3YbKHUkDtmsq7OWI00mIxMmshRz231IywiZJZ-2Fm1CMA5c-2BL-2Fyn7X1diIY2DxbI-3D
[Bug 116219] [META] Grid and helplines bugs and enhancements
https://bugs.documentfoundation.org/show_bug.cgi?id=116219 Stéphane Guillou (stragu) changed: What|Removed |Added See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=11 ||2621 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 112621] [META] Snap guide and setting issues
https://bugs.documentfoundation.org/show_bug.cgi?id=112621 Stéphane Guillou (stragu) changed: What|Removed |Added See Also||https://bugs.documentfounda ||tion.org/show_bug.cgi?id=11 ||6219 -- You are receiving this mail because: You are the assignee for the bug.
[Bug 112621] [META] Snap guide and setting issues
https://bugs.documentfoundation.org/show_bug.cgi?id=112621 Stéphane Guillou (stragu) changed: What|Removed |Added Depends on||74317 Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=74317 [Bug 74317] Allow aligning objects by snapping to centre lines of page and other objects (aka "Live Layout") -- You are receiving this mail because: You are the assignee for the bug.
[Bug 74317] Allow aligning objects by snapping to centre lines of page and other objects (aka "Live Layout")
https://bugs.documentfoundation.org/show_bug.cgi?id=74317 Stéphane Guillou (stragu) changed: What|Removed |Added Version|unspecified |Inherited From OOo Summary|Aligning items could be |Allow aligning objects by |simpler |snapping to centre lines of ||page and other objects (aka ||"Live Layout") CC||stephane.guillou@libreoffic ||e.org Hardware|Other |All Blocks||112621 Referenced Bugs: https://bugs.documentfoundation.org/show_bug.cgi?id=112621 [Bug 112621] [META] Snap guide and setting issues -- You are receiving this mail because: You are the assignee for the bug.