| Index: chrome/browser/api/prefs/pref_member.cc
|
| diff --git a/chrome/browser/api/prefs/pref_member.cc b/chrome/browser/api/prefs/pref_member.cc
|
| index e81b13a61081620b7495dbb94ac4f697fe0d344d..ee0ca9869cddf69db657e6d292dae5745b125fc2 100644
|
| --- a/chrome/browser/api/prefs/pref_member.cc
|
| +++ b/chrome/browser/api/prefs/pref_member.cc
|
| @@ -37,12 +37,17 @@ void PrefMemberBase::Init(const char* pref_name,
|
| << pref_name << " not registered.";
|
|
|
| // Add ourselves as a pref observer so we can keep our local value in sync.
|
| - prefs_->AddPrefObserver(pref_name, this);
|
| + prefs_->AddPrefObserver(pref_name,
|
| + base::Bind(&PrefMemberBase::OnPreferenceChanged,
|
| + base::Unretained(this), prefs, pref_name));
|
| }
|
|
|
| void PrefMemberBase::Destroy() {
|
| if (prefs_ && !pref_name_.empty()) {
|
| - prefs_->RemovePrefObserver(pref_name_.c_str(), this);
|
| + prefs_->RemovePrefObserver(pref_name_.c_str(),
|
| + base::Bind(&PrefMemberBase::OnPreferenceChanged,
|
| + base::Unretained(this),
|
| + prefs_, pref_name_.c_str()));
|
| prefs_ = NULL;
|
| }
|
| }
|
|
|