зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1268721, part 2 - Null check first argument to nsContentUtils::GetSurfaceData(). r=jimm
This commit is contained in:
Родитель
f7e9800e93
Коммит
ce5db61801
|
@ -7383,6 +7383,9 @@ nsContentUtils::TransferableToIPCTransferable(nsITransferable* aTransferable,
|
|||
}
|
||||
RefPtr<mozilla::gfx::DataSourceSurface> dataSurface =
|
||||
surface->GetDataSurface();
|
||||
if (!dataSurface) {
|
||||
continue;
|
||||
}
|
||||
size_t length;
|
||||
int32_t stride;
|
||||
mozilla::UniquePtr<char[]> surfaceData =
|
||||
|
|
|
@ -983,6 +983,10 @@ PuppetWidget::SetCursor(imgIContainer* aCursor,
|
|||
|
||||
RefPtr<mozilla::gfx::DataSourceSurface> dataSurface =
|
||||
surface->GetDataSurface();
|
||||
if (!dataSurface) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
size_t length;
|
||||
int32_t stride;
|
||||
mozilla::UniquePtr<char[]> surfaceData =
|
||||
|
|
|
@ -51,20 +51,21 @@ nsDragServiceProxy::InvokeDragSessionImpl(nsISupportsArray* aArrayTransferables,
|
|||
RefPtr<mozilla::gfx::DataSourceSurface> dataSurface =
|
||||
surface->GetDataSurface();
|
||||
mozilla::gfx::IntSize size = dataSurface->GetSize();
|
||||
if (dataSurface) {
|
||||
size_t length;
|
||||
int32_t stride;
|
||||
mozilla::UniquePtr<char[]> surfaceData =
|
||||
nsContentUtils::GetSurfaceData(dataSurface, &length, &stride);
|
||||
nsDependentCString dragImage(surfaceData.get(), length);
|
||||
|
||||
size_t length;
|
||||
int32_t stride;
|
||||
mozilla::UniquePtr<char[]> surfaceData =
|
||||
nsContentUtils::GetSurfaceData(dataSurface, &length, &stride);
|
||||
nsDependentCString dragImage(surfaceData.get(), length);
|
||||
|
||||
mozilla::Unused <<
|
||||
child->SendInvokeDragSession(dataTransfers, aActionType, dragImage,
|
||||
size.width, size.height, stride,
|
||||
static_cast<uint8_t>(dataSurface->GetFormat()),
|
||||
dragRect.x, dragRect.y);
|
||||
StartDragSession();
|
||||
return NS_OK;
|
||||
mozilla::Unused <<
|
||||
child->SendInvokeDragSession(dataTransfers, aActionType, dragImage,
|
||||
size.width, size.height, stride,
|
||||
static_cast<uint8_t>(dataSurface->GetFormat()),
|
||||
dragRect.x, dragRect.y);
|
||||
StartDragSession();
|
||||
return NS_OK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче