diff --git a/src/Visualization/TKService/Image/Image_AlienPixMap.cxx b/src/Visualization/TKService/Image/Image_AlienPixMap.cxx index 6ed2b76797..7e14e9e62d 100644 --- a/src/Visualization/TKService/Image/Image_AlienPixMap.cxx +++ b/src/Visualization/TKService/Image/Image_AlienPixMap.cxx @@ -922,13 +922,13 @@ bool Image_AlienPixMap::Load(const Standard_Byte* theData, aWicSrc = aWicConvertedFrame.get(); } - IWICBitmapFlipRotator* aRotator; - bool isTopDown = true; - if (aWicImgFactory->CreateBitmapFlipRotator(&aRotator) == S_OK + Image_ComPtr aRotator; + bool isTopDown = true; + if (aWicImgFactory->CreateBitmapFlipRotator(&aRotator.ChangePtr()) == S_OK && aRotator->Initialize(aWicSrc, WICBitmapTransformFlipVertical) == S_OK) { isTopDown = false; - aWicSrc = aRotator; + aWicSrc = aRotator.get(); } if (aWicSrc->CopyPixels(NULL, (UINT)SizeRowBytes(), (UINT)SizeBytes(), ChangeData()) != S_OK)