summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/bluetooth_device_client.cc
diff options
context:
space:
mode:
authorgdk@chromium.org <gdk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-07 05:34:16 +0000
committergdk@chromium.org <gdk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-07 05:34:16 +0000
commit926957b72bee0ee2b268d946bc0ae25047e92539 (patch)
tree9ad6c5dec928ebdaf64299aeebecf0505c32df30 /chromeos/dbus/bluetooth_device_client.cc
parente94bbcbf1ed35d9636c59962acf7aa00d86fa181 (diff)
downloadchromium_src-926957b72bee0ee2b268d946bc0ae25047e92539.zip
chromium_src-926957b72bee0ee2b268d946bc0ae25047e92539.tar.gz
chromium_src-926957b72bee0ee2b268d946bc0ae25047e92539.tar.bz2
Cleaning up weak_ptr_factory destruction order.
BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10917115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155319 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/dbus/bluetooth_device_client.cc')
-rw-r--r--chromeos/dbus/bluetooth_device_client.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/chromeos/dbus/bluetooth_device_client.cc b/chromeos/dbus/bluetooth_device_client.cc
index 10bda3f..df237e8 100644
--- a/chromeos/dbus/bluetooth_device_client.cc
+++ b/chromeos/dbus/bluetooth_device_client.cc
@@ -55,8 +55,8 @@ class BluetoothDeviceClientImpl: public BluetoothDeviceClient,
public:
BluetoothDeviceClientImpl(dbus::Bus* bus,
BluetoothAdapterClient* adapter_client)
- : weak_ptr_factory_(this),
- bus_(bus) {
+ : bus_(bus),
+ weak_ptr_factory_(this) {
DVLOG(1) << "Creating BluetoothDeviceClientImpl";
DCHECK(adapter_client);
@@ -449,15 +449,17 @@ class BluetoothDeviceClientImpl: public BluetoothDeviceClient,
callback.Run(object_path, response);
}
- // Weak pointer factory for generating 'this' pointers that might live longer
- // than we do.
- base::WeakPtrFactory<BluetoothDeviceClientImpl> weak_ptr_factory_;
-
dbus::Bus* bus_;
// List of observers interested in event notifications from us.
ObserverList<BluetoothDeviceClient::Observer> observers_;
+ // Weak pointer factory for generating 'this' pointers that might live longer
+ // than we do.
+ // Note: This should remain the last member so it'll be destroyed and
+ // invalidate its weak pointers before any other members are destroyed.
+ base::WeakPtrFactory<BluetoothDeviceClientImpl> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(BluetoothDeviceClientImpl);
};