[Libreoffice] [Libreoffice-commits] .: vcl/source "fix rendering of metafiles embedded in emf+"

Radek Doulik rodo at novell.com
Wed Jan 25 00:33:41 PST 2012


Hi Stefan,

I have reverted the patch and will try to replicate the problem and fix
it. Thanks for info and sorry for the trouble.

Cheers
Radek

On Tue, 2012-01-24 at 22:11 +0100, Stephan Bergmann wrote:
> Radek,
> 
> bisecting showed me that it is this commit that causes my machine to 
> become unresponsive (as the involved soffice.bin process keeps growing 
> in size, apparently without limit) when executing the forms_unoapi test 
> (during "make check") -- and it is also most likely this commit that 
> causes the current failures of the Linux-RHEL6-x86_64 at 14-with-check 
> tinderbox when executing the same test.
> 
> Though what's the problem is beyond me for tonight...
> 
> -Stephan
> 
> On 01/24/2012 01:42 PM, Radek Doulík wrote:
> >   vcl/source/gdi/gdimtf.cxx |    8 ++++----
> >   1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > New commits:
> > commit f7b6cd87f78b786b59984e5b3c8a5a78f0ed7a94
> > Author: Radek Doulik<rodo at novell.com>
> > Date:   Tue Jan 24 13:39:25 2012 +0100
> >
> >      fix rendering of metafiles embedded in emf+
> >
> > diff --git a/vcl/source/gdi/gdimtf.cxx b/vcl/source/gdi/gdimtf.cxx
> > index 38d66ed..1395fe6 100644
> > --- a/vcl/source/gdi/gdimtf.cxx
> > +++ b/vcl/source/gdi/gdimtf.cxx
> > @@ -406,9 +406,9 @@ void GDIMetaFile::Play( OutputDevice* pOut, size_t nPos )
> >           pOut->SetLayoutMode( 0 );
> >           pOut->SetDigitLanguage( 0 );
> >
> > -        for( size_t nCurPos = nCurrentActionElement; nCurPos<  nPos; nCurPos++ )
> > -        {
> > -            if( !Hook() )
> > +        OSL_TRACE("GDIMetaFile::Play on device of size: %d x %d", pOut->GetOutputSizePixel().Width(), pOut->GetOutputSizePixel().Height());
> > +        if( !ImplPlayWithRenderer( pOut, Point(0,0), pOut->GetOutputSizePixel() ) ) {
> > +            for( size_t nCurPos = nCurrentActionElement; nCurPos<  nPos; nCurPos++ )
> >               {
> >                   MetaCommentAction* pCommentAct = static_cast<MetaCommentAction*>(pAction);
> >                   if( pAction->GetType() == META_COMMENT_ACTION&&
> > @@ -608,7 +608,7 @@ void GDIMetaFile::Play( OutputDevice* pOut, const Point&  rPos,
> >       {
> >           GDIMetaFile*    pMtf = pOut->GetConnectMetaFile();
> >
> > -        if( bUseCanvas&&  !pMtf&&  ImplPlayWithRenderer( pOut, rPos, aDestSize ) )
> > +        if( bUseCanvas&&  ImplPlayWithRenderer( pOut, rPos, aDestSize ) )
> >               return;
> >
> >           Size aTmpPrefSize( pOut->LogicToPixel( GetPrefSize(), aDrawMap ) );
> 




More information about the LibreOffice mailing list