[Libreoffice-commits] core.git: 3 commits - vcl/aqua
Caolán McNamara
caolanm at redhat.com
Tue Apr 9 12:23:05 PDT 2013
vcl/aqua/source/gdi/salvd.cxx | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
New commits:
commit 43a23fb3f8f1ffa4937658dd9393d23533b84d18
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 9 20:17:39 2013 +0100
Related: fdo#62287 make it impossible to use a dead AquaSalFrame
Change-Id: Ie56a41e901ea26d5ea946260bdf25a903185be99
diff --git a/vcl/aqua/source/gdi/salvd.cxx b/vcl/aqua/source/gdi/salvd.cxx
index e4d5df3..3170dbe 100644
--- a/vcl/aqua/source/gdi/salvd.cxx
+++ b/vcl/aqua/source/gdi/salvd.cxx
@@ -190,9 +190,15 @@ sal_Bool AquaSalVirtualDevice::SetSize( long nDX, long nDY )
{
// get the first matching frame
pSalFrame = *GetSalData()->maFrames.begin();
- // update the frame reference
- mpGraphics->setGraphicsFrame( pSalFrame );
}
+ else
+ {
+ // ensure we don't reuse a dead AquaSalFrame on the very
+ // unlikely case of no other frame to use
+ pSalFrame = NULL;
+ }
+ // update the frame reference
+ mpGraphics->setGraphicsFrame( pSalFrame );
}
if( pSalFrame )
{
commit ef4b5aad82da7133e89e37e3e04791398d6fb3a6
Author: Herbert Dürr <hdu at apache.org>
Date: Wed Jul 11 14:01:20 2012 +0000
Related: #i120237# cache the updated frame reference in AquaSalGraphics
(cherry picked from commit 6e4214e604f8aa86b08a7fbe315a80d7751ffc2d)
Change-Id: Id10d49737ba773e95a3198997e25fbfd98708f65
diff --git a/vcl/aqua/source/gdi/salvd.cxx b/vcl/aqua/source/gdi/salvd.cxx
index 109b3fb..e4d5df3 100644
--- a/vcl/aqua/source/gdi/salvd.cxx
+++ b/vcl/aqua/source/gdi/salvd.cxx
@@ -182,11 +182,18 @@ sal_Bool AquaSalVirtualDevice::SetSize( long nDX, long nDY )
}
else
{
- // default to a NSView target context, any will do
+ // default to a NSView target context
AquaSalFrame* pSalFrame = mpGraphics->getGraphicsFrame();
if( !pSalFrame || !AquaSalFrame::isAlive( pSalFrame ))
+ {
if( !GetSalData()->maFrames.empty() )
+ {
+ // get the first matching frame
pSalFrame = *GetSalData()->maFrames.begin();
+ // update the frame reference
+ mpGraphics->setGraphicsFrame( pSalFrame );
+ }
+ }
if( pSalFrame )
{
// #i91990#
commit 5333d295225e4cf961e03ea8bf2fd1e2f9d168bc
Author: Herbert Dürr <hdu at apache.org>
Date: Wed Jul 11 13:13:24 2012 +0000
Resolves: #i120237# workaround a crash on OSX...
when a VirtualDevice is reused that was created for a now dead window
regression was introduced by the changes for #i116758#
Patch-By: Herbert Duerr
Suggested-By: Herbert Duerr
Found-By: Herbert Duerr
(cherry picked from commit 6550c7c0595670c10e340e2c7b41be7e128af40a)
Change-Id: I1a813f128ad16e6eb840b22fbd14af49b34e11d0
diff --git a/vcl/aqua/source/gdi/salvd.cxx b/vcl/aqua/source/gdi/salvd.cxx
index 36d9c7c..109b3fb 100644
--- a/vcl/aqua/source/gdi/salvd.cxx
+++ b/vcl/aqua/source/gdi/salvd.cxx
@@ -182,10 +182,11 @@ sal_Bool AquaSalVirtualDevice::SetSize( long nDX, long nDY )
}
else
{
- // default to a NSView target context
+ // default to a NSView target context, any will do
AquaSalFrame* pSalFrame = mpGraphics->getGraphicsFrame();
- if( !pSalFrame && !GetSalData()->maFrames.empty() )
- pSalFrame = *GetSalData()->maFrames.begin();
+ if( !pSalFrame || !AquaSalFrame::isAlive( pSalFrame ))
+ if( !GetSalData()->maFrames.empty() )
+ pSalFrame = *GetSalData()->maFrames.begin();
if( pSalFrame )
{
// #i91990#
More information about the Libreoffice-commits
mailing list