extensions.lst | 2 - sw/source/core/graphic/ndgrf.cxx | 40 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 3 deletions(-)
New commits: commit 58f18227a16379b5a4b3530b6ab2b683a63e6906 Author: Andrea Pescetti <pesce...@apache.org> Date: Mon Feb 10 22:56:42 2014 +0000 #i124127# Update English dictionary to the latest (2014.02.10) version. diff --git a/extensions.lst b/extensions.lst index 1f53f19..e016099 100644 --- a/extensions.lst +++ b/extensions.lst @@ -39,7 +39,7 @@ # English dictionary [ language=en.* || language=de || language=it ] - 043e3c42b1b2a20517f8069afb9cba24 http://sourceforge.net/projects/aoo-extensions/files/17102/2/dict-en-marcoagpinto-20140107.oxt/download "dict-en.oxt" + 21000528c50707539220e05df554172f http://sourceforge.net/projects/aoo-extensions/files/17102/3/dict-en.oxt/download "dict-en.oxt" # English (USA, en_US) dictionary [ language==nl || language==ru ] commit a9325263271883fb147351d287c817ea7984fbe9 Author: Armin Le Grand <a...@apache.org> Date: Mon Feb 10 22:24:18 2014 +0000 i15508 keep trhe original file and format AFAP when breaking links to graphic contents in Writer diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx index b96e13f..5fa944c 100644 --- a/sw/source/core/graphic/ndgrf.cxx +++ b/sw/source/core/graphic/ndgrf.cxx @@ -741,8 +741,11 @@ void SwGrfNode::ReleaseLink() { if( refLink.Is() ) { - // erst die Grafik reinswappen! -// if( aGraphic.IsSwapOut() || !refLink->IsSynchron() ) + // #15508# remember some stuff from the linked graphic + const String aFileName(maGrfObj.GetLink()); + const Graphic aLocalGraphic(maGrfObj.GetGraphic()); + const bool bHasOriginalData(aLocalGraphic.IsLink()); + { bInSwapIn = sal_True; SwBaseLink* pLink = (SwBaseLink*)(::sfx2::SvBaseLink*) refLink; @@ -750,9 +753,42 @@ void SwGrfNode::ReleaseLink() pLink->SwapIn( sal_True, sal_True ); bInSwapIn = sal_False; } + getIDocumentLinksAdministration()->GetLinkManager().Remove( refLink ); refLink.Clear(); maGrfObj.SetLink(); + + // #15508# added extra processing after getting rid of the link. Use whatever is + // known from the formally linked graphic to get to a state as close to a directly + // unlinked insterted graphic as possible. Goal is to have a valid GfxLink at the + // ImplGraphic (see there) that holds temporary data to the original data and type + // information about the original data. Only when this is given will + // SvXMLGraphicHelper::ImplInsertGraphicURL which is used at export use that type + // and use the original graphic at export for the ODF, without evtl. recoding + // of trhe bitmap graphic data to something without loss (e.g. PNG) but bigger + if(bHasOriginalData) + { + // #15508# if we have the original data at the Graphic, let it survive + // by using that Graphic again, this time at a GraphicObject without link. + // This happens e.g. when inserting a linked graphic and breaking the link + maGrfObj.SetGraphic(aLocalGraphic); + } + else if(aFileName.Len()) + { + // #15508# we have no original data, but a file name. This happens e.g. + // when inserting a linked graphic and save, reload document. Try to access + // that data from the original file; if this works, use it. Else use the + // data we have (but without knowing the original format) + int nRes = GRFILTER_OK; + GraphicFilter* pFlt = GraphicFilter::GetGraphicFilter(); + Graphic aNew; + nRes = GraphicFilter::LoadGraphic( aFileName, String(), aNew, pFlt); + + if(GRFILTER_OK == nRes) + { + maGrfObj.SetGraphic(aNew); + } + } } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits