@@ -753,8 +753,7 @@ private ResultsViewModel SelectedResults
753
753
754
754
public Visibility ProgressBarVisibility { get ; set ; }
755
755
public Visibility MainWindowVisibility { get ; set ; }
756
- public double MainWindowOpacity { get ; set ; } = 1 ;
757
-
756
+
758
757
// This is to be used for determining the visibility status of the mainwindow instead of MainWindowVisibility
759
758
// because it is more accurate and reliable representation than using Visibility as a condition check
760
759
public bool MainWindowVisibilityStatus { get ; set ; } = true ;
@@ -1454,9 +1453,11 @@ public bool ShouldIgnoreHotkeys()
1454
1453
1455
1454
public void Show ( )
1456
1455
{
1456
+ // Invoke on UI thread
1457
1457
Application . Current . Dispatcher . Invoke ( ( ) =>
1458
1458
{
1459
- if ( Application . Current . MainWindow is MainWindow mainWindow )
1459
+ // When application is exitting, the Application.Current will be null
1460
+ if ( Application . Current ? . MainWindow is MainWindow mainWindow )
1460
1461
{
1461
1462
// 📌 Remove DWM Cloak (Make the window visible normally)
1462
1463
Win32Helper . DWMSetCloakForWindow ( mainWindow , false ) ;
@@ -1481,10 +1482,10 @@ public void Show()
1481
1482
1482
1483
// Update WPF properties
1483
1484
MainWindowVisibility = Visibility . Visible ;
1484
- MainWindowOpacity = 1 ;
1485
1485
MainWindowVisibilityStatus = true ;
1486
1486
VisibilityChanged ? . Invoke ( this , new VisibilityChangedEventArgs { IsVisible = true } ) ;
1487
1487
1488
+ // Switch keyboard layout
1488
1489
if ( StartWithEnglishMode )
1489
1490
{
1490
1491
Win32Helper . SwitchToEnglishKeyboardLayout ( true ) ;
@@ -1527,9 +1528,11 @@ public async void Hide()
1527
1528
break ;
1528
1529
}
1529
1530
1531
+ // Invoke on UI thread
1530
1532
Application . Current . Dispatcher . Invoke ( ( ) =>
1531
1533
{
1532
- if ( Application . Current . MainWindow is MainWindow mainWindow )
1534
+ // When application is exitting, the Application.Current will be null
1535
+ if ( Application . Current ? . MainWindow is MainWindow mainWindow )
1533
1536
{
1534
1537
// Set clock and search icon opacity
1535
1538
var opacity = Settings . UseAnimation ? 0.0 : 1.0 ;
@@ -1549,6 +1552,7 @@ public async void Hide()
1549
1552
}
1550
1553
} , DispatcherPriority . Render ) ;
1551
1554
1555
+ // Switch keyboard layout
1552
1556
if ( StartWithEnglishMode )
1553
1557
{
1554
1558
Win32Helper . RestorePreviousKeyboardLayout ( ) ;
@@ -1558,7 +1562,6 @@ public async void Hide()
1558
1562
await Task . Delay ( 50 ) ;
1559
1563
1560
1564
// Update WPF properties
1561
- //MainWindowOpacity = 0;
1562
1565
MainWindowVisibilityStatus = false ;
1563
1566
MainWindowVisibility = Visibility . Collapsed ;
1564
1567
VisibilityChanged ? . Invoke ( this , new VisibilityChangedEventArgs { IsVisible = false } ) ;
0 commit comments