From c98719313ba87b2736ae3ca6522e5d707654250a Mon Sep 17 00:00:00 2001 From: Charles Lu Date: Fri, 7 Aug 2009 11:00:49 +0800 Subject: [PATCH] Fix the scanning panic issue Phone panics while streaming over A2DP and scanning for new device BluetoothEventLoop should delete reference --- core/jni/android_server_BluetoothEventLoop.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/jni/android_server_BluetoothEventLoop.cpp b/core/jni/android_server_BluetoothEventLoop.cpp index 4a13e8004ea83..527bf07e41ddf 100644 --- a/core/jni/android_server_BluetoothEventLoop.cpp +++ b/core/jni/android_server_BluetoothEventLoop.cpp @@ -711,6 +711,7 @@ static DBusHandlerResult event_filter(DBusConnection *conn, DBusMessage *msg, method_onDeviceFound, env->NewStringUTF(c_address), str_array); + env->DeleteLocalRef(str_array); } else LOG_AND_FREE_DBUS_ERROR_WITH_MSG(&err, msg); return DBUS_HANDLER_RESULT_HANDLED; @@ -774,6 +775,7 @@ static DBusHandlerResult event_filter(DBusConnection *conn, DBusMessage *msg, env->CallVoidMethod(nat->me, method_onPropertyChanged, str_array); + env->DeleteLocalRef(str_array); } else LOG_AND_FREE_DBUS_ERROR_WITH_MSG(&err, msg); return DBUS_HANDLER_RESULT_HANDLED; } else if (dbus_message_is_signal(msg, @@ -786,6 +788,7 @@ static DBusHandlerResult event_filter(DBusConnection *conn, DBusMessage *msg, method_onDevicePropertyChanged, env->NewStringUTF(remote_device_path), str_array); + env->DeleteLocalRef(str_array); } else LOG_AND_FREE_DBUS_ERROR_WITH_MSG(&err, msg); return DBUS_HANDLER_RESULT_HANDLED;