Selaa lähdekoodia

fix(ai_result): 修正校准线控制器缺失 #0012963

gavin.chen 1 vuosi sitten
vanhempi
commit
7d4b66e154
1 muutettua tiedostoa jossa 17 lisäystä ja 6 poistoa
  1. 17 6
      lib/view/paint/parts/ai_resul_info.dart

+ 17 - 6
lib/view/paint/parts/ai_resul_info.dart

@@ -1,5 +1,7 @@
 import 'dart:convert';
+import 'dart:math';
 
+import 'package:fis_common/logger/logger.dart';
 import 'package:fis_i18n/i18n.dart';
 import 'package:fis_measure/interfaces/process/standard_line/calibration.dart';
 import 'package:fis_measure/interfaces/process/workspace/application.dart';
@@ -23,8 +25,7 @@ class ResultInfo extends StatefulWidget {
 
 class _ResultInfoState extends State<ResultInfo> {
   late final aiPatintController = Get.find<AiPatintController>();
-  final IStandardLineCalibrationController standardLineCalibrationController =
-      Get.find<IStandardLineCalibrationController>();
+  IStandardLineCalibrationController? standardLineCalibrationController;
 
   late AIDetectedObject aiDetectedObjectItem;
   late double _unitsPhysicalPixels;
@@ -34,15 +35,25 @@ class _ResultInfoState extends State<ResultInfo> {
   @override
   void initState() {
     _updateImagePhysicalSize();
-    standardLineCalibrationController.editStateChanged
-        .addListener(onStandardLineUpdated);
+    try {
+      standardLineCalibrationController =
+          Get.find<IStandardLineCalibrationController>();
+    } catch (e) {
+      logger.e('standardLineCalibrationController cannot find', e);
+    }
+    if (standardLineCalibrationController != null) {
+      standardLineCalibrationController!.editStateChanged
+          .addListener(onStandardLineUpdated);
+    }
     super.initState();
   }
 
   @override
   void dispose() {
-    standardLineCalibrationController.editStateChanged
-        .removeListener(onStandardLineUpdated);
+    if (standardLineCalibrationController != null) {
+      standardLineCalibrationController!.editStateChanged
+          .removeListener(onStandardLineUpdated);
+    }
     super.dispose();
   }