[Libreoffice-commits] core.git: Branch 'private/tml/cp-4.2-ia2' - 2 commits - sfx2/qa vcl/inc vcl/win
Tor Lillqvist
tml at collabora.com
Tue Jun 3 14:22:15 PDT 2014
sfx2/qa/complex/sfx2/UndoManager.java | 4 ++--
vcl/inc/win/saldata.hxx | 2 ++
vcl/win/source/gdi/salgdi.cxx | 7 +++++++
3 files changed, 11 insertions(+), 2 deletions(-)
New commits:
commit cc29ff5f3435b3bcd028f551b654d44d7c137b57
Author: Tor Lillqvist <tml at collabora.com>
Date: Tue Jun 3 23:36:18 2014 +0300
Avoid accessing freed memory and freeing already freed resources
Seen in smoketest a 4.2-based branch, but might perhaps happen in master
too. Should not hurt in any case to be more careful. ImplFreeSalGDI() is
called both from SalAbort() and from DestroySalInstance().
Change-Id: Ifac37e8ecfb432848bd3451dbda8634c59a06fba
diff --git a/vcl/inc/win/saldata.hxx b/vcl/inc/win/saldata.hxx
index d1464d5..1d54637 100644
--- a/vcl/inc/win/saldata.hxx
+++ b/vcl/inc/win/saldata.hxx
@@ -70,6 +70,8 @@ public:
// checks if the menuhandle was created by VCL
sal_Bool IsKnownMenuHandle( HMENU hMenu );
+ bool mbResourcesAlreadyFreed;
+
public:
HINSTANCE mhInst; // default instance handle
HINSTANCE mhPrevInst; // previous instance handle
diff --git a/vcl/win/source/gdi/salgdi.cxx b/vcl/win/source/gdi/salgdi.cxx
index e3a660f..5d1cd35 100644
--- a/vcl/win/source/gdi/salgdi.cxx
+++ b/vcl/win/source/gdi/salgdi.cxx
@@ -136,6 +136,8 @@ void ImplInitSalGDI()
{
SalData* pSalData = GetSalData();
+ pSalData->mbResourcesAlreadyFreed = false;
+
// init stock brushes
pSalData->maStockPenColorAry[0] = PALETTERGB( 0, 0, 0 );
pSalData->maStockPenColorAry[1] = PALETTERGB( 0xFF, 0xFF, 0xFF );
@@ -315,6 +317,9 @@ void ImplFreeSalGDI()
{
SalData* pSalData = GetSalData();
+ if (pSalData->mbResourcesAlreadyFreed)
+ return;
+
// destroy stock objects
int i;
for ( i = 0; i < pSalData->mnStockPenCount; i++ )
@@ -381,6 +386,8 @@ void ImplFreeSalGDI()
// delete temporary font list
ImplReleaseTempFonts( *pSalData );
+
+ pSalData->mbResourcesAlreadyFreed = true;
}
// -----------------------------------------------------------------------
commit 02a9c1a3b3ecb07d3b4b9db4d86dba2fefbd187d
Author: Michael Stahl <mstahl at redhat.com>
Date: Tue Nov 26 23:08:21 2013 +0100
adapt sfx2 UndoManager test to renaming from "click" to "press"
RID_STR_ACC_ACTION_CLICK in efb23f29983f87104a684e7fab00b84fc59d131d
Change-Id: If684816602db38fa87b6272c0491ab2ac910aece
diff --git a/sfx2/qa/complex/sfx2/UndoManager.java b/sfx2/qa/complex/sfx2/UndoManager.java
index 69c9dd2..901c6c4 100644
--- a/sfx2/qa/complex/sfx2/UndoManager.java
+++ b/sfx2/qa/complex/sfx2/UndoManager.java
@@ -429,13 +429,13 @@ public class UndoManager
final XAccessibleAction controlActions = UnoRuntime.queryInterface( XAccessibleAction.class, accessible.getAccessibleContext() );
for ( int i=0; i<controlActions.getAccessibleActionCount(); ++i )
{
- if ( controlActions.getAccessibleActionDescription(i).equals( "click" ) )
+ if (controlActions.getAccessibleActionDescription(i).equals("press"))
{
controlActions.doAccessibleAction(i);
return;
}
}
- fail( "did not find the accessible action named 'click'" );
+ fail("did not find the accessible action named 'press'");
}
// -----------------------------------------------------------------------------------------------------------------
More information about the Libreoffice-commits
mailing list