diff options
Diffstat (limited to 'chrome_frame/find_dialog.cc')
-rw-r--r-- | chrome_frame/find_dialog.cc | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/chrome_frame/find_dialog.cc b/chrome_frame/find_dialog.cc index 15aaff7..eddfc81 100644 --- a/chrome_frame/find_dialog.cc +++ b/chrome_frame/find_dialog.cc @@ -50,7 +50,7 @@ LRESULT CFFindDialog::OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, LRESULT CFFindDialog::OnInitDialog(UINT msg, WPARAM wparam, LPARAM lparam, BOOL& handled) { // Init() must be called before Create() or DoModal()! - DCHECK(automation_client_); + DCHECK(automation_client_.get()); InstallMessageHook(); SendDlgItemMessage(IDC_FIND_TEXT, EM_EXLIMITTEXT, 0, kMaxFindChars); @@ -67,32 +67,32 @@ LRESULT CALLBACK CFFindDialog::GetMsgProc(int code, WPARAM wparam, LPARAM lparam) { // Mostly borrowed from http://support.microsoft.com/kb/q187988/ // and http://www.codeproject.com/KB/atl/cdialogmessagehook.aspx. - LPMSG msg = reinterpret_cast<LPMSG>(lparam);
- if (code >= 0 && wparam == PM_REMOVE &&
- msg->message >= WM_KEYFIRST && msg->message <= WM_KEYLAST) {
- HWND hwnd = GetActiveWindow();
- if (::IsWindow(hwnd) && ::IsDialogMessage(hwnd, msg)) {
- // The value returned from this hookproc is ignored, and it cannot
- // be used to tell Windows the message has been handled. To avoid
- // further processing, convert the message to WM_NULL before
- // returning.
- msg->hwnd = NULL;
- msg->message = WM_NULL;
- msg->lParam = 0L;
- msg->wParam = 0;
- }
- }
-
- // Passes the hook information to the next hook procedure in
- // the current hook chain.
+ LPMSG msg = reinterpret_cast<LPMSG>(lparam); + if (code >= 0 && wparam == PM_REMOVE && + msg->message >= WM_KEYFIRST && msg->message <= WM_KEYLAST) { + HWND hwnd = GetActiveWindow(); + if (::IsWindow(hwnd) && ::IsDialogMessage(hwnd, msg)) { + // The value returned from this hookproc is ignored, and it cannot + // be used to tell Windows the message has been handled. To avoid + // further processing, convert the message to WM_NULL before + // returning. + msg->hwnd = NULL; + msg->message = WM_NULL; + msg->lParam = 0L; + msg->wParam = 0; + } + } + + // Passes the hook information to the next hook procedure in + // the current hook chain. return ::CallNextHookEx(msg_hook_, code, wparam, lparam); } bool CFFindDialog::InstallMessageHook() { // Make sure we only call this once. DCHECK(msg_hook_ == NULL); - msg_hook_ = ::SetWindowsHookEx(WH_GETMESSAGE, &CFFindDialog::GetMsgProc,
- _AtlBaseModule.m_hInst, GetCurrentThreadId());
+ msg_hook_ = ::SetWindowsHookEx(WH_GETMESSAGE, &CFFindDialog::GetMsgProc, + _AtlBaseModule.m_hInst, GetCurrentThreadId()); DCHECK(msg_hook_ != NULL); return msg_hook_ != NULL; } |