diff --git a/DesktopEditor/raster/Metafile/svg/SvgObjects/CGradient.cpp b/DesktopEditor/raster/Metafile/svg/SvgObjects/CGradient.cpp index a82afb233c..afb8afb5e3 100644 --- a/DesktopEditor/raster/Metafile/svg/SvgObjects/CGradient.cpp +++ b/DesktopEditor/raster/Metafile/svg/SvgObjects/CGradient.cpp @@ -9,7 +9,7 @@ namespace SVG ObjectType CStopElement::GetType() const { - return AppliedObject; + return DataObject; } SvgDigit CStopElement::GetOffset() const @@ -62,16 +62,7 @@ namespace SVG return; WHILE_READ_NEXT_NODE_WITH_ONE_NAME(oReader, "stop") - { - CStopElement *pStopElement = new CStopElement(oReader); - - if (NULL == pStopElement) - continue; - - pSvgFile->GetSvgCalculator()->SetData(pStopElement); - - AddObject(pStopElement); - } + AddObject(CObject::Create(oReader, pSvgFile)); END_WHILE } diff --git a/DesktopEditor/raster/Metafile/svg/SvgObjects/CObjectBase.h b/DesktopEditor/raster/Metafile/svg/SvgObjects/CObjectBase.h index 1f495cf4eb..899effb559 100644 --- a/DesktopEditor/raster/Metafile/svg/SvgObjects/CObjectBase.h +++ b/DesktopEditor/raster/Metafile/svg/SvgObjects/CObjectBase.h @@ -34,7 +34,8 @@ namespace SVG enum ObjectType { RendererObject, - AppliedObject + AppliedObject, + DataObject }; class CObject : public IGrObject