diff options
author | amit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-09 21:33:03 +0000 |
---|---|---|
committer | amit@chromium.org <amit@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-09 21:33:03 +0000 |
commit | e320093fd6080c1d11ec3a17ea52778ca9a8ed9b (patch) | |
tree | fc9fe6f0d51902bb608b3e84d9b071194d299348 /chrome_frame | |
parent | ddc0e4e7b41a492540c2170c77efc2cb14486497 (diff) | |
download | chromium_src-e320093fd6080c1d11ec3a17ea52778ca9a8ed9b.zip chromium_src-e320093fd6080c1d11ec3a17ea52778ca9a8ed9b.tar.gz chromium_src-e320093fd6080c1d11ec3a17ea52778ca9a8ed9b.tar.bz2 |
Fix a crash in IEExec of SBCMDID_MIXEDZONE for setting URL zone
IEExec(&CGID_Explorer, SBCMDID_MIXEDZONE, 0, NULL, NULL) in
ChromeActiveDocument::ActiveXDocActivate caused IEFrame to send
an invalid SB_SETTIPTEXTW to comctrl32 resulting in a crash.
Long story short, this happens due to IEFrame calling back
exec on us (for cmdid 41) and us returning S_FALSE. IEFrame
treats that as a success (can't really blame it here :) and
gets its internal logic mixed up.
The fix is to always return OLECMDERR_E_NOTSUPPORTED from our
Exec handler if we don't support that command.
BUG=24115
TEST=none
Review URL: http://codereview.chromium.org/265055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28604 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r-- | chrome_frame/chrome_active_document.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chrome_frame/chrome_active_document.cc b/chrome_frame/chrome_active_document.cc index f681711..2e3c43f 100644 --- a/chrome_frame/chrome_active_document.cc +++ b/chrome_frame/chrome_active_document.cc @@ -277,7 +277,7 @@ STDMETHODIMP ChromeActiveDocument::Exec(const GUID* cmd_group_guid, return ProcessExecCommand(cmd_group_guid, command_id, cmd_exec_opt, in_args, out_args); } - return S_FALSE; + return OLECMDERR_E_NOTSUPPORTED; } STDMETHODIMP ChromeActiveDocument::GetUrlForEvents(BSTR* url) { |