diff options
author | yosin@chromium.org <yosin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-31 08:23:50 +0000 |
---|---|---|
committer | yosin@chromium.org <yosin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-08-31 08:23:50 +0000 |
commit | be9b8a37b1c328fbcd5279fc895e409c039bdd36 (patch) | |
tree | edab46dde23e564dad2d313923760213a98cb61a /views | |
parent | 9f9b0435a4ae96e69bfc802cb1eed3f2e635b02f (diff) | |
download | chromium_src-be9b8a37b1c328fbcd5279fc895e409c039bdd36.zip chromium_src-be9b8a37b1c328fbcd5279fc895e409c039bdd36.tar.gz chromium_src-be9b8a37b1c328fbcd5279fc895e409c039bdd36.tar.bz2 |
* Fix small memory leak on SysAllocString.
** Use IAccPropServices::SetHwndPropStr == no more BSTR
* Change for cpplint.py
Caller owns BSTR on call:
http://www.codeguru.com/forum/showthread.php?t=364511
BUG=n/a
TEST=Use Task Manager for monitoring memory usage after setting long title with document.title
Review URL: http://codereview.chromium.org/7806010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98940 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r-- | views/widget/native_widget_win.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/views/widget/native_widget_win.cc b/views/widget/native_widget_win.cc index a1bb956..0e459c7 100644 --- a/views/widget/native_widget_win.cc +++ b/views/widget/native_widget_win.cc @@ -7,6 +7,8 @@ #include <dwmapi.h> #include <shellapi.h> +#include <algorithm> + #include "base/string_util.h" #include "base/system_monitor/system_monitor.h" #include "base/win/scoped_gdi_object.h" @@ -679,13 +681,10 @@ void NativeWidgetWin::SetAccessibleName(const std::wstring& name) { base::win::ScopedComPtr<IAccPropServices> pAccPropServices; HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL, CLSCTX_SERVER, IID_IAccPropServices, reinterpret_cast<void**>(&pAccPropServices)); - if (SUCCEEDED(hr)) { - VARIANT var; - var.vt = VT_BSTR; - var.bstrVal = SysAllocString(name.c_str()); - hr = pAccPropServices->SetHwndProp(GetNativeView(), OBJID_CLIENT, - CHILDID_SELF, PROPID_ACC_NAME, var); - } + if (SUCCEEDED(hr)) + hr = pAccPropServices->SetHwndPropStr(GetNativeView(), OBJID_CLIENT, + CHILDID_SELF, PROPID_ACC_NAME, + name.c_str()); } void NativeWidgetWin::SetAccessibleRole(ui::AccessibilityTypes::Role role) { @@ -710,6 +709,7 @@ void NativeWidgetWin::SetAccessibleState(ui::AccessibilityTypes::State state) { if (SUCCEEDED(hr)) { VARIANT var; if (state) { + var.vt = VT_I4; var.lVal = NativeViewAccessibilityWin::MSAAState(state); hr = pAccPropServices->SetHwndProp(GetNativeView(), OBJID_CLIENT, CHILDID_SELF, PROPID_ACC_STATE, var); @@ -1049,7 +1049,7 @@ void NativeWidgetWin::SchedulePaintInRect(const gfx::Rect& rect) { } void NativeWidgetWin::SetCursor(gfx::NativeCursor cursor) { - if(cursor) { + if (cursor) { previous_cursor_ = ::SetCursor(cursor); } else if (previous_cursor_) { ::SetCursor(previous_cursor_); @@ -1597,7 +1597,7 @@ LRESULT NativeWidgetWin::OnNCCalcSize(BOOL mode, LPARAM l_param) { } RECT* client_rect = mode ? - &reinterpret_cast<NCCALCSIZE_PARAMS*>(l_param)->rgrc[0] : + &(reinterpret_cast<NCCALCSIZE_PARAMS*>(l_param)->rgrc[0]) : reinterpret_cast<RECT*>(l_param); client_rect->left += insets.left(); client_rect->top += insets.top(); |