1、修复自车定位直接使用clone导致的多线程崩溃
This commit is contained in:
donghongyu-pc
2024-11-04 17:59:16 +08:00
parent dd1e31186f
commit 2d549caec6

View File

@@ -17,7 +17,8 @@ object CallerChassisLocationWGS84ListenerManager : CallerBase<IMoGoChassisLocati
private var mGnssInfo: MogoLocation = MogoLocation()
fun getChassisLocationWGS84(): MogoLocation {
return mGnssInfo.clone()
// 克隆定位数据,防止原数据被篡改导致位置跳变
return mGnssInfo.copy(mGnssInfo, mGnssInfo.longitude, mGnssInfo.latitude)
}
/**
@@ -39,7 +40,8 @@ object CallerChassisLocationWGS84ListenerManager : CallerBase<IMoGoChassisLocati
*/
@Synchronized
fun invokeChassisLocationWGS84(gnssInfo: MogoLocation, sourceType: DataSourceType) {
this.mGnssInfo = gnssInfo.clone()
// 克隆定位数据,防止原数据被篡改导致位置跳变
this.mGnssInfo = gnssInfo.copy(gnssInfo, gnssInfo.longitude, gnssInfo.latitude)
M_LISTENERS.forEach {
val tag = it.key