Check that the return value of CefClient::GetRenderHandler is non-NULL (issue #1504).

git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/2272@1996 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2015-01-26 00:57:43 +00:00
parent dc47bc006a
commit 5e13ce6df7
6 changed files with 73 additions and 45 deletions

View File

@ -1838,8 +1838,9 @@ void CefBrowserHostImpl::DragTargetDragEnter(CefRefPtr<CefDragData> drag_data,
int screenX, screenY;
if (!client_->GetRenderHandler()->GetScreenPoint(
this, event.x, event.y, screenX, screenY)) {
CefRefPtr<CefRenderHandler> handler = client_->GetRenderHandler();
if (!handler.get() || !handler->GetScreenPoint(this, event.x, event.y,
screenX, screenY)) {
screenX = event.x;
screenY = event.y;
}
@ -1877,8 +1878,9 @@ void CefBrowserHostImpl::DragTargetDragOver(const CefMouseEvent& event,
int screenX, screenY;
if (!client_->GetRenderHandler()->GetScreenPoint(
this, event.x, event.y, screenX, screenY)) {
CefRefPtr<CefRenderHandler> handler = client_->GetRenderHandler();
if (!handler.get() || !handler->GetScreenPoint(this, event.x, event.y,
screenX, screenY)) {
screenX = event.x;
screenY = event.y;
}
@ -1931,8 +1933,9 @@ void CefBrowserHostImpl::DragTargetDrop(const CefMouseEvent& event) {
int screenX, screenY;
if (!client_->GetRenderHandler()->GetScreenPoint(
this, event.x, event.y, screenX, screenY)) {
CefRefPtr<CefRenderHandler> handler = client_->GetRenderHandler();
if (!handler.get() || !handler->GetScreenPoint(this, event.x, event.y,
screenX, screenY)) {
screenX = event.x;
screenY = event.y;
}
@ -1984,8 +1987,9 @@ void CefBrowserHostImpl::DragSourceEndedAt(
int screenX, screenY;
if (!client_->GetRenderHandler()->GetScreenPoint(
this, x, y, screenX, screenY)) {
CefRefPtr<CefRenderHandler> handler = client_->GetRenderHandler();
if (!handler.get() || !handler->GetScreenPoint(this, x, y, screenX,
screenY)) {
screenX = x;
screenY = y;
}