From 87af4dc4a88de034e438cea03fd4122c2d391f82 Mon Sep 17 00:00:00 2001 From: "pkasting@chromium.org" Date: Mon, 17 Nov 2008 21:40:05 +0000 Subject: It's possible for GetOleInterface() to return NULL. Degrade gracefully in this case. BUG=3906 Review URL: http://codereview.chromium.org/11213 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5576 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/autocomplete/autocomplete_edit.cc | 10 ++++++++-- chrome/browser/autocomplete/autocomplete_edit.h | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'chrome') diff --git a/chrome/browser/autocomplete/autocomplete_edit.cc b/chrome/browser/autocomplete/autocomplete_edit.cc index 680c851..6f0b5e1 100644 --- a/chrome/browser/autocomplete/autocomplete_edit.cc +++ b/chrome/browser/autocomplete/autocomplete_edit.cc @@ -2004,8 +2004,11 @@ void AutocompleteEditView::GetSelection(CHARRANGE& sel) const { GetSel(sel); // See if we need to reverse the direction of the selection. + ITextDocument* const text_object_model = GetTextObjectModel(); + if (!text_object_model) + return; CComPtr selection; - const HRESULT hr = GetTextObjectModel()->GetSelection(&selection); + const HRESULT hr = text_object_model->GetSelection(&selection); DCHECK(hr == S_OK); long flags; selection->GetFlags(&flags); @@ -2031,8 +2034,11 @@ void AutocompleteEditView::SetSelection(LONG start, LONG end) { return; // We need to reverse the direction of the selection. + ITextDocument* const text_object_model = GetTextObjectModel(); + if (!text_object_model) + return; CComPtr selection; - const HRESULT hr = GetTextObjectModel()->GetSelection(&selection); + const HRESULT hr = text_object_model->GetSelection(&selection); DCHECK(hr == S_OK); selection->SetFlags(tomSelStartActive); } diff --git a/chrome/browser/autocomplete/autocomplete_edit.h b/chrome/browser/autocomplete/autocomplete_edit.h index 99309ef..07324701 100644 --- a/chrome/browser/autocomplete/autocomplete_edit.h +++ b/chrome/browser/autocomplete/autocomplete_edit.h @@ -772,7 +772,8 @@ class AutocompleteEditView // Getter for the text_object_model_, used by the ScopedXXX classes. Note // that the pointer returned here is only valid as long as the - // AutocompleteEdit is still alive. + // AutocompleteEdit is still alive. Also, if the underlying call fails, this + // may return NULL. ITextDocument* GetTextObjectModel() const; // Invoked during a mouse move. As necessary starts a drag and drop session. -- cgit v1.1