@@ -11,20 +11,10 @@ class InitProjectView : Subview
1111 private const string NoUserOrEmailError = "Name and email not set in git. Go into the settings tab and enter the missing information" ;
1212
1313 [ NonSerialized ] private bool isBusy ;
14-
1514 [ NonSerialized ] private bool isUserDataPresent ;
15+ [ NonSerialized ] private bool hasCompletedInitialCheck ;
1616 [ NonSerialized ] private bool userDataHasChanged ;
1717
18- public override void InitializeView ( IView parent )
19- {
20- base . InitializeView ( parent ) ;
21-
22- if ( ! string . IsNullOrEmpty ( Environment . GitExecutablePath ) )
23- {
24- CheckForUser ( ) ;
25- }
26- }
27-
2818 public override void OnEnable ( )
2919 {
3020 base . OnEnable ( ) ;
@@ -69,7 +59,7 @@ public override void OnGUI()
6959 }
7060 GUILayout . EndHorizontal ( ) ;
7161
72- if ( ! isUserDataPresent )
62+ if ( hasCompletedInitialCheck && ! isUserDataPresent )
7363 {
7464 EditorGUILayout . Space ( ) ;
7565 EditorGUILayout . HelpBox ( NoUserOrEmailError , MessageType . Error ) ;
@@ -80,6 +70,12 @@ public override void OnGUI()
8070 GUILayout . EndVertical ( ) ;
8171 }
8272
73+ public override void OnDataUpdate ( )
74+ {
75+ base . OnDataUpdate ( ) ;
76+ MaybeUpdateData ( ) ;
77+ }
78+
8379 private void MaybeUpdateData ( )
8480 {
8581 if ( userDataHasChanged )
@@ -91,6 +87,13 @@ private void MaybeUpdateData()
9187
9288 private void CheckForUser ( )
9389 {
90+ if ( string . IsNullOrEmpty ( Environment . GitExecutablePath ) )
91+ {
92+ Logger . Warning ( "No git exec cannot check for user" ) ;
93+ return ;
94+ }
95+
96+ Logger . Trace ( "Checking for user" ) ;
9497 isBusy = true ;
9598
9699 GitClient . GetConfigUserAndEmail ( ) . FinallyInUI ( ( success , ex , strings ) => {
@@ -99,8 +102,9 @@ private void CheckForUser()
99102
100103 isBusy = false ;
101104 isUserDataPresent = success && ! String . IsNullOrEmpty ( username ) && ! String . IsNullOrEmpty ( email ) ;
105+ hasCompletedInitialCheck = true ;
102106
103- Logger . Trace ( "Finally : {0}" , isUserDataPresent ) ;
107+ Logger . Trace ( "User Present : {0}" , isUserDataPresent ) ;
104108
105109 Redraw ( ) ;
106110 } ) . Start ( ) ;
0 commit comments