| Index: core/fxge/apple/fx_quartz_device.cpp
|
| diff --git a/core/fxge/apple/fx_quartz_device.cpp b/core/fxge/apple/fx_quartz_device.cpp
|
| index b3591a3da132eed48b8d6cacee31b3c686bc3c42..a9b9268ae61ee2e518eabe9db74619b061664648 100644
|
| --- a/core/fxge/apple/fx_quartz_device.cpp
|
| +++ b/core/fxge/apple/fx_quartz_device.cpp
|
| @@ -10,6 +10,7 @@
|
| #include "core/fxge/agg/fx_agg_driver.h"
|
| #endif
|
|
|
| +#include "core/fxcrt/include/fx_memory.h"
|
| #include "core/fxge/dib/dib_int.h"
|
| #include "core/fxge/ge/fx_text_int.h"
|
| #include "core/fxge/include/fx_freetype.h"
|
| @@ -1018,34 +1019,32 @@ FX_BOOL CFX_QuartzDevice::Attach(CGContextRef context, int32_t nDeviceClass) {
|
| }
|
| m_pContext = context;
|
| CGContextRetain(m_pContext);
|
| - IFX_RenderDeviceDriver* pDriver =
|
| - new CFX_QuartzDeviceDriver(m_pContext, nDeviceClass);
|
| - SetDeviceDriver(pDriver);
|
| + SetDeviceDriver(
|
| + WrapUnique(new CFX_QuartzDeviceDriver(m_pContext, nDeviceClass)));
|
| return TRUE;
|
| }
|
| +
|
| FX_BOOL CFX_QuartzDevice::Attach(CFX_DIBitmap* pBitmap) {
|
| SetBitmap(pBitmap);
|
| m_pContext = createContextWithBitmap(pBitmap);
|
| if (!m_pContext)
|
| return FALSE;
|
|
|
| - IFX_RenderDeviceDriver* pDriver =
|
| - new CFX_QuartzDeviceDriver(m_pContext, FXDC_DISPLAY);
|
| - SetDeviceDriver(pDriver);
|
| + SetDeviceDriver(
|
| + WrapUnique(new CFX_QuartzDeviceDriver(m_pContext, FXDC_DISPLAY)));
|
| return TRUE;
|
| }
|
| +
|
| FX_BOOL CFX_QuartzDevice::Create(int32_t width,
|
| int32_t height,
|
| FXDIB_Format format) {
|
| if ((uint8_t)format < 32) {
|
| return FALSE;
|
| }
|
| - CFX_DIBitmap* pBitmap = new CFX_DIBitmap;
|
| - if (!pBitmap->Create(width, height, format)) {
|
| - delete pBitmap;
|
| + std::unique_ptr<CFX_DIBitmap> pBitmap(new CFX_DIBitmap);
|
| + if (!pBitmap->Create(width, height, format))
|
| return FALSE;
|
| - }
|
| m_bOwnedBitmap = TRUE;
|
| - return Attach(pBitmap);
|
| + return Attach(pBitmap.release());
|
| }
|
| #endif // _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
|
|
|