@@ -505,7 +505,7 @@ private void UpdateRestartAppStates(IDictionary<ApplicationItem, ApplicationStat
505505 {
506506 newLastAppStates . Add ( applicationState . Key , applicationState . Value ) ;
507507
508- if ( restartApps )
508+ if ( applicationState . Key . RestartProcess && restartApps )
509509 {
510510 if ( ! _lastAppStates . ContainsKey ( applicationState . Key ) && applicationState . Value != ApplicationState . None )
511511 RestartProcess ( applicationState . Key ) ;
@@ -519,18 +519,26 @@ private void UpdateRestartAppStates(IDictionary<ApplicationItem, ApplicationStat
519519
520520 private void RestartProcess ( ApplicationItem application )
521521 {
522- Tools . Logs . Add ( $ "Restarting application { application . ApplicationName } ", false ) ;
523- foreach ( Process process in Process . GetProcessesByName ( application . ApplicationName ) . ToList ( ) )
524- if ( process . StartTime < Process . GetCurrentProcess ( ) . StartTime )
525- {
526- Tools . Logs . Add ( $ "Won't restart application { application . ApplicationName } as it was running before { Locale_Texts . HDRProfile } .", false ) ;
522+ try
523+ {
524+ Tools . Logs . Add ( $ "Restarting application { application . ApplicationName } ", false ) ;
525+ foreach ( Process process in Process . GetProcessesByName ( application . ApplicationName ) . ToList ( ) )
526+ if ( process . StartTime < Process . GetCurrentProcess ( ) . StartTime )
527+ {
528+ Tools . Logs . Add ( $ "Won't restart application { application . ApplicationName } as it was running before { Locale_Texts . HDRProfile } .", false ) ;
527529
528- return ;
529- }
530- Process . GetProcessesByName ( application . ApplicationName ) . ToList ( ) . ForEach ( p => p . Kill ( ) ) ;
531- System . Threading . Thread . Sleep ( 1500 ) ;
532- Process proc = new Process ( ) ;
533- StartApplication ( application ) ;
530+ return ;
531+ }
532+ Process . GetProcessesByName ( application . ApplicationName ) . ToList ( ) . ForEach ( p => p . Kill ( ) ) ;
533+ System . Threading . Thread . Sleep ( 1500 ) ;
534+ Process proc = new Process ( ) ;
535+ StartApplication ( application ) ;
536+ }
537+ catch ( Exception ex )
538+ {
539+ Tools . Logs . AddException ( $ "Failed to restart process { application . DisplayName } ({ application . ApplicationFilePath } ).", ex ) ;
540+ throw ;
541+ }
534542 }
535543
536544 #endregion Process handling
0 commit comments