From 2826f78b2184107bace02ca6803046f1192be917 Mon Sep 17 00:00:00 2001
From: Gus Grubba <gus@auterion.com>
Date: Mon, 29 Apr 2019 14:55:29 -0400
Subject: [PATCH] Wait for the fly view map to be initialized before setting
 states

---
 src/FlightDisplay/FlightDisplayView.qml | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/FlightDisplay/FlightDisplayView.qml b/src/FlightDisplay/FlightDisplayView.qml
index 1befc8cc91..653583039d 100644
--- a/src/FlightDisplay/FlightDisplayView.qml
+++ b/src/FlightDisplay/FlightDisplayView.qml
@@ -90,8 +90,10 @@ Item {
             _flightMapContainer.state   = "pipMode"
             _flightVideo.state          = "fullMode"
             //-- Set Map Zoom Level
-            _savedZoomLevel = mainWindow.flightDisplayMap.zoomLevel
-            mainWindow.flightDisplayMap.zoomLevel = _savedZoomLevel - 3
+            if(mainWindow.flightDisplayMap) {
+                _savedZoomLevel = mainWindow.flightDisplayMap.zoomLevel
+                mainWindow.flightDisplayMap.zoomLevel = _savedZoomLevel - 3
+            }
         }
     }
 
@@ -135,10 +137,10 @@ Item {
         }
         onVtolTransitionToFwdFlight:    guidedController.confirmAction(guidedController.actionVtolTransitionToFwdFlight)
         onVtolTransitionToMRFlight:     guidedController.confirmAction(guidedController.actionVtolTransitionToMRFlight)
+        onFlightDisplayMapChanged:      setStates()
     }
 
     Component.onCompleted: {
-        setStates()
         if(QGroundControl.corePlugin.options.flyViewOverlay.toString().length) {
             flyViewOverlay.source = QGroundControl.corePlugin.options.flyViewOverlay
         }
-- 
GitLab