sw/inc/ndgrf.hxx | 8 +++--- sw/source/core/doc/doc.cxx | 2 - sw/source/core/graphic/ndgrf.cxx | 51 +++++++++++++++++++++++++-------------- 3 files changed, 37 insertions(+), 24 deletions(-)
New commits: commit 26f76e859761b5fa39196edff454644d7fb36a02 Author: Michael Stahl <mst...@redhat.com> Date: Fri Jun 6 17:37:04 2014 +0200 revert sw part of "don't swap in all images when loading files" Half of commit 9b9eb2e4f619c63eabdc54b5d749ac55d8eaf333 is obsoleted by orw's fix for i#124999; not sure about the other half. Change-Id: I337a4bbf79912c02be7c7c56c5705253b3d7b125 diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx index ed025f5..329df90 100644 --- a/sw/source/core/graphic/ndgrf.cxx +++ b/sw/source/core/graphic/ndgrf.cxx @@ -345,9 +345,6 @@ SwGrfNode::~SwGrfNode() /// allow reaction on change of content of GraphicObject void SwGrfNode::onGraphicChanged() { - if (GetGrfObj().IsSwappedOut()) // don't force swap-in for this - return; - // try to access SwFlyFrmFmt; since title/desc/name are set there, there is no // use to continue if it is not yet set. If not yet set, call onGraphicChanged() // when it is set. commit b181a3cdf8fc0206c4c71fa7d29d3a04b0caa46b Author: Oliver-Rainer Wittmann <o...@apache.org> Date: Fri Jun 6 12:14:07 2014 +0000 i#124999: - call <SwGrfNode::onGraphicChanged()> only when <Graphic> instance has been set, too - <SwGrfNode::onGraphicChanged()> - assure that graphic is swapped out in case its swap in has been triggered by this method. (cherry-picked from commit 4dbdc0ce931d7686583a49e68f8df09827357beb) Change-Id: I3e6aa68d9507095925dec37075abcdf9da58c804 diff --git a/sw/inc/ndgrf.hxx b/sw/inc/ndgrf.hxx index 4d97b6a..d4cd0fb 100644 --- a/sw/inc/ndgrf.hxx +++ b/sw/inc/ndgrf.hxx @@ -117,6 +117,10 @@ class SW_DLLPUBLIC SwGrfNode: public SwNoTxtNode ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > _GetDocSubstorageOrRoot( const OUString& aStgName ) const; + /// allow reaction on change of content of GraphicObject, so always call + /// when GraphicObject content changes + void onGraphicChanged(); + public: virtual ~SwGrfNode(); const Graphic& GetGrf() const { return maGrfObj.GetGraphic(); } @@ -132,10 +136,6 @@ public: void StartGraphicAnimation(OutputDevice* pOut, const Point& rPt, const Size& rSz, long nExtraData = 0, const GraphicAttr* pAttr = NULL, sal_uLong nFlags = GRFMGR_DRAW_STANDARD, OutputDevice* pFirstFrameOutDev = NULL) { maGrfObj.StartAnimation(pOut, rPt, rSz, nExtraData, pAttr, nFlags, pFirstFrameOutDev); } void StopGraphicAnimation(OutputDevice* pOut = NULL, long nExtraData = 0) { maGrfObj.StopAnimation(pOut, nExtraData); } - /// allow reaction on change of content of GraphicObject, so always call - /// when GraphicObject content changes - void onGraphicChanged(); - virtual Size GetTwipSize() const SAL_OVERRIDE; void SetTwipSize( const Size& rSz ); diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx index 01e9478..39a2849 100644 --- a/sw/source/core/doc/doc.cxx +++ b/sw/source/core/doc/doc.cxx @@ -578,7 +578,6 @@ SwFlyFrmFmt* SwDoc::Insert( const SwPaM &rRg, mpDfltGrfFmtColl ); SwFlyFrmFmt* pSwFlyFrmFmt = _InsNoTxtNode( *rRg.GetPoint(), pSwGrfNode, pFlyAttrSet, pGrfAttrSet, pFrmFmt ); - pSwGrfNode->onGraphicChanged(); return pSwFlyFrmFmt; } @@ -594,7 +593,6 @@ SwFlyFrmFmt* SwDoc::Insert( const SwPaM &rRg, const GraphicObject& rGrfObj, rGrfObj, mpDfltGrfFmtColl ); SwFlyFrmFmt* pSwFlyFrmFmt = _InsNoTxtNode( *rRg.GetPoint(), pSwGrfNode, pFlyAttrSet, pGrfAttrSet, pFrmFmt ); - pSwGrfNode->onGraphicChanged(); return pSwFlyFrmFmt; } diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx index 00e383d..ed025f5 100644 --- a/sw/source/core/graphic/ndgrf.cxx +++ b/sw/source/core/graphic/ndgrf.cxx @@ -219,7 +219,6 @@ bool SwGrfNode::ReRead( SwMsgPoolItem aMsgHint( RES_GRF_REREAD_AND_INCACHE ); ModifyNotification( &aMsgHint, &aMsgHint ); } - // #i59688# - do not load linked graphic, if it isn't a new linked graphic. else if ( bNewGrf ) { //TODO refLink->setInputStream(getInputStream()); @@ -284,12 +283,10 @@ bool SwGrfNode::ReRead( } else { - // reset data of the old graphic so that the correct placeholder is - // shown in case the new link could not be loaded - Graphic aGrf; aGrf.SetDefaultType(); + Graphic aGrf; + aGrf.SetDefaultType(); maGrfObj.SetGraphic( aGrf, rGrfName ); onGraphicChanged(); - // #i59688# - do not load linked graphic, if it isn't a new linked graphic. if ( bNewGrf ) { ((SwBaseLink*)&refLink)->SwapIn(); @@ -358,6 +355,7 @@ void SwGrfNode::onGraphicChanged() if(pFlyFmt) { + const bool bWasSwappedOut = GetGrfObj().IsSwappedOut(); OUString aName; OUString aTitle; OUString aDesc; @@ -389,11 +387,20 @@ void SwGrfNode::onGraphicChanged() { SetTitle(aTitle); } + else if (!aName.isEmpty()) + { + SetTitle(aName); + } if(!aDesc.isEmpty()) { SetDescription(aDesc); } + + if (bWasSwappedOut) + { + SwapOut(); + } } } @@ -736,7 +743,6 @@ void SwGrfNode::ReleaseLink() { if( refLink.Is() ) { - // #i15508# remember some stuff from the linked graphic const OUString aFileName(maGrfObj.GetLink()); const Graphic aLocalGraphic(maGrfObj.GetGraphic()); const bool bHasOriginalData(aLocalGraphic.IsLink()); @@ -1118,20 +1124,32 @@ GraphicAttr& SwGrfNode::GetGraphicAttr( GraphicAttr& rGA, { switch( rMirror.GetValue() ) { - case RES_MIRROR_GRAPH_DONT: nMirror = BMP_MIRROR_HORZ; break; - case RES_MIRROR_GRAPH_VERT: nMirror = BMP_MIRROR_NONE; break; - case RES_MIRROR_GRAPH_HOR: nMirror = BMP_MIRROR_HORZ|BMP_MIRROR_VERT; - break; - default: nMirror = BMP_MIRROR_VERT; break; + case RES_MIRROR_GRAPH_DONT: + nMirror = BMP_MIRROR_HORZ; + break; + case RES_MIRROR_GRAPH_VERT: + nMirror = BMP_MIRROR_NONE; + break; + case RES_MIRROR_GRAPH_HOR: + nMirror = BMP_MIRROR_HORZ|BMP_MIRROR_VERT; + break; + default: + nMirror = BMP_MIRROR_VERT; + break; } } else switch( rMirror.GetValue() ) { - case RES_MIRROR_GRAPH_BOTH: nMirror = BMP_MIRROR_HORZ|BMP_MIRROR_VERT; - break; - case RES_MIRROR_GRAPH_VERT: nMirror = BMP_MIRROR_HORZ; break; - case RES_MIRROR_GRAPH_HOR: nMirror = BMP_MIRROR_VERT; break; + case RES_MIRROR_GRAPH_BOTH: + nMirror = BMP_MIRROR_HORZ|BMP_MIRROR_VERT; + break; + case RES_MIRROR_GRAPH_VERT: + nMirror = BMP_MIRROR_HORZ; + break; + case RES_MIRROR_GRAPH_HOR: + nMirror = BMP_MIRROR_VERT; + break; } rGA.SetMirrorFlags( nMirror ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits