#include <ScopedUtfChars.h>
+#include "SkTemplates.h"
+
// ----------------------------------------------------------------------------
namespace android {
int bottom = env->GetIntField(sourceCropObj, gRectClassInfo.bottom);
Rect sourceCrop(left, top, right, bottom);
- ScreenshotClient* screenshot = new ScreenshotClient();
+ SkAutoTDelete<ScreenshotClient> screenshot(new ScreenshotClient());
status_t res;
if (width > 0 && height > 0) {
if (allLayers) {
res = screenshot->update(displayToken, sourceCrop, useIdentityTransform);
}
if (res != NO_ERROR) {
- delete screenshot;
return NULL;
}
break;
}
default: {
- delete screenshot;
return NULL;
}
}
// takes ownership of ScreenshotClient
SkMallocPixelRef* pixels = SkMallocPixelRef::NewWithProc(screenshotInfo,
(size_t) rowBytes, NULL, (void*) screenshot->getPixels(), &DeleteScreenshot,
- (void*) screenshot);
+ (void*) (screenshot.detach()));
pixels->setImmutable();
bitmap->setPixelRef(pixels)->unref();
bitmap->lockPixels();