Index: chrome/browser/chromeos/input_method/xkeyboard.cc |
diff --git a/chrome/browser/chromeos/input_method/xkeyboard.cc b/chrome/browser/chromeos/input_method/xkeyboard.cc |
index 81ae4911930b59e1c31862ce6bde56dcd95515a0..06e79079488b4e6e63d5175ceedcfa8954e50cef 100644 |
--- a/chrome/browser/chromeos/input_method/xkeyboard.cc |
+++ b/chrome/browser/chromeos/input_method/xkeyboard.cc |
@@ -264,20 +264,17 @@ unsigned int XKeyboardImpl::GetNumLockMask() { |
const std::string string_to_find(kNumLockVirtualModifierString); |
for (size_t i = 0; i < XkbNumVirtualMods; ++i) { |
const unsigned int virtual_mod_mask = 1U << i; |
- char* virtual_mod_str = |
- XGetAtomName(xkb_desc->dpy, xkb_desc->names->vmods[i]); |
- if (!virtual_mod_str) { |
+ ui::XScopedString virtual_mod_str( |
+ XGetAtomName(xkb_desc->dpy, xkb_desc->names->vmods[i])); |
+ if (!virtual_mod_str.string()) |
continue; |
- } |
- if (string_to_find == virtual_mod_str) { |
+ if (string_to_find == virtual_mod_str.string()) { |
if (!XkbVirtualModsToReal(xkb_desc, virtual_mod_mask, &real_mask)) { |
LOG(ERROR) << "XkbVirtualModsToReal failed"; |
real_mask = kBadMask; // reset the return value, just in case. |
} |
- XFree(virtual_mod_str); |
break; |
} |
- XFree(virtual_mod_str); |
} |
} |
XkbFreeKeyboard(xkb_desc, 0, True /* free all components */); |