[Libreoffice-commits] core.git: vcl/source
Jan Holesovsky
kendy at collabora.com
Fri Dec 20 06:14:34 PST 2013
vcl/source/window/toolbox2.cxx | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
New commits:
commit 3843a568fd11ed0f2dac20d6c5e4f9feb7232f2e
Author: Jan Holesovsky <kendy at collabora.com>
Date: Fri Dec 20 15:13:29 2013 +0100
hidpi: Image is reference counted.
No need no schuffle with pointers to avoid copying :-)
Change-Id: I62757214db65af856e0c79f662d15938c0e9a675
diff --git a/vcl/source/window/toolbox2.cxx b/vcl/source/window/toolbox2.cxx
index c4f06dd..b11a918 100644
--- a/vcl/source/window/toolbox2.cxx
+++ b/vcl/source/window/toolbox2.cxx
@@ -1343,18 +1343,17 @@ void* ToolBox::GetItemData( sal_uInt16 nItemId ) const
// -----------------------------------------------------------------------
-void ToolBox::SetItemImage( sal_uInt16 nItemId, const Image& rInputImage )
+void ToolBox::SetItemImage( sal_uInt16 nItemId, const Image& rImage )
{
sal_uInt16 nPos = GetItemPos( nItemId );
if ( nPos != TOOLBOX_ITEM_NOTFOUND )
{
- const Image* pImage = &rInputImage; // Use the pointer to avoid unnecessary copying
- Image aImage; // But we still need to keep the modified image alive if created.
+ Image aImage(rImage);
if ( GetDPIScaleFactor() > 1)
{
- BitmapEx aBitmap = rInputImage.GetBitmapEx();
+ BitmapEx aBitmap(aImage.GetBitmapEx());
// Some code calls this twice, so add a sanity check
// FIXME find out what that code is & fix accordingly
@@ -1362,7 +1361,6 @@ void ToolBox::SetItemImage( sal_uInt16 nItemId, const Image& rInputImage )
{
aBitmap.Scale(GetDPIScaleFactor(), GetDPIScaleFactor());
aImage = Image(aBitmap);
- pImage = &aImage;
}
}
@@ -1371,14 +1369,14 @@ void ToolBox::SetItemImage( sal_uInt16 nItemId, const Image& rInputImage )
if ( !mbCalc )
{
Size aOldSize = pItem->maImage.GetSizePixel();
- pItem->maImage = *pImage;
+ pItem->maImage = aImage;
if ( aOldSize != pItem->maImage.GetSizePixel() )
ImplInvalidate( sal_True );
else
ImplUpdateItem( nPos );
}
else
- pItem->maImage = *pImage;
+ pItem->maImage = aImage;
}
}
More information about the Libreoffice-commits
mailing list