summaryrefslogtreecommitdiffstats
path: root/svx/source/svdraw/svdmodel.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/svdraw/svdmodel.cxx')
-rw-r--r--svx/source/svdraw/svdmodel.cxx27
1 files changed, 13 insertions, 14 deletions
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index 7ea96c3daf80..54596ab03c25 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -1818,43 +1818,42 @@ void SdrModel::MigrateItemSet( const SfxItemSet* pSourceSet, SfxItemSet* pDestSe
{
if(SFX_ITEM_SET == pSourceSet->GetItemState(nWhich, false, &pPoolItem))
{
- const SfxPoolItem* pItem = pPoolItem;
+ const SfxPoolItem* pResultItem = NULL;
switch( nWhich )
{
case XATTR_FILLBITMAP:
- pItem = ((XFillBitmapItem*)pItem)->checkForUniqueItem( pNewModel );
+ pResultItem = ((XFillBitmapItem*)pPoolItem)->checkForUniqueItem( pNewModel );
break;
case XATTR_LINEDASH:
- pItem = ((XLineDashItem*)pItem)->checkForUniqueItem( pNewModel );
+ pResultItem = ((XLineDashItem*)pPoolItem)->checkForUniqueItem( pNewModel );
break;
case XATTR_LINESTART:
- pItem = ((XLineStartItem*)pItem)->checkForUniqueItem( pNewModel );
+ pResultItem = ((XLineStartItem*)pPoolItem)->checkForUniqueItem( pNewModel );
break;
case XATTR_LINEEND:
- pItem = ((XLineEndItem*)pItem)->checkForUniqueItem( pNewModel );
+ pResultItem = ((XLineEndItem*)pPoolItem)->checkForUniqueItem( pNewModel );
break;
case XATTR_FILLGRADIENT:
- pItem = ((XFillGradientItem*)pItem)->checkForUniqueItem( pNewModel );
+ pResultItem = ((XFillGradientItem*)pPoolItem)->checkForUniqueItem( pNewModel );
break;
case XATTR_FILLFLOATTRANSPARENCE:
// allow all kinds of XFillFloatTransparenceItem to be set
- pItem = ((XFillFloatTransparenceItem*)pItem)->checkForUniqueItem( pNewModel );
+ pResultItem = ((XFillFloatTransparenceItem*)pPoolItem)->checkForUniqueItem( pNewModel );
break;
case XATTR_FILLHATCH:
- pItem = ((XFillHatchItem*)pItem)->checkForUniqueItem( pNewModel );
+ pResultItem = ((XFillHatchItem*)pPoolItem)->checkForUniqueItem( pNewModel );
break;
}
// set item
- if( pItem )
+ if( pResultItem )
{
- pDestSet->Put(*pItem);
-
- // delete item if it was a generated one
- if( pItem != pPoolItem)
- delete (SfxPoolItem*)pItem;
+ pDestSet->Put(*pResultItem);
+ delete (SfxPoolItem*)pResultItem;
}
+ else
+ pDestSet->Put(*pPoolItem);
}
nWhich = aWhichIter.NextWhich();
}