[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.3' - 6 commits - filter/source officecfg/Configuration_officecfg.mk officecfg/registry postprocess/CustomTarget_registry.mk sd/source sfx2/source svx/source
Caolán McNamara
caolanm at redhat.com
Thu Apr 16 04:01:21 PDT 2015
filter/source/msfilter/escherex.cxx | 37 +++++------
officecfg/Configuration_officecfg.mk | 1
officecfg/registry/data/org/openoffice/ucb/Configuration.xcu | 6 +
postprocess/CustomTarget_registry.mk | 3
sd/source/filter/eppt/epptso.cxx | 2
sd/source/filter/eppt/pptx-epptooxml.cxx | 2
sfx2/source/appl/fileobj.cxx | 20 +++--
sfx2/source/appl/fileobj.hxx | 2
svx/source/engine3d/scene3d.cxx | 9 --
9 files changed, 45 insertions(+), 37 deletions(-)
New commits:
commit 1ddfd1df97607a2fa1281cb51c42044dc668761f
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Apr 15 12:48:47 2015 +0100
fix crash on re-export of fdo50057-2.odt to odt
(cherry picked from commit 66c9aec156d974b939b680dccbb27e18fb153a23)
Conflicts:
sfx2/source/appl/fileobj.hxx
Change-Id: Ice7a754dd4f42b5cf62ae2038b63d893b8a92fd8
Reviewed-on: https://gerrit.libreoffice.org/15326
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Michael Stahl <mstahl at redhat.com>
diff --git a/sfx2/source/appl/fileobj.cxx b/sfx2/source/appl/fileobj.cxx
index e123285..7ae5b6e 100644
--- a/sfx2/source/appl/fileobj.cxx
+++ b/sfx2/source/appl/fileobj.cxx
@@ -47,7 +47,9 @@
#define FILETYPE_OBJECT 3
SvFileObject::SvFileObject()
- : pOldParent(NULL)
+ : nPostUserEventId(0)
+ , pDelMed(NULL)
+ , pOldParent(NULL)
, nType(FILETYPE_TEXT)
, bLoadAgain(true)
, bSynchron(false)
@@ -64,14 +66,16 @@ SvFileObject::SvFileObject()
SvFileObject::~SvFileObject()
{
- if ( xMed.Is() )
+ if (xMed.Is())
{
xMed->SetDoneLink( Link() );
xMed.Clear();
}
+ if (nPostUserEventId)
+ Application::RemoveUserEvent(nPostUserEventId);
+ delete pDelMed;
}
-
bool SvFileObject::GetData( ::com::sun::star::uno::Any & rData,
const OUString & rMimeType,
bool bGetSynchron )
@@ -482,10 +486,10 @@ IMPL_STATIC_LINK( SvFileObject, LoadGrfReady_Impl, void*, EMPTYARG )
if( pThis->xMed.Is() )
{
pThis->xMed->SetDoneLink( Link() );
-
- Application::PostUserEvent(
+ pThis->pDelMed = new SfxMediumRef(pThis->xMed);
+ pThis->nPostUserEventId = Application::PostUserEvent(
STATIC_LINK( pThis, SvFileObject, DelMedium_Impl ),
- new SfxMediumRef( pThis->xMed ));
+ pThis->pDelMed);
pThis->xMed.Clear();
}
}
@@ -495,7 +499,9 @@ IMPL_STATIC_LINK( SvFileObject, LoadGrfReady_Impl, void*, EMPTYARG )
IMPL_STATIC_LINK( SvFileObject, DelMedium_Impl, SfxMediumRef*, pDelMed )
{
- (void)pThis;
+ pThis->nPostUserEventId = 0;
+ assert(pThis->pDelMed == pDelMed);
+ pThis->pDelMed = NULL;
delete pDelMed;
return 0;
}
diff --git a/sfx2/source/appl/fileobj.hxx b/sfx2/source/appl/fileobj.hxx
index d43e1eb..5e602b7 100644
--- a/sfx2/source/appl/fileobj.hxx
+++ b/sfx2/source/appl/fileobj.hxx
@@ -33,6 +33,8 @@ class SvFileObject : public sfx2::SvLinkSource
OUString sReferer;
Link aEndEditLink;
SfxMediumRef xMed;
+ ImplSVEvent* nPostUserEventId;
+ SfxMediumRef* pDelMed;
Window* pOldParent;
sal_uInt8 nType;
commit ce58792b4fa57eb280040eaca80560d1471aefa2
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Apr 13 15:51:43 2015 +0100
Resolves: tdf#90583 3D pie-chart missing guide handles
partial revert of
commit db1d2af02861b49e4f53d726d59cd71c20cee9b1
Author: Armin Le Grand <alg at apache.org>
Date: Tue Feb 18 21:18:13 2014 +0000
Resolves: #i123539# some optimizations for 3D chart...
geometry creation using UNO API
(cherry picked from commit bbe35be767d76d08891c4f3d3600d80e0e6805f2)
Change-Id: If35f05fb62230e90cfc43a0beac053e8a87820d4
(cherry picked from commit bca8d8985666d3fd22b91eb280f9baaeb933c2d0)
Reviewed-on: https://gerrit.libreoffice.org/15284
Tested-by: Michael Stahl <mstahl at redhat.com>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx
index 40e606a..d9c02c5 100644
--- a/svx/source/engine3d/scene3d.cxx
+++ b/svx/source/engine3d/scene3d.cxx
@@ -380,14 +380,7 @@ void E3dScene::NewObjectInserted(const E3dObject* p3DObj)
void E3dScene::StructureChanged()
{
E3dObject::StructureChanged();
-
- if(!GetModel() || !GetModel()->isLocked())
- {
- // #i123539# optimization for 3D chart object generation: do not reset
- // already calculated scene projection data every time an object gets
- // initialized
- SetRectsDirty();
- }
+ SetRectsDirty();
ImpCleanup3DDepthMapper();
}
commit c07133e19e1573ee36f42ea230eece2f839edc60
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Apr 13 12:46:34 2015 +0100
Related: tdf#74018 fix int wraparound + crash on export
of fdo74018-2.docx to doc
nPoints is 16bit and accumulated value wraps around, so use
a 32bit nTotalPoints instead and move 16bit declarations to
use points to confirm no other wraparounds
(cherry picked from commit ce705ac56a8709970356d634abb964adef105594)
Change-Id: If97ccb46ed8eb7f4305cdfe328ae83bc2b0c778c
Reviewed-on: https://gerrit.libreoffice.org/15281
Tested-by: Michael Stahl <mstahl at redhat.com>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/filter/source/msfilter/escherex.cxx b/filter/source/msfilter/escherex.cxx
index 7217ec1..b85979d 100644
--- a/filter/source/msfilter/escherex.cxx
+++ b/filter/source/msfilter/escherex.cxx
@@ -2059,42 +2059,43 @@ bool EscherPropertyContainer::CreatePolygonProperties(
{
Polygon aPolygon;
- sal_uInt16 i, j, k, nPoints, nBezPoints, nPolyCount = aPolyPolygon.Count();
+ sal_uInt16 nPolyCount = aPolyPolygon.Count();
+ sal_uInt32 nTotalPoints(0), nTotalBezPoints(0);
Rectangle aRect( aPolyPolygon.GetBoundRect() );
rGeoRect = ::com::sun::star::awt::Rectangle( aRect.Left(), aRect.Top(), aRect.GetWidth(), aRect.GetHeight() );
- for ( nBezPoints = nPoints = i = 0; i < nPolyCount; i++ )
+ for (sal_uInt16 i = 0; i < nPolyCount; ++i)
{
- k = aPolyPolygon[ i ].GetSize();
- nPoints = nPoints + k;
- for ( j = 0; j < k; j++ )
+ sal_uInt16 k = aPolyPolygon[ i ].GetSize();
+ nTotalPoints += k;
+ for (sal_uInt16 j = 0; j < k; ++j)
{
if ( aPolyPolygon[ i ].GetFlags( j ) != POLY_CONTROL )
- nBezPoints++;
+ nTotalBezPoints++;
}
}
- sal_uInt32 nVerticesBufSize = ( nPoints << 2 ) + 6;
+ sal_uInt32 nVerticesBufSize = ( nTotalPoints << 2 ) + 6;
sal_uInt8* pVerticesBuf = new sal_uInt8[ nVerticesBufSize ];
- sal_uInt32 nSegmentBufSize = ( ( nBezPoints << 2 ) + 8 );
+ sal_uInt32 nSegmentBufSize = ( ( nTotalBezPoints << 2 ) + 8 );
if ( nPolyCount > 1 )
nSegmentBufSize += ( nPolyCount << 1 );
sal_uInt8* pSegmentBuf = new sal_uInt8[ nSegmentBufSize ];
sal_uInt8* pPtr = pVerticesBuf;
- *pPtr++ = (sal_uInt8)( nPoints ); // Little endian
- *pPtr++ = (sal_uInt8)( nPoints >> 8 );
- *pPtr++ = (sal_uInt8)( nPoints );
- *pPtr++ = (sal_uInt8)( nPoints >> 8 );
+ *pPtr++ = (sal_uInt8)( nTotalPoints ); // Little endian
+ *pPtr++ = (sal_uInt8)( nTotalPoints >> 8 );
+ *pPtr++ = (sal_uInt8)( nTotalPoints );
+ *pPtr++ = (sal_uInt8)( nTotalPoints >> 8 );
*pPtr++ = (sal_uInt8)0xf0;
*pPtr++ = (sal_uInt8)0xff;
- for ( j = 0; j < nPolyCount; j++ )
+ for (sal_uInt16 j = 0; j < nPolyCount; ++j)
{
aPolygon = aPolyPolygon[ j ];
- nPoints = aPolygon.GetSize();
- for ( i = 0; i < nPoints; i++ ) // write points from polygon to buffer
+ sal_uInt16 nPoints = aPolygon.GetSize();
+ for (sal_uInt16 i = 0; i < nPoints; ++i) // write points from polygon to buffer
{
Point aPoint = aPolygon[ i ];
aPoint.X() -= rGeoRect.X;
@@ -2115,13 +2116,13 @@ bool EscherPropertyContainer::CreatePolygonProperties(
*pPtr++ = (sal_uInt8)2;
*pPtr++ = (sal_uInt8)0;
- for ( j = 0; j < nPolyCount; j++ )
+ for (sal_uInt16 j = 0; j < nPolyCount; ++j)
{
*pPtr++ = 0x0; // Polygon start
*pPtr++ = 0x40;
aPolygon = aPolyPolygon[ j ];
- nPoints = aPolygon.GetSize();
- for ( i = 0; i < nPoints; i++ ) // write Polyflags to Buffer
+ sal_uInt16 nPoints = aPolygon.GetSize();
+ for (sal_uInt16 i = 0; i < nPoints; ++i) // write Polyflags to Buffer
{
*pPtr++ = 0;
if ( bBezier )
commit 51a02cdcb669468608c9dcef019a89fd9bcadbc7
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 14 17:05:10 2015 +0100
fix export of ooo120353-1.odp to pptx, mismatch of start and end element
cut and paste error I guess from the block above it
Change-Id: I121e1d1a9f08ea3731bb7f65c385f264b3c2d2f4
(cherry picked from commit 1d4e66a79453f7b020a3dcea328c03637407add9)
Reviewed-on: https://gerrit.libreoffice.org/15309
Tested-by: Michael Stahl <mstahl at redhat.com>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx b/sd/source/filter/eppt/pptx-epptooxml.cxx
index 980befa2..2cb61d5 100644
--- a/sd/source/filter/eppt/pptx-epptooxml.cxx
+++ b/sd/source/filter/eppt/pptx-epptooxml.cxx
@@ -1093,7 +1093,7 @@ void PowerPointExport::WriteAnimationNodeCommonPropsStart( FSHelperPtr pFS, cons
WriteAnimationCondition( pFS, aCondSeq[ i ], false, bMainSeqChild );
} else
WriteAnimationCondition( pFS, aAny, false, bMainSeqChild );
- pFS->endElementNS( XML_p, XML_stCondLst );
+ pFS->endElementNS( XML_p, XML_endCondLst );
}
Reference< XEnumerationAccess > xEnumerationAccess( rXNode, UNO_QUERY );
commit b895c5c63f0eb8ca76406bbc4b2f59a3b216eb71
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 14 20:59:50 2015 +0100
fix assert on re-export of ooo48994-1.ppt to ppt
Change-Id: Ic8274e7d060f315d7891f8f5cf576f834ca89117
(cherry picked from commit eece059c1f728059b536763bffd2d4fc3537833e)
Reviewed-on: https://gerrit.libreoffice.org/15314
Tested-by: Michael Stahl <mstahl at redhat.com>
Reviewed-by: Michael Stahl <mstahl at redhat.com>
diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx
index bf8bd4f..2b13085 100644
--- a/sd/source/filter/eppt/epptso.cxx
+++ b/sd/source/filter/eppt/epptso.cxx
@@ -1138,7 +1138,7 @@ void PPTWriter::ImplWriteTextStyleAtom( SvStream& rOut, int nTextInstance, sal_u
aFile = aFile.replaceAll( "/", "\\" );
aTarget = aFile;
}
- else if ( pFieldEntry->aFieldUrl[0] == '#' )
+ else if ( pFieldEntry->aFieldUrl.startsWith("#") )
{
OUString aPage( INetURLObject::decode( pFieldEntry->aFieldUrl, '%', INetURLObject::DECODE_WITH_CHARSET ) );
aPage = aPage.copy( 1 );
commit ef64455c9eb9404d67954555e4c70d77ebdf3059
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Apr 13 18:27:33 2015 +0200
rhbz#1134285: Access dav, davs URLs via GVFS
...so that LO shares the credentials with Nautilus once the connection has been
set up in Nautilus.
The reason the (non-standard) dav, davs URLs used by GNOME's old GnomeVFS and
successor GVFS/GIO were handled via LO's webdav UCP rather than the GNOME-
specific gnomevfs resp. gio UCP since b07a5fcc600ad564315d36fbd18495184fdf69cf
"INTEGRATION: CWS tkr10: i84676 neon and gnome-vfs2" is discussed at
<https://bz.apache.org/ooo/show_bug.cgi?id=84676> "mixing neon and the hidden
embedded contents old [sic] another neon inside libhttp.so of gnome-vfs2 is
unreliable" and only pertains to the legacy gnomevfs UCP, not the new gio one.
So keep handling dav, davs URLs via LO's internal webdav UCP under legacy
--enable-gnome-vfs, but handle them via the GNOME-specific gio UCP under the
default --enable-gio.
Change-Id: Ib132168701a7ae0a7dcabdead6a299eda0cd4594
(cherry picked from commit 51e0d789c344547956764c3b5f0ef5a304f4e0aa)
Reviewed-on: https://gerrit.libreoffice.org/15296
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/officecfg/Configuration_officecfg.mk b/officecfg/Configuration_officecfg.mk
index 5f345b7..6cb44d0 100644
--- a/officecfg/Configuration_officecfg.mk
+++ b/officecfg/Configuration_officecfg.mk
@@ -122,6 +122,7 @@ $(eval $(call gb_Configuration_add_spool_modules,registry,officecfg/registry/dat
org/openoffice/TypeDetection/UISort-math.xcu \
org/openoffice/ucb/Configuration-gio.xcu \
org/openoffice/ucb/Configuration-neon.xcu \
+ org/openoffice/ucb/Configuration-neon_gnomevfs.xcu \
org/openoffice/ucb/Configuration-win.xcu \
))
diff --git a/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu b/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu
index e9704d3..9cb2a1a 100644
--- a/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu
+++ b/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu
@@ -89,7 +89,8 @@
<value/>
</prop>
</node>
- <node oor:name="Provider7" oor:op="replace" install:module="neon">
+ <node oor:name="Provider7" oor:op="replace"
+ install:module="neon_gnomevfs">
<prop oor:name="ServiceName">
<value>com.sun.star.ucb.WebDAVContentProvider</value>
</prop>
@@ -155,7 +156,8 @@
<value/>
</prop>
</node>
- <node oor:name="Provider13" oor:op="replace" install:module="neon">
+ <node oor:name="Provider13" oor:op="replace"
+ install:module="neon_gnomevfs">
<prop oor:name="ServiceName">
<value>com.sun.star.ucb.WebDAVContentProvider</value>
</prop>
diff --git a/postprocess/CustomTarget_registry.mk b/postprocess/CustomTarget_registry.mk
index ff106cb..05f2406 100644
--- a/postprocess/CustomTarget_registry.mk
+++ b/postprocess/CustomTarget_registry.mk
@@ -333,6 +333,9 @@ postprocess_DRIVERS += ado
endif
ifneq ($(WITH_WEBDAV),)
postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/ucb/Configuration-neon.xcu
+ifeq ($(ENABLE_GNOMEVFS),TRUE)
+postprocess_FILES_main += $(postprocess_MOD)/org/openoffice/ucb/Configuration-neon_gnomevfs.xcu
+endif
endif
ifeq ($(ENABLE_EVOAB2),TRUE)
postprocess_FILES_main += $(call gb_XcuModuleTarget_get_target,connectivity/registry/evoab2)/org/openoffice/Office/DataAccess/Drivers-evoab2.xcu
More information about the Libreoffice-commits
mailing list