Use scoped_nsobject to ensure our intermediate objects get cleaned up.
This commit is contained in:
parent
7b207aa1b6
commit
b2fb95f857
4 changed files with 10 additions and 9 deletions
|
@ -91,16 +91,16 @@ void Browser::SetUserActivity(const std::string& type, const std::map<std::strin
|
|||
NSString* type_ns = [NSString stringWithUTF8String:type.c_str()];
|
||||
NSUserActivity* user_activity = [[NSUserActivity alloc] initWithActivityType:type_ns];
|
||||
|
||||
NSMutableDictionary* user_info_args = [[NSMutableDictionary alloc] init];
|
||||
base::scoped_nsobject<NSMutableDictionary> user_info_args([[NSMutableDictionary alloc] init]);
|
||||
for (auto const &pair : user_info) {
|
||||
NSString* value_ns = [NSString stringWithUTF8String:pair.second.c_str()];
|
||||
NSString* key_ns = [NSString stringWithUTF8String:pair.first.c_str()];
|
||||
|
||||
[user_info_args setObject:value_ns
|
||||
forKey:key_ns];
|
||||
[user_info_args.get() setObject:value_ns
|
||||
forKey:key_ns];
|
||||
}
|
||||
|
||||
user_activity.userInfo = user_info_args;
|
||||
user_activity.userInfo = user_info_args.get();
|
||||
[user_activity becomeCurrent];
|
||||
|
||||
[[AtomApplication sharedApplication] setCurrentActivity:user_activity];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue