[PATCH] fix fdo#47018 Impress pasting destroy bullet
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3479 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/79/3479/1 fix fdo#47018 Impress pasting destroy bullet Implements the attributes loading from SvStream in pasting. This is a modification of commit a95cce27295f9cd255fa72eaded00972e3efb69b which has been reverted in commit 98d594abd42c5aa33d6981f4dd19582c2d345705 due to unnecessary change in editeng/source/items/frmitems.cxx Change-Id: I11ba65f8a4972ab1a6d4f30337a0a779f22cdd35 --- M editeng/inc/editeng/numitem.hxx M editeng/source/items/numitem.cxx 2 files changed, 106 insertions(+), 28 deletions(-) diff --git a/editeng/inc/editeng/numitem.hxx b/editeng/inc/editeng/numitem.hxx index 86f4aef..546f82d 100644 --- a/editeng/inc/editeng/numitem.hxx +++ b/editeng/inc/editeng/numitem.hxx @@ -157,10 +157,12 @@ explicit SvxNumberFormat( sal_Int16 nNumberingType, SvxNumPositionAndSpaceMode ePositionAndSpaceMode = LABEL_WIDTH_AND_POSITION ); SvxNumberFormat(const SvxNumberFormat rFormat); +SvxNumberFormat( SvStream rStream ); virtual ~SvxNumberFormat(); -SvStream Store(SvStream rStream, FontToSubsFontConverter pConverter); +SvStream Store(SvStream rStream); +SvxNumberFormat* Create(SvStream rStream ); SvxNumberFormat operator=( const SvxNumberFormat ); sal_Booloperator==( const SvxNumberFormat ) const; @@ -252,6 +254,7 @@ eDefaultNumberFormatPositionAndSpaceMode = SvxNumberFormat::LABEL_WIDTH_AND_POSITION ); SvxNumRule(const SvxNumRule rCopy); +SvxNumRule(SvStream rStream); virtual ~SvxNumRule(); int operator==( const SvxNumRule ) const; @@ -260,7 +263,7 @@ SvxNumRule operator=( const SvxNumRule ); SvStream Store(SvStream rStream); - +SvxNumRule* Create(SvStream rStream); const SvxNumberFormat* Get(sal_uInt16 nLevel)const; const SvxNumberFormat GetLevel(sal_uInt16 nLevel)const; voidSetLevel(sal_uInt16 nLevel, const SvxNumberFormat rFmt, sal_Bool bIsValid = sal_True); @@ -294,9 +297,9 @@ virtual ~SvxNumBulletItem(); virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; -virtual SfxPoolItem* Create(SvStream , sal_uInt16) const; +virtual SfxPoolItem* Create(SvStream rStream, sal_uInt16 nItemVersion) const; sal_uInt16 GetVersion( sal_uInt16 nFileVersion ) const; -virtual SvStreamStore(SvStream , sal_uInt16 nItemVersion ) const; +virtual SvStreamStore(SvStream rStream, sal_uInt16 nItemVersion ) const; virtual int operator==( const SfxPoolItem ) const; SvxNumRule* GetNumRule() const {return pNumRule;} diff --git a/editeng/source/items/numitem.cxx b/editeng/source/items/numitem.cxx index 7c3ec9c..32b0d96 100644 --- a/editeng/source/items/numitem.cxx +++ b/editeng/source/items/numitem.cxx @@ -28,6 +28,7 @@ #include editeng/editids.hrc #include editeng/editrids.hrc #include editeng/numdef.hxx +#include editeng/eeitem.hxx #include vcl/graph.hxx #include vcl/window.hxx #include vcl/svapp.hxx @@ -177,21 +178,67 @@ *this = rFormat; } +SvxNumberFormat::SvxNumberFormat( SvStream rStream ) +{ +sal_uInt16 nTmp16; +sal_Int32 nTmp32; +rStream nTmp16; // Version number + +rStream nTmp16; SetNumberingType( nTmp16 ); +rStream nTmp16; eNumAdjust = ( SvxAdjust )nTmp16; +rStream nTmp16; nInclUpperLevels = nTmp16; +rStream nStart; +rStream nTmp16; cBullet = (sal_Unicode)nTmp16; + +rStream nFirstLineOffset; +rStream nAbsLSpace; +rStream nLSpace; + +rStream nCharTextDistance; + +sPrefix = rStream.ReadUniOrByteString( rStream.GetStreamCharSet() ); +sSuffix = rStream.ReadUniOrByteString( rStream.GetStreamCharSet() ); +sCharStyleName = rStream.ReadUniOrByteString( rStream.GetStreamCharSet() ); + +sal_uInt16 hasGraphicBrush = 0; +rStream hasGraphicBrush; +if ( hasGraphicBrush ) +{ +pGraphicBrush = new SvxBrushItem( SID_ATTR_BRUSH ); +pGraphicBrush = (SvxBrushItem*)(pGraphicBrush-Create( rStream, BRUSH_GRAPHIC_VERSION )); +} +else pGraphicBrush = 0; +rStream nTmp16; eVertOrient = nTmp16; + +sal_uInt16 hasBulletFont = 0; +rStream hasBulletFont; +if ( hasBulletFont ) +{ +pBulletFont = new Font( ); +rStream *pBulletFont; +} +else pBulletFont = NULL; +rStream aGraphicSize; + +rStream nBulletColor; +rStream nBulletRelSize; +rStream nTmp16; SetShowSymbol( nTmp16 ); + +rStream nTmp16; mePositionAndSpaceMode = ( SvxNumPositionAndSpaceMode )nTmp16; +rStream nTmp16; meLabelFollowedBy = ( LabelFollowedBy )nTmp16; +rStream nTmp32; mnListtabPos = nTmp32; +rStream nTmp32;
[ABANDONED] Some clean up related to copypaste function
Cao Cuong Ngo has abandoned this change. Change subject: Some clean up related to copypaste function .. Patch Set 2: Abandoned Intergrated in https://gerrit.libreoffice.org/#/c/3479/ -- To view, visit https://gerrit.libreoffice.org/3464 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: abandon Gerrit-Change-Id: I3d781468b1878d7c6589ef4a313c66bf00e4d75b Gerrit-PatchSet: 2 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com Gerrit-Reviewer: Eike Rathke er...@redhat.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[ABANDONED] fix fdo#47018 Impress pasting destroy bullet
Cao Cuong Ngo has abandoned this change. Change subject: fix fdo#47018 Impress pasting destroy bullet .. Patch Set 1: Abandoned Merged -- To view, visit https://gerrit.libreoffice.org/3479 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: abandon Gerrit-Change-Id: I11ba65f8a4972ab1a6d4f30337a0a779f22cdd35 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] Some clean up related to copypaste function
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3464 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/64/3464/1 Some clean up related to copypaste function Including SvStream file format version, SvStream character encoding, numbering rule level depth and font conversion. Change-Id: I3d781468b1878d7c6589ef4a313c66bf00e4d75b --- M editeng/inc/editeng/numitem.hxx M editeng/source/editeng/editobj.cxx M editeng/source/items/numitem.cxx 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/editeng/inc/editeng/numitem.hxx b/editeng/inc/editeng/numitem.hxx index f17e9cf..546f82d 100644 --- a/editeng/inc/editeng/numitem.hxx +++ b/editeng/inc/editeng/numitem.hxx @@ -161,7 +161,7 @@ virtual ~SvxNumberFormat(); -SvStream Store(SvStream rStream, FontToSubsFontConverter pConverter); +SvStream Store(SvStream rStream); SvxNumberFormat* Create(SvStream rStream ); SvxNumberFormat operator=( const SvxNumberFormat ); diff --git a/editeng/source/editeng/editobj.cxx b/editeng/source/editeng/editobj.cxx index 8231396..8ef79a1 100644 --- a/editeng/source/editeng/editobj.cxx +++ b/editeng/source/editeng/editobj.cxx @@ -890,7 +890,7 @@ void EditTextObjectImpl::StoreData( SvStream rOStream ) const { -sal_uInt16 nVer = 602; +sal_uInt16 nVer = SOFFICE_FILEFORMAT_CURRENT; rOStream nVer; rOStream static_castsal_Bool(bOwnerOfPool); @@ -1059,6 +1059,7 @@ void EditTextObjectImpl::CreateData( SvStream rIStream ) { rIStream nVersion; +rIStream.SetVersion( nVersion ); // The text object was first created with the current setting of // pTextObjectPool. @@ -1087,6 +1088,7 @@ rIStream nCharSet; rtl_TextEncoding eSrcEncoding = GetSOLoadTextEncoding( (rtl_TextEncoding)nCharSet ); +rIStream.SetStreamCharSet( eSrcEncoding ); // The number of paragraphs ... sal_uInt16 nParagraphs; diff --git a/editeng/source/items/numitem.cxx b/editeng/source/items/numitem.cxx index 7ef42e0..aaf313c 100644 --- a/editeng/source/items/numitem.cxx +++ b/editeng/source/items/numitem.cxx @@ -237,15 +237,8 @@ delete pBulletFont; } -SvStream SvxNumberFormat::Store(SvStream rStream, FontToSubsFontConverter pConverter) +SvStream SvxNumberFormat::Store(SvStream rStream) { -if(pConverter pBulletFont) -{ -cBullet = ConvertFontToSubsFontChar(pConverter, cBullet); -String sFontName = GetFontToSubsFontName(pConverter); -pBulletFont-SetName(sFontName); -} - rStream (sal_uInt16)NUMITEM_VERSION_04; rStream (sal_uInt16)GetNumberingType(); @@ -691,7 +684,9 @@ rStream nTmp16; bContinuousNumbering = nTmp16; rStream nTmp16; eNumberingType = ( SvxNumRuleType )nTmp16; -for (sal_uInt16 i = 0; i SVX_MAX_NUM; i++) +sal_uInt16 nLevels = SVX_MAX_NUM; +rStream nLevels; +for (sal_uInt16 i = 0; i nLevels; i++) { rStream nTmp16; sal_Bool hasNumberingFormat = nTmp16; @@ -723,29 +718,20 @@ rStream(sal_uInt16)bContinuousNumbering; rStream(sal_uInt16)eNumberingType; -FontToSubsFontConverter pConverter = 0; -sal_Bool bConvertBulletFont = ( rStream.GetVersion() = SOFFICE_FILEFORMAT_50 ) ( rStream.GetVersion() ); +//number of levels +rStream(sal_uInt16)SVX_MAX_NUM; for(sal_uInt16 i = 0; i SVX_MAX_NUM; i++) { if(aFmts[i]) { rStream sal_uInt16(1); -if(bConvertBulletFont aFmts[i]-GetBulletFont()) -{ -if(!pConverter) -pConverter = - CreateFontToSubsFontConverter(aFmts[i]-GetBulletFont()-GetName(), - FONTTOSUBSFONT_EXPORT|FONTTOSUBSFONT_ONLYOLDSOSYMBOLFONTS); -} -aFmts[i]-Store(rStream, pConverter); +aFmts[i]-Store(rStream); } else rStream sal_uInt16(0); } //second save of nFeatureFlags for new versions rStream(sal_uInt16)nFeatureFlags; -if(pConverter) -DestroyFontToSubsFontConverter(pConverter); return rStream; } -- To view, visit https://gerrit.libreoffice.org/3464 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I3d781468b1878d7c6589ef4a313c66bf00e4d75b Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] fix fdo#60551 Impress paste destroy bullet
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3369 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/69/3369/1 fix fdo#60551 Impress paste destroy bullet Currently the copy function stores the paragraph attributes to SvStream but the restoration in paste isn't implemented yet! This patch implements the attributes loading from SvStream. However in numpages.cxx, the picking tab currently infer everything as numbering object! So the copy/paste only work with numbering now, not bullet ( will have to fix that bug too ) Change-Id: I58928ca66a83b3fe3c3894a28ccf1e7fe5f661b3 --- M editeng/inc/editeng/numitem.hxx M editeng/source/items/numitem.cxx 2 files changed, 97 insertions(+), 7 deletions(-) diff --git a/editeng/inc/editeng/numitem.hxx b/editeng/inc/editeng/numitem.hxx index 86f4aef..02c997c 100644 --- a/editeng/inc/editeng/numitem.hxx +++ b/editeng/inc/editeng/numitem.hxx @@ -157,10 +157,12 @@ explicit SvxNumberFormat( sal_Int16 nNumberingType, SvxNumPositionAndSpaceMode ePositionAndSpaceMode = LABEL_WIDTH_AND_POSITION ); SvxNumberFormat(const SvxNumberFormat rFormat); +SvxNumberFormat( SvStream rStream, sal_uInt16 _nWhich ); virtual ~SvxNumberFormat(); SvStream Store(SvStream rStream, FontToSubsFontConverter pConverter); +SvxNumberFormat* Create(SvStream rStream, sal_uInt16 _nWhich); SvxNumberFormat operator=( const SvxNumberFormat ); sal_Booloperator==( const SvxNumberFormat ) const; @@ -252,6 +254,7 @@ eDefaultNumberFormatPositionAndSpaceMode = SvxNumberFormat::LABEL_WIDTH_AND_POSITION ); SvxNumRule(const SvxNumRule rCopy); +SvxNumRule(SvStream rStream, sal_uInt16 _nWhich); virtual ~SvxNumRule(); int operator==( const SvxNumRule ) const; @@ -260,7 +263,7 @@ SvxNumRule operator=( const SvxNumRule ); SvStream Store(SvStream rStream); - +SvxNumRule* Create(SvStream rStream, sal_uInt16 _nWhich); const SvxNumberFormat* Get(sal_uInt16 nLevel)const; const SvxNumberFormat GetLevel(sal_uInt16 nLevel)const; voidSetLevel(sal_uInt16 nLevel, const SvxNumberFormat rFmt, sal_Bool bIsValid = sal_True); @@ -294,9 +297,9 @@ virtual ~SvxNumBulletItem(); virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const; -virtual SfxPoolItem* Create(SvStream , sal_uInt16) const; +virtual SfxPoolItem* Create(SvStream rStream, sal_uInt16 nItemVersion) const; sal_uInt16 GetVersion( sal_uInt16 nFileVersion ) const; -virtual SvStreamStore(SvStream , sal_uInt16 nItemVersion ) const; +virtual SvStreamStore(SvStream rStream, sal_uInt16 nItemVersion ) const; virtual int operator==( const SfxPoolItem ) const; SvxNumRule* GetNumRule() const {return pNumRule;} diff --git a/editeng/source/items/numitem.cxx b/editeng/source/items/numitem.cxx index 7c3ec9c..9a42eb1 100644 --- a/editeng/source/items/numitem.cxx +++ b/editeng/source/items/numitem.cxx @@ -28,6 +28,7 @@ #include editeng/editids.hrc #include editeng/editrids.hrc #include editeng/numdef.hxx +#include editeng/eeitem.hxx #include vcl/graph.hxx #include vcl/window.hxx #include vcl/svapp.hxx @@ -177,6 +178,53 @@ *this = rFormat; } +SvxNumberFormat::SvxNumberFormat( SvStream rStream, sal_uInt16 _nWhich ) +{ +sal_uInt16 nTmp16; +sal_Int32 nTmp32; +rStream nTmp16; // Version number + +rStream nTmp16; SetNumberingType( nTmp16 ); +rStream nTmp16; eNumAdjust = ( SvxAdjust )nTmp16; +rStream nTmp16; nInclUpperLevels = nTmp16; +rStream nStart; +rStream nTmp16; cBullet = (sal_Unicode)nTmp16; + +rStream nFirstLineOffset; +rStream nAbsLSpace; +rStream nLSpace; + +rStream nCharTextDistance; + +sPrefix = rStream.ReadUniOrByteString( rStream.GetStreamCharSet() ); +sSuffix = rStream.ReadUniOrByteString( rStream.GetStreamCharSet() ); +sCharStyleName = rStream.ReadUniOrByteString( rStream.GetStreamCharSet() ); + +sal_uInt16 hasGraphicBrush = 0; +rStream hasGraphicBrush; +pGraphicBrush = new SvxBrushItem( _nWhich ); +if ( hasGraphicBrush ) +pGraphicBrush-Create( rStream, BRUSH_GRAPHIC_VERSION ); +rStream nTmp16; eVertOrient = nTmp16; + +sal_uInt16 hasBulletFont = 0; +pBulletFont = new Font( ); +rStream hasBulletFont; +if ( hasBulletFont ) +rStream *pBulletFont; +rStream aGraphicSize; + +rStream nBulletColor; +rStream nBulletRelSize; +rStream nTmp16; SetShowSymbol( nTmp16 ); + +rStream nTmp16; mePositionAndSpaceMode = ( SvxNumPositionAndSpaceMode )nTmp16; +rStream nTmp16; meLabelFollowedBy = ( LabelFollowedBy )nTmp16; +rStream nTmp32; mnListtabPos = nTmp32; +rStream nTmp32;
[ABANDONED] fdo#60551 Impress: pasting text removes bullet
Cao Cuong Ngo has abandoned this change. Change subject: fdo#60551 Impress: pasting text removes bullet .. Patch Set 1: Abandoned A more proper solution is stored everything in SvStream and implements the appropriate attributes loading ( see https://gerrit.libreoffice.org/#/c/3369/ ) -- To view, visit https://gerrit.libreoffice.org/3352 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: abandon Gerrit-Change-Id: I57d1245db650d12e6b2c05baece379038b673689 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] fdo#60551 Impress: pasting text removes bullet
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3352 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/52/3352/1 fdo#60551 Impress: pasting text removes bullet The reason the bullet is removed is that the pool used in copying is different from the pool in pasting. The fix passes the global text edit object pool so we have the same pool thus keep the bullet attributes. This also fix the crash in fdo#47018. Note that it currently only fixes .odp, not .pptx nor .ppt Change-Id: I57d1245db650d12e6b2c05baece379038b673689 --- M editeng/source/editeng/editobj.cxx M editeng/source/editeng/impedit4.cxx M svl/inc/svl/itempool.hxx M svl/source/items/poolio.cxx 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/editeng/source/editeng/editobj.cxx b/editeng/source/editeng/editobj.cxx index 0433ea5..6c3aded 100644 --- a/editeng/source/editeng/editobj.cxx +++ b/editeng/source/editeng/editobj.cxx @@ -1041,6 +1041,13 @@ if ( bOwnerOfPool ) GetPool()-Load( rIStream ); +else +{ +// Don't load, a global Pool is passed. +// Inform this is the current loading version to avoid GetNewWhich in +// SfxPoolItem::LoadItem +GetPool()-SetIsCurrentVersionLoading( ); +} // CharSet, in which it was saved: sal_uInt16 nCharSet; @@ -1085,7 +1092,10 @@ const SfxPoolItem* pItem; rIStream _nWhich; -_nWhich = pPool-GetNewWhich( _nWhich ); + +// Only map new which if we don't use a global pool +if ( bOwnerOfPool) +_nWhich = pPool-GetNewWhich( _nWhich ); pItem = pPool-LoadSurrogate( rIStream, _nWhich, 0 ); rIStream nStart; rIStream nEnd; diff --git a/editeng/source/editeng/impedit4.cxx b/editeng/source/editeng/impedit4.cxx index 34ef278..d701dec 100644 --- a/editeng/source/editeng/impedit4.cxx +++ b/editeng/source/editeng/impedit4.cxx @@ -197,8 +197,8 @@ EditPaM ImpEditEngine::ReadBin( SvStream rInput, EditSelection aSel ) { -// Simply abuse a temporary text object ... -EditTextObject* pObj = EditTextObject::Create( rInput, NULL ); +// fdo#60551 pass global text object pool to load attributes +EditTextObject* pObj = EditTextObject::Create( rInput, GetEditTextObjectPool( ) ); EditPaM aLastPaM = aSel.Max(); if ( pObj ) @@ -301,7 +301,8 @@ sal_uInt32 ImpEditEngine::WriteBin( SvStream rOutput, EditSelection aSel, bool bStoreUnicodeStrings ) { -boost::scoped_ptrEditTextObject pObj(CreateTextObject(aSel, NULL)); +// fdo#60551 use global pool instead of creating a new pool +boost::scoped_ptrEditTextObject pObj(CreateTextObject( aSel )); pObj-mpImpl-StoreUnicodeStrings(bStoreUnicodeStrings); pObj-Store(rOutput); return 0; diff --git a/svl/inc/svl/itempool.hxx b/svl/inc/svl/itempool.hxx index ab9ff84..6d4ee7f 100644 --- a/svl/inc/svl/itempool.hxx +++ b/svl/inc/svl/itempool.hxx @@ -215,6 +215,7 @@ sal_uInt16 GetVersion() const; voidSetFileFormatVersion( sal_uInt16 nFileFormatVersion ); boolIsCurrentVersionLoading() const; +voidSetIsCurrentVersionLoading( ); static int IsWhich(sal_uInt16 nId) { return nId nId = SFX_WHICH_MAX; } diff --git a/svl/source/items/poolio.cxx b/svl/source/items/poolio.cxx index 76ce008..7139737 100644 --- a/svl/source/items/poolio.cxx +++ b/svl/source/items/poolio.cxx @@ -1629,5 +1629,16 @@ return pItem; } +//- +/* +In case ::LoadItem() is called without preceeded by ::Load(), +This function is used to avoid using of ::GetNewWhich() which lead to +out of range error. + */ + +void SfxItemPool::SetIsCurrentVersionLoading( ) +{ +pImp-nLoadingVersion = pImp-nVersion; +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- To view, visit https://gerrit.libreoffice.org/3352 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I57d1245db650d12e6b2c05baece379038b673689 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[ABANDONED] fdo#47018 fix Impress crash on modifying bullet
Cao Cuong Ngo has abandoned this change. Change subject: fdo#47018 fix Impress crash on modifying bullet .. Patch Set 3: Abandoned -- To view, visit https://gerrit.libreoffice.org/3285 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: abandon Gerrit-Change-Id: Ifc3db3f09f9358d272245f1e00fad2802f5881ee Gerrit-PatchSet: 3 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] fdo#47018 Impress crashes when modifying bullet
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3312 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/12/3312/1 fdo#47018 Impress crashes when modifying bullet Currently the pasting function in Impress does not copy bullet attribute but uses the default one. The default level depth of bullet was set to 0 which led to crash. This fix changes the default level depth to avoid the crash but the real cause why the bullet attribute isn't copied is still unknown. Anyway it was very dangerous to leave the default value of 0. Change-Id: I8a34331006abf3de8c170f8dca43ccf9cec92f04 --- M editeng/source/editeng/eerdll.cxx 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/editeng/source/editeng/eerdll.cxx b/editeng/source/editeng/eerdll.cxx index 59086ea..379a850 100644 --- a/editeng/source/editeng/eerdll.cxx +++ b/editeng/source/editeng/eerdll.cxx @@ -98,7 +98,7 @@ ppDefItems = new SfxPoolItem*[EDITITEMCOUNT]; // Paragraph attributes: -SvxNumRule aTmpNumRule( 0, 0, sal_False ); +SvxNumRule aTmpNumRule( NUM_BULLET_REL_SIZE, 10, sal_False ); ppDefItems[0] = new SvxFrameDirectionItem( FRMDIR_HORI_LEFT_TOP, EE_PARA_WRITINGDIR ); ppDefItems[1] = new SvXMLAttrContainerItem( EE_PARA_XMLATTRIBS ); -- To view, visit https://gerrit.libreoffice.org/3312 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8a34331006abf3de8c170f8dca43ccf9cec92f04 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] fdo#47018 fix Impress crash on modifying bullet
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3285 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/85/3285/1 fdo#47018 fix Impress crash on modifying bullet Add verifying of numbering rule to avoid invalidated attribute Change-Id: Ifc3db3f09f9358d272245f1e00fad2802f5881ee --- M sd/source/ui/func/fuolbull.cxx 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sd/source/ui/func/fuolbull.cxx b/sd/source/ui/func/fuolbull.cxx index ae29032..49fd245 100644 --- a/sd/source/ui/func/fuolbull.cxx +++ b/sd/source/ui/func/fuolbull.cxx @@ -22,6 +22,7 @@ #include svl/intitem.hxx #include editeng/outliner.hxx #include editeng/eeitem.hxx +#include editeng/numitem.hxx #include sfx2/request.hxx #include editeng/editdata.hxx @@ -64,7 +65,16 @@ SfxItemSet aNewAttr( mpViewShell-GetPool(), EE_ITEMS_START, EE_ITEMS_END ); -aNewAttr.Put( aEditAttr, sal_False ); + +// fdo#47018 verify numbering rule +const SfxPoolItem* pItem; +sal_uInt16 nWhich = aEditAttr.GetPool()-GetWhich(SID_ATTR_NUMBERING_RULE); +aEditAttr.GetItemState(nWhich, sal_False, pItem); +const sal_uInt16 levelCount = (*((SvxNumBulletItem*)pItem)-GetNumRule()).GetLevelCount(); + +// check if the attribute is valid +if ( levelCount ) +aNewAttr.Put( aEditAttr, sal_False ); // create and execute dialog SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create(); -- To view, visit https://gerrit.libreoffice.org/3285 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifc3db3f09f9358d272245f1e00fad2802f5881ee Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] fdo#60834 Find and Replace dialog: fix replace box selection...
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3202 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/02/3202/1 fdo#60834 Find and Replace dialog: fix replace box selection on click Change-Id: Ic5256ae05d9b4646651e897b7d4c00d9a84329bb --- M svx/source/dialog/srchdlg.cxx 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx index 3d5a1fd..0040b32 100644 --- a/svx/source/dialog/srchdlg.cxx +++ b/svx/source/dialog/srchdlg.cxx @@ -2029,7 +2029,7 @@ } bSet = sal_True; -aSearchLB.SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) ); +( (ComboBox*)pCtrl )-SetSelection( Selection( SELECTION_MIN, SELECTION_MAX ) ); ModifyHdl_Impl( (ComboBox*)pCtrl ); -- To view, visit https://gerrit.libreoffice.org/3202 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic5256ae05d9b4646651e897b7d4c00d9a84329bb Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] fdo#59071 Slideshow: allow automatic transitions with sub-se...
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3176 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/76/3176/1 fdo#59071 Slideshow: allow automatic transitions with sub-second Enable slide transition each 0.25 second instead of whole second. Change-Id: I1907a1baf30cede91a0438d021e003204ea06651 --- M sd/inc/sdpage.hxx M sd/source/core/sdpage.cxx M sd/source/filter/html/htmlex.cxx M sd/source/filter/html/htmlex.hxx M sd/source/filter/ppt/pptin.cxx M sd/source/ui/animations/SlideTransitionPane.cxx M sd/source/ui/animations/SlideTransitionPane.src M sd/source/ui/dlg/dlgass.cxx M sd/source/ui/unoidl/unopage.cxx 9 files changed, 21 insertions(+), 21 deletions(-) diff --git a/sd/inc/sdpage.hxx b/sd/inc/sdpage.hxx index 18b58a3..631e215 100644 --- a/sd/inc/sdpage.hxx +++ b/sd/inc/sdpage.hxx @@ -115,7 +115,7 @@ sd::ScopeLock maLockAutoLayoutArrangement; sal_BoolmbSelected; /// selection identifier PresChange mePresChange; /// manual / automatic / semi automatic -sal_uInt32 mnTime; /// Display time in seconds +double mnTime; /// Display time in seconds sal_BoolmbSoundOn;/// with / without sound. sal_BoolmbExcluded; /// will (not) be displayed during show. OUStringmaLayoutName; /// Name of the layout @@ -223,8 +223,8 @@ voidSetPresChange(PresChange eChange){ mePresChange = eChange; } PresChange GetPresChange() const{ return mePresChange; } -voidSetTime(sal_uInt32 nNewTime) { mnTime = nNewTime; } -sal_uInt32 GetTime() const { return mnTime; } +voidSetTime(double nNewTime) { mnTime = nNewTime; } +double GetTime() const { return mnTime; } voidSetSound(sal_Bool bNewSoundOn) { mbSoundOn = bNewSoundOn; } sal_BoolIsSoundOn() const{ return mbSoundOn; } diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 499af50..67ea394 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -88,7 +88,7 @@ , meAutoLayout(AUTOLAYOUT_NONE) , mbSelected(sal_False) , mePresChange(PRESCHANGE_MANUAL) -, mnTime(1) +, mnTime(1.0) , mbSoundOn(sal_False) , mbExcluded(sal_False) , mbLoopSound(sal_False) diff --git a/sd/source/filter/html/htmlex.cxx b/sd/source/filter/html/htmlex.cxx index 706b199..d121452 100644 --- a/sd/source/filter/html/htmlex.cxx +++ b/sd/source/filter/html/htmlex.cxx @@ -584,7 +584,7 @@ } else if ( pParams-Name == KioskSlideDuration ) { -sal_Int32 temp = sal_False; +double temp = sal_False; pParams-Value = temp; mnSlideDuration = temp; mbAutoSlide = true; @@ -1521,7 +1521,7 @@ pPage = maPages[ nSdPage ]; if( meMode == PUBLISH_KIOSK ) { -sal_uLong nSecs = 0; +double nSecs = 0; bool bEndless = false; if( !mbAutoSlide ) { diff --git a/sd/source/filter/html/htmlex.hxx b/sd/source/filter/html/htmlex.hxx index 6ef80ed..5c0d857 100644 --- a/sd/source/filter/html/htmlex.hxx +++ b/sd/source/filter/html/htmlex.hxx @@ -114,7 +114,7 @@ bool mbDownload; bool mbAutoSlide; -sal_uInt32 mnSlideDuration; +double mnSlideDuration; bool mbSlideSound; bool mbHiddenSlides; bool mbEndless; diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx index 308979d..9dc25d8 100644 --- a/sd/source/filter/ppt/pptin.cxx +++ b/sd/source/filter/ppt/pptin.cxx @@ -1757,7 +1757,7 @@ if ( nBuildFlags 0x400 ) // slidechange by time { // time to show (in Ticks) pPage-SetPresChange( PRESCHANGE_AUTO ); -pPage-SetTime( nSlideTime / 1000 ); +pPage-SetTime( nSlideTime / 1000.0 ); } else pPage-SetPresChange( mePresChange ); diff --git a/sd/source/ui/animations/SlideTransitionPane.cxx b/sd/source/ui/animations/SlideTransitionPane.cxx index 10eb311..b73ec5f 100644 --- a/sd/source/ui/animations/SlideTransitionPane.cxx +++ b/sd/source/ui/animations/SlideTransitionPane.cxx @@ -119,7 +119,7 @@ void init() { mfDuration = 2.0; -mnTime = 0; +mnTime = 1.0; mePresChange = PRESCHANGE_MANUAL; mbSoundOn = sal_False; mbLoopSound = sal_False; @@ -217,7 +217,7 @@ // other settings double mfDuration; -sal_uLong mnTime; +double mnTime; PresChange
[PATCH] fdo#51656 Mean value line starts in wrong place
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3156 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/56/3156/1 fdo#51656 Mean value line starts in wrong place In case of a mean value line, don't shift position. Change-Id: I056423b3214e8f904202e6e6a3aeaec12122e62d --- M chart2/source/view/charttypes/VSeriesPlotter.cxx 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx b/chart2/source/view/charttypes/VSeriesPlotter.cxx index 6e114dd..b35739d 100644 --- a/chart2/source/view/charttypes/VSeriesPlotter.cxx +++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx @@ -1011,13 +1011,16 @@ xRegressionCurveCalculator-getCurveValues( fMinX, fMaxX, nRegressionPointCount, xScalingX, xScalingY, bMaySkipPointsInRegressionCalculation )); nRegressionPointCount = aCalculatedPoints.getLength(); +bool bAverageLine = RegressionCurveHelper::isMeanValueLine( aCurveList[nN] ); for(sal_Int32 nP=0; nPnRegressionPointCount; nP++) { double fLogicX = aCalculatedPoints[nP].X; double fLogicY = aCalculatedPoints[nP].Y; double fLogicZ = 0.0;//dummy -m_pPosHelper-doLogicScaling( fLogicX, fLogicY, fLogicZ ); +// Don't do scaling if it's a mean value line ( fdo#51656 ). +if ( !bAverageLine ) +m_pPosHelper-doLogicScaling( fLogicX, fLogicY, fLogicZ ); if(!::rtl::math::isNan(fLogicX) !::rtl::math::isInf(fLogicX) !::rtl::math::isNan(fLogicY) !::rtl::math::isInf(fLogicY) @@ -1045,7 +1048,6 @@ aVLineProperties.initFromPropertySet( xCurveModelProp ); //create an extra group shape for each curve for selection handling -bool bAverageLine = RegressionCurveHelper::isMeanValueLine( aCurveList[nN] ); uno::Reference drawing::XShapes xRegressionGroupShapes = createGroupShape( xTarget, rVDataSeries.getDataCurveCID( nN, bAverageLine ) ); uno::Reference drawing::XShape xShape = m_pShapeFactory-createLine2D( -- To view, visit https://gerrit.libreoffice.org/3156 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I056423b3214e8f904202e6e6a3aeaec12122e62d Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] fdo#60542 Persona setting: change color of the text menu.
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/3127 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/27/3127/1 fdo#60542 Persona setting: change color of the text menu. Change-Id: I1d0ed94d41b3b8bcf0504e1528f4f505f817ad86 --- M vcl/source/app/settings.cxx 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx index d8b1ce5..a237488 100644 --- a/vcl/source/app/settings.cxx +++ b/vcl/source/app/settings.cxx @@ -702,7 +702,7 @@ enum WhichPersona { PERSONA_HEADER, PERSONA_FOOTER }; /** Update the setting of the Persona header / footer in ImplStyleData */ -static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString rHeaderFooter, BitmapEx rHeaderFooterBitmap ) +static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString rHeaderFooter, BitmapEx rHeaderFooterBitmap, Color maMenuBarTextColor ) { uno::Reference uno::XComponentContext xContext( comphelper::getProcessComponentContext() ); if ( !xContext.is() ) @@ -721,13 +721,20 @@ rHeaderFooterBitmap = BitmapEx(); // now read the new values and setup bitmaps -OUString aHeader, aFooter; +OUString aHeader, aFooter, aColor; if ( aPersona == own ) { sal_Int32 nIndex = 0; aHeader = aPersonaSettings.getToken( 0, ';', nIndex ); if ( nIndex 0 ) aFooter = aPersonaSettings.getToken( 0, ';', nIndex ); + +// change menu text color, advance nIndex to skip the '#' +if ( nIndex 0 ) +{ +aColor = aPersonaSettings.getToken( 0, ';', ++nIndex ); +maMenuBarTextColor = Color( aColor.toInt64( 16 ) ); +} } else if ( aPersona == default ) { @@ -762,7 +769,7 @@ const BitmapEx StyleSettings::GetPersonaHeader() const { -setupPersonaHeaderFooter( PERSONA_HEADER, mpData-maPersonaHeaderFooter, mpData-maPersonaHeaderBitmap ); +setupPersonaHeaderFooter( PERSONA_HEADER, mpData-maPersonaHeaderFooter, mpData-maPersonaHeaderBitmap, mpData-maMenuBarTextColor ); return mpData-maPersonaHeaderBitmap; } -- To view, visit https://gerrit.libreoffice.org/3127 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1d0ed94d41b3b8bcf0504e1528f4f505f817ad86 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice
[PATCH] fdo#60148 Clean up warnings from the Clang compiler plugin
Hi, I have submitted a patch for review: https://gerrit.libreoffice.org/2544 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/44/2544/1 fdo#60148 Clean up warnings from the Clang compiler plugin Cleaned all the warnings from loplugin. Some warnings come from the untar downloaded sources couldn't be fixed. Change-Id: I08d755677c46c476710ecbd067ed9f7e2f54a671 --- M UnoControls/source/base/registercontrols.cxx M accessibility/source/extended/accessibleeditbrowseboxcell.cxx M autodoc/source/parser_i/idoc/cx_dsapi.cxx M basegfx/source/polygon/b2dpolygontools.cxx M basegfx/source/polygon/b3dpolypolygontools.cxx M basic/source/runtime/iosys.cxx M basic/source/sbx/sbxobj.cxx M basic/source/sbx/sbxvalue.cxx M chart2/source/controller/dialogs/tp_DataSource.cxx M chart2/source/controller/main/ChartDropTargetHelper.cxx M chart2/source/controller/main/ChartFrameloader.cxx M chart2/source/model/template/BarChartTypeTemplate.cxx M chart2/source/model/template/ChartTypeTemplate.cxx M connectivity/source/commontools/dbtools2.cxx M connectivity/source/drivers/file/FTable.cxx M connectivity/source/drivers/mork/MResultSetMetaData.cxx M connectivity/source/drivers/postgresql/pq_xindexcolumns.cxx M connectivity/source/drivers/postgresql/pq_xtable.cxx M connectivity/source/drivers/postgresql/pq_xtables.cxx M connectivity/source/drivers/postgresql/pq_xuser.cxx M connectivity/source/parse/sqlnode.cxx M cppcanvas/source/mtfrenderer/emfplus.cxx M cui/source/dialogs/cuigaldlg.cxx M cui/source/tabpages/tpbitmap.cxx M cui/source/tabpages/tpgradnt.cxx M cui/source/tabpages/tphatch.cxx M cui/source/tabpages/tplnedef.cxx M desktop/source/app/lockfile2.cxx M drawinglayer/source/geometry/viewinformation2d.cxx M drawinglayer/source/geometry/viewinformation3d.cxx M drawinglayer/source/primitive3d/polygontubeprimitive3d.cxx M drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx M drawinglayer/source/primitive3d/sdrlatheprimitive3d.cxx M editeng/source/misc/hangulhanja.cxx M filter/source/config/cache/filterfactory.cxx M filter/source/graphicfilter/icgm/class2.cxx M filter/source/placeware/exporter.cxx M filter/source/xsltdialog/xmlfiltertabpagexslt.cxx M forms/source/xforms/datatypes.cxx M formula/source/ui/dlg/funcpage.cxx M framework/source/services/autorecovery.cxx M helpcompiler/source/HelpCompiler.cxx M hwpfilter/source/hwpreader.cxx M i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx M idl/source/prj/command.cxx M jvmfwk/source/elements.cxx M l10ntools/source/xrmmerge.cxx M lotuswordpro/source/filter/lwpoleobject.cxx M padmin/source/adddlg.cxx M reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx M rsc/source/rscpp/cpp5.c M sal/inc/sal/log-areas.dox M sc/qa/unit/helper/qahelper.hxx M sc/qa/unit/subsequent_export-test.cxx M sc/qa/unit/subsequent_filters-test.cxx M sc/source/core/tool/compiler.cxx M sc/source/filter/oox/extlstcontext.cxx M sc/source/ui/drawfunc/drawsh.cxx M sc/source/ui/pagedlg/scuitphfedit.cxx M sc/source/ui/vba/vbafont.cxx M sd/source/filter/eppt/pptx-epptooxml.cxx M sfx2/source/appl/appuno.cxx M sfx2/source/appl/linksrc.cxx M sfx2/source/control/bindings.cxx M sfx2/source/control/dispatch.cxx M sfx2/source/control/shell.cxx M sfx2/source/dialog/dinfdlg.cxx M sfx2/source/dialog/filedlghelper.cxx M sfx2/source/doc/sfxbasemodel.cxx M sfx2/source/menu/mnuitem.cxx M sfx2/source/view/sfxbasecontroller.cxx M slideshow/source/engine/OGLTrans/generic/OGLTrans_TransitionerImpl.cxx M slideshow/source/engine/transitions/fanwipe.cxx M svtools/source/contnr/DocumentInfoPreview.cxx M svx/source/dialog/srchdlg.cxx M svx/source/fmcomp/gridcell.cxx M svx/source/form/navigatortree.cxx M svx/source/gallery2/galobj.cxx M svx/source/sdr/primitive2d/sdrprimitivetools.cxx M unotools/source/config/configitem.cxx M vcl/source/filter/wmf/enhwmf.cxx M vcl/source/gdi/pdfwriter_impl.cxx M vcl/source/window/window.cxx M vcl/unx/generic/printer/printerinfomanager.cxx M vcl/unx/gtk/fpicker/SalGtkFolderPicker.cxx M writerperfect/source/draw/WPGImportFilter.cxx 86 files changed, 1,510 insertions(+), 1,624 deletions(-) -- To view, visit https://gerrit.libreoffice.org/2544 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I08d755677c46c476710ecbd067ed9f7e2f54a671 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo cao.cuong@gmail.com ___ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice