[Libreoffice-commits] core.git: sw/inc sw/source
Jan-Marek Glogowski
glogow at fbihome.de
Mon Oct 30 23:21:36 UTC 2017
sw/inc/ndarr.hxx | 3 +--
sw/source/core/graphic/ndgrf.cxx | 18 ++++++++++--------
sw/source/core/unocore/unoframe.cxx | 6 ++++--
3 files changed, 15 insertions(+), 12 deletions(-)
New commits:
commit 5631652200a1261e4fee8e51cca238a35b465d14
Author: Jan-Marek Glogowski <glogow at fbihome.de>
Date: Thu Oct 26 16:38:36 2017 +0200
Drop bDelayed from SwNodes::MakeGrfNode
There is no caller, which sets bDelayed. The comment
"// create object delayed, only from a SW/G-reader"
doesn't help me much either.
But in case of a linked image, it seems appropriate to just drop
the empty image and use the delayed SwGrfNode constructor.
At least a linked PDF and PNG still work.
Change-Id: Idff5599ac0ff04c3efcb141c731c0ee1cfa747de
Reviewed-on: https://gerrit.libreoffice.org/43908
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>
diff --git a/sw/inc/ndarr.hxx b/sw/inc/ndarr.hxx
index 80270f209f08..1c2bdf87a2bf 100644
--- a/sw/inc/ndarr.hxx
+++ b/sw/inc/ndarr.hxx
@@ -219,8 +219,7 @@ public:
const OUString& rFltName,
const Graphic* pGraphic,
SwGrfFormatColl *pColl,
- SwAttrSet const * pAutoAttr = nullptr,
- bool bDelayed = false ); ///< in ndgrf.cxx
+ SwAttrSet const * pAutoAttr = nullptr ); ///< in ndgrf.cxx
static SwGrfNode *MakeGrfNode( const SwNodeIndex & rWhere,
const GraphicObject& rGrfObj,
diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx
index e6dd87bd0616..7ef061715ba8 100644
--- a/sw/source/core/graphic/ndgrf.cxx
+++ b/sw/source/core/graphic/ndgrf.cxx
@@ -60,7 +60,8 @@ using namespace com::sun::star;
SwGrfNode::SwGrfNode(
const SwNodeIndex & rWhere,
- const OUString& rGrfName, const OUString& rFltName,
+ const OUString& rGrfName,
+ const OUString& rFltName,
const Graphic* pGraphic,
SwGrfFormatColl *pGrfColl,
SwAttrSet const * pAutoAttr ) :
@@ -80,8 +81,9 @@ SwGrfNode::SwGrfNode(
}
SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
- const GraphicObject& rGrfObj,
- SwGrfFormatColl *pGrfColl, SwAttrSet const * pAutoAttr ) :
+ const GraphicObject& rGrfObj,
+ SwGrfFormatColl *pGrfColl,
+ SwAttrSet const * pAutoAttr ) :
SwNoTextNode( rWhere, SwNodeType::Grf, pGrfColl, pAutoAttr ),
maGrfObj(rGrfObj),
mpReplacementGraphic(nullptr),
@@ -102,7 +104,8 @@ SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
* @note Does not read/open the image itself!
*/
SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
- const OUString& rGrfName, const OUString& rFltName,
+ const OUString& rGrfName,
+ const OUString& rFltName,
SwGrfFormatColl *pGrfColl,
SwAttrSet const * pAutoAttr ) :
SwNoTextNode( rWhere, SwNodeType::Grf, pGrfColl, pAutoAttr ),
@@ -119,7 +122,7 @@ SwGrfNode::SwGrfNode( const SwNodeIndex & rWhere,
bInSwapIn = bChgTwipSize =
bFrameInPaint = bScaleImageMap = false;
- bGraphicArrived = true;
+ bGraphicArrived = false;
InsertLink( rGrfName, rFltName );
if( IsLinkedFile() )
@@ -425,13 +428,12 @@ SwGrfNode * SwNodes::MakeGrfNode( const SwNodeIndex & rWhere,
const OUString& rFltName,
const Graphic* pGraphic,
SwGrfFormatColl* pGrfColl,
- SwAttrSet const * pAutoAttr,
- bool bDelayed )
+ SwAttrSet const * pAutoAttr )
{
OSL_ENSURE( pGrfColl, "MakeGrfNode: Formatpointer is 0." );
SwGrfNode *pNode;
// create object delayed, only from a SW/G-reader
- if( bDelayed )
+ if( !pGraphic )
pNode = new SwGrfNode( rWhere, rGrfName,
rFltName, pGrfColl, pAutoAttr );
else
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index a73201a56b1c..c715ee00f76a 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -2836,7 +2836,8 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
}
Graphic aGraphic;
const ::uno::Any* pGraphic;
- if( pProps->GetProperty( FN_UNO_GRAPHIC, 0, pGraphic ))
+ const bool bHasGraphic = pProps->GetProperty( FN_UNO_GRAPHIC, 0, pGraphic );
+ if( bHasGraphic )
{
uno::Reference< graphic::XGraphic > xGraphic;
(*pGraphic) >>= xGraphic;
@@ -2854,7 +2855,8 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
? pDoc->getIDocumentContentOperations().InsertGraphicObject(
aPam, *pGrfObj, &aFrameSet, &aGrSet, pParentFrameFormat)
: pDoc->getIDocumentContentOperations().InsertGraphic(
- aPam, sGraphicURL, sFltName, &aGraphic,
+ aPam, sGraphicURL, sFltName,
+ (!bHasGraphic && !sGraphicURL.isEmpty()) ? nullptr : &aGraphic,
&aFrameSet, &aGrSet, pParentFrameFormat);
delete pGrfObj;
if(pFormat)
More information about the Libreoffice-commits
mailing list