fix patch to apply

f41
David Tardon 11 years ago
parent 54fdddb514
commit 4685cc9b4a

@ -1,4 +1,4 @@
From 6b127d40c7d57745bc602d9ff7914392f9d3b92b Mon Sep 17 00:00:00 2001 From 35f78e48582caa691a855101a0d661985ba067bb Mon Sep 17 00:00:00 2001
From: David Tardon <dtardon@redhat.com> From: David Tardon <dtardon@redhat.com>
Date: Wed, 5 Feb 2014 10:55:25 +0100 Date: Wed, 5 Feb 2014 10:55:25 +0100
Subject: [PATCH] rhbz#1057977 avoid use of invalidated pointers Subject: [PATCH] rhbz#1057977 avoid use of invalidated pointers
@ -10,10 +10,10 @@ Change-Id: Ib81f79da696b5e8002f5a2ddcf160903231dc3f1
2 files changed, 59 insertions(+), 6 deletions(-) 2 files changed, 59 insertions(+), 6 deletions(-)
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 8a7c439..4223135 100644 index 047a79d..4f157b7 100644
--- a/include/vcl/outdev.hxx --- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx +++ b/include/vcl/outdev.hxx
@@ -537,9 +537,15 @@ protected: @@ -547,9 +547,15 @@ protected:
OutputDevice(); OutputDevice();
private: private:
@ -30,10 +30,10 @@ index 8a7c439..4223135 100644
virtual ~OutputDevice(); virtual ~OutputDevice();
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index 5c5dcf2..c347f71 100644 index afe06f7..d789eb9 100644
--- a/vcl/source/gdi/outdev3.cxx --- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx +++ b/vcl/source/gdi/outdev3.cxx
@@ -154,7 +154,7 @@ static void ImplRotatePos( long nOriginX, long nOriginY, long& rX, long& rY, @@ -156,7 +156,7 @@ static void ImplRotatePos( long nOriginX, long nOriginY, long& rX, long& rY,
} }
} }
@ -42,7 +42,7 @@ index 5c5dcf2..c347f71 100644
{ {
// the currently selected logical font is no longer needed // the currently selected logical font is no longer needed
if ( mpFontEntry ) if ( mpFontEntry )
@@ -205,6 +205,38 @@ void OutputDevice::ImplUpdateFontData( bool bNewFontLists ) @@ -207,6 +207,38 @@ void OutputDevice::ImplUpdateFontData( bool bNewFontLists )
delete mpFontList; delete mpFontList;
if( mpFontCache && mpFontCache != pSVData->maGDIData.mpScreenFontCache ) if( mpFontCache && mpFontCache != pSVData->maGDIData.mpScreenFontCache )
delete mpFontCache; delete mpFontCache;
@ -79,9 +79,9 @@ index 5c5dcf2..c347f71 100644
+ if( mpPDFWriter ) + if( mpPDFWriter )
+ { + {
mpFontList = pSVData->maGDIData.mpScreenFontList->Clone( true, true ); mpFontList = pSVData->maGDIData.mpScreenFontList->Clone( true, true );
mpFontCache = new ImplFontCache(); mpFontCache = new ImplFontCache( sal_False );
} }
@@ -222,16 +254,24 @@ void OutputDevice::ImplUpdateFontData( bool bNewFontLists ) @@ -227,16 +259,24 @@ void OutputDevice::ImplUpdateFontData( bool bNewFontLists )
Window* pChild = ((Window*)this)->mpWindowImpl->mpFirstChild; Window* pChild = ((Window*)this)->mpWindowImpl->mpFirstChild;
while ( pChild ) while ( pChild )
{ {
@ -107,7 +107,7 @@ index 5c5dcf2..c347f71 100644
// clear global font lists to have them updated // clear global font lists to have them updated
pSVData->maGDIData.mpScreenFontCache->Invalidate(); pSVData->maGDIData.mpScreenFontCache->Invalidate();
if ( bNewFontLists ) if ( bNewFontLists )
@@ -250,16 +290,23 @@ void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists ) @@ -255,16 +295,23 @@ void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists )
} }
} }
@ -133,7 +133,7 @@ index 5c5dcf2..c347f71 100644
pSysWin = pSysWin->mpWindowImpl->mpNextOverlap; pSysWin = pSysWin->mpWindowImpl->mpNextOverlap;
} }
@@ -270,7 +317,7 @@ void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists ) @@ -275,7 +322,7 @@ void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists )
VirtualDevice* pVirDev = pSVData->maGDIData.mpFirstVirDev; VirtualDevice* pVirDev = pSVData->maGDIData.mpFirstVirDev;
while ( pVirDev ) while ( pVirDev )
{ {
@ -142,7 +142,7 @@ index 5c5dcf2..c347f71 100644
pVirDev = pVirDev->mpNext; pVirDev = pVirDev->mpNext;
} }
@@ -278,7 +325,7 @@ void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists ) @@ -283,7 +330,7 @@ void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists )
Printer* pPrinter = pSVData->maGDIData.mpFirstPrinter; Printer* pPrinter = pSVData->maGDIData.mpFirstPrinter;
while ( pPrinter ) while ( pPrinter )
{ {

Loading…
Cancel
Save