Skip to content

Commit f8f545f

Browse files
committed
Prevent Crash When Rapidly Clicking Through Sidebar Items
1 parent a06581c commit f8f545f

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

Files UWP/ProHome.xaml.cs

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -519,14 +519,19 @@ public async void CheckPathInput<T>(ItemViewModel<T> instance, string CurrentInp
519519
private void LocationsList_ItemClick(object sender, ItemClickEventArgs e)
520520
{
521521
ListViewItem clickedItem = Interaction<ProHome>.FindParent<ListViewItem>(e.ClickedItem as DependencyObject);
522-
ItemViewModel<GenericFileBrowser> instance = null;
522+
if (accessibleContentFrame.SourcePageType == typeof(GenericFileBrowser))
523+
{
524+
(accessibleContentFrame.Content as GenericFileBrowser).instanceViewModel.CancelLoadAndClearFiles();
525+
}
526+
else if (accessibleContentFrame.SourcePageType == typeof(PhotoAlbum))
527+
{
528+
(accessibleContentFrame.Content as PhotoAlbum).instanceViewModel.CancelLoadAndClearFiles();
529+
}
523530

524531
if (clickedItem.Tag.ToString() == "Favorites")
525532
{
526533
ItemDisplayFrame.Navigate(typeof(YourHome));
527534
PathText.Text = "Favorites";
528-
ItemViewModel<YourHome> homeInstance = (this.accessibleContentFrame.Content as YourHome).instanceViewModel;
529-
homeInstance.CancelLoadAndClearFiles();
530535
HomeItems.isEnabled = false;
531536
ShareItems.isEnabled = false;
532537
if (DrivesList.SelectedItem != null)
@@ -540,7 +545,6 @@ private void LocationsList_ItemClick(object sender, ItemClickEventArgs e)
540545
{
541546
ItemDisplayFrame.Navigate(typeof(GenericFileBrowser), DesktopPath);
542547
PathText.Text = "Desktop";
543-
instance = (this.accessibleContentFrame.Content as GenericFileBrowser).instanceViewModel;
544548
HomeItems.isEnabled = false;
545549
ShareItems.isEnabled = false;
546550
if (DrivesList.SelectedItem != null)
@@ -554,7 +558,6 @@ private void LocationsList_ItemClick(object sender, ItemClickEventArgs e)
554558
{
555559
ItemDisplayFrame.Navigate(typeof(GenericFileBrowser), DownloadsPath);
556560
PathText.Text = "Downloads";
557-
instance = (this.accessibleContentFrame.Content as GenericFileBrowser).instanceViewModel;
558561
HomeItems.isEnabled = false;
559562
ShareItems.isEnabled = false;
560563
if (DrivesList.SelectedItem != null)
@@ -568,7 +571,6 @@ private void LocationsList_ItemClick(object sender, ItemClickEventArgs e)
568571
{
569572
ItemDisplayFrame.Navigate(typeof(GenericFileBrowser), DocumentsPath);
570573
PathText.Text = "Documents";
571-
instance = (this.accessibleContentFrame.Content as GenericFileBrowser).instanceViewModel;
572574
HomeItems.isEnabled = false;
573575
ShareItems.isEnabled = false;
574576
if (DrivesList.SelectedItem != null)
@@ -582,7 +584,6 @@ private void LocationsList_ItemClick(object sender, ItemClickEventArgs e)
582584
{
583585
ItemDisplayFrame.Navigate(typeof(PhotoAlbum), PicturesPath);
584586
PathText.Text = "Pictures";
585-
ItemViewModel<PhotoAlbum> PAInstance = (this.accessibleContentFrame.Content as PhotoAlbum).instanceViewModel;
586587
HomeItems.isEnabled = false;
587588
ShareItems.isEnabled = false;
588589
if (DrivesList.SelectedItem != null)
@@ -596,7 +597,6 @@ private void LocationsList_ItemClick(object sender, ItemClickEventArgs e)
596597
{
597598
ItemDisplayFrame.Navigate(typeof(GenericFileBrowser), MusicPath);
598599
PathText.Text = "Music";
599-
instance = (this.accessibleContentFrame.Content as GenericFileBrowser).instanceViewModel;
600600
HomeItems.isEnabled = false;
601601
ShareItems.isEnabled = false;
602602
if (DrivesList.SelectedItem != null)
@@ -610,7 +610,6 @@ private void LocationsList_ItemClick(object sender, ItemClickEventArgs e)
610610
{
611611
ItemDisplayFrame.Navigate(typeof(GenericFileBrowser), VideosPath);
612612
PathText.Text = "Videos";
613-
instance = (this.accessibleContentFrame.Content as GenericFileBrowser).instanceViewModel;
614613
HomeItems.isEnabled = false;
615614
ShareItems.isEnabled = false;
616615
if (DrivesList.SelectedItem != null)
@@ -624,7 +623,6 @@ private void LocationsList_ItemClick(object sender, ItemClickEventArgs e)
624623
{
625624
ItemDisplayFrame.Navigate(typeof(GenericFileBrowser), clickedItem.Tag);
626625
PathText.Text = clickedItem.Tag.ToString();
627-
instance = (this.accessibleContentFrame.Content as GenericFileBrowser).instanceViewModel;
628626
HomeItems.isEnabled = false;
629627
ShareItems.isEnabled = false;
630628
if (DrivesList.SelectedItem != null)
@@ -642,6 +640,7 @@ private void DrivesList_ItemClick(object sender, ItemClickEventArgs e)
642640
if (this.accessibleContentFrame.SourcePageType == typeof(GenericFileBrowser))
643641
{
644642
var instance = (this.accessibleContentFrame.Content as GenericFileBrowser).instanceViewModel;
643+
instance.CancelLoadAndClearFiles();
645644
HomeItems.isEnabled = false;
646645
ShareItems.isEnabled = false;
647646
if (LocationsList.SelectedItem != null)
@@ -673,7 +672,6 @@ private void DrivesList_ItemClick(object sender, ItemClickEventArgs e)
673672
}
674673
else if (this.accessibleContentFrame.SourcePageType == typeof(YourHome))
675674
{
676-
var instance = (this.accessibleContentFrame.Content as YourHome).instanceViewModel;
677675
HomeItems.isEnabled = false;
678676
ShareItems.isEnabled = false;
679677
if (LocationsList.SelectedItem != null)
@@ -706,6 +704,7 @@ private void DrivesList_ItemClick(object sender, ItemClickEventArgs e)
706704
else if (this.accessibleContentFrame.SourcePageType == typeof(PhotoAlbum))
707705
{
708706
var instance = (this.accessibleContentFrame.Content as PhotoAlbum).instanceViewModel;
707+
instance.CancelLoadAndClearFiles();
709708
HomeItems.isEnabled = false;
710709
ShareItems.isEnabled = false;
711710
if (LocationsList.SelectedItem != null)
@@ -843,12 +842,10 @@ private async void AddItem_Click(object sender, RoutedEventArgs e)
843842
{
844843
if (accessibleContentFrame.SourcePageType == typeof(GenericFileBrowser))
845844
{
846-
//addItemPageInstance = new AddItem(accessibleContentFrame.Content as GenericFileBrowser, null);
847845
AddDialogFrame.Navigate(typeof(AddItem), accessibleContentFrame.Content as GenericFileBrowser, new SuppressNavigationTransitionInfo());
848846
}
849847
else if (accessibleContentFrame.SourcePageType == typeof(PhotoAlbum))
850848
{
851-
//addItemPageInstance = new AddItem(null, accessibleContentFrame.Content as PhotoAlbum);
852849
AddDialogFrame.Navigate(typeof(AddItem), accessibleContentFrame.Content as PhotoAlbum, new SuppressNavigationTransitionInfo());
853850
}
854851
await AddItemBox.ShowAsync();
@@ -1001,6 +998,7 @@ await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatch
1001998
public static void Back_Click(object sender, RoutedEventArgs e)
1002999
{
10031000
Frame instanceContentFrame = ItemViewModel<ProHome>.GetCurrentSelectedTabInstance<ProHome>().accessibleContentFrame;
1001+
10041002
if ((ItemViewModel<ProHome>.GetCurrentSelectedTabInstance<ProHome>().accessibleContentFrame.Content as GenericFileBrowser) != null)
10051003
{
10061004
var instance = (instanceContentFrame.Content as GenericFileBrowser).instanceViewModel;

0 commit comments

Comments
 (0)