@@ -353,25 +353,27 @@ internal void RefreshStyle(bool force = false) {
353353 Log ( "RefreshStyle force: " + force , "QGUI" ) ;
354354 }
355355
356- void Lock ( bool activate , ControlTypes Ctrl ) {
357- if ( HighLogic . LoadedSceneIsEditor ) {
358- if ( activate ) {
359- EditorLogic . fetch . Lock ( true , true , true , "EditorLock" + MOD ) ;
360- } else {
361- EditorLogic . fetch . Unlock ( "EditorLock" + MOD ) ;
362- }
363- }
364- if ( activate ) {
365- InputLockManager . SetControlLock ( Ctrl , "Lock" + MOD ) ;
366- } else {
367- InputLockManager . RemoveControlLock ( "Lock" + MOD ) ;
368- }
369- if ( InputLockManager . GetControlLock ( "Lock" + MOD ) != ControlTypes . None ) {
370- InputLockManager . RemoveControlLock ( "Lock" + MOD ) ;
371- }
372- if ( InputLockManager . GetControlLock ( "EditorLock" + MOD ) != ControlTypes . None ) {
373- InputLockManager . RemoveControlLock ( "EditorLock" + MOD ) ;
374- }
356+ void Lock ( bool activate , ControlTypes Ctrl ) {
357+ if ( HighLogic . LoadedSceneIsEditor ) {
358+ if ( activate ) {
359+ if ( InputLockManager . GetControlLock ( "EditorLock" + MOD ) == ControlTypes . None ) {
360+ EditorLogic . fetch . Lock ( true , true , true , "EditorLock" + MOD ) ;
361+ }
362+ } else {
363+ if ( InputLockManager . GetControlLock ( "EditorLock" + MOD ) != ControlTypes . None ) {
364+ EditorLogic . fetch . Unlock ( "EditorLock" + MOD ) ;
365+ }
366+ }
367+ }
368+ if ( activate ) {
369+ if ( InputLockManager . GetControlLock ( "Lock" + MOD ) == ControlTypes . None ) {
370+ InputLockManager . SetControlLock ( Ctrl , "Lock" + MOD ) ;
371+ }
372+ return ;
373+ }
374+ if ( InputLockManager . GetControlLock ( "Lock" + MOD ) != ControlTypes . None ) {
375+ InputLockManager . RemoveControlLock ( "Lock" + MOD ) ;
376+ }
375377 Log ( "Lock " + activate , "QGUI" ) ;
376378 }
377379
0 commit comments