From fedb08899cc606642a0bc3dddc95ca2341c6aeb0 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Mon, 18 Aug 2014 15:36:29 +0800 Subject: [PATCH] views: Fix calculating underline's position. --- atom/browser/ui/views/submenu_button.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/atom/browser/ui/views/submenu_button.cc b/atom/browser/ui/views/submenu_button.cc index 8d19afb2bc..59083c15a6 100644 --- a/atom/browser/ui/views/submenu_button.cc +++ b/atom/browser/ui/views/submenu_button.cc @@ -71,10 +71,10 @@ void SubmenuButton::OnPaint(gfx::Canvas* canvas) { bool SubmenuButton::GetUnderlinePosition( const base::string16& text, int* start, int* end) { int pos, span; - gfx::RemoveAcceleratorChar(text, '&', &pos, &span); + base::string16 trimmed = gfx::RemoveAcceleratorChar(text, '&', &pos, &span); if (pos > -1 && span != 0) { - GetCharacterPosition(text, pos, start); - GetCharacterPosition(text, pos + span, end); + GetCharacterPosition(trimmed, pos, start); + GetCharacterPosition(trimmed, pos + span, end); return true; } @@ -83,10 +83,9 @@ bool SubmenuButton::GetUnderlinePosition( void SubmenuButton::GetCharacterPosition( const base::string16& text, int index, int* pos) { - int width, height; - gfx::Canvas::SizeStringInt(text.substr(0, index), font_list(), &width, - &height, 0, 0); - *pos = width; + int height; + gfx::Canvas::SizeStringInt(text.substr(0, index), font_list(), pos, &height, + 0, 0); } } // namespace atom