Bug fix- Edit & Delete buttons will crash if selected search source is null

SelectedSearchSource will be null if the user clicks on Edit or Delete after finishing with previous edit and not highlighting the search source again.
This commit is contained in:
Jeremy Wu
2019-08-02 13:18:38 +10:00
committed by GitHub
parent 89f0cdffc7
commit 977d21c929

View File

@@ -1,4 +1,4 @@
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using Wox.Core.Plugin; using Wox.Core.Plugin;
@@ -28,27 +28,33 @@ namespace Wox.Plugin.WebSearch
private void OnDeleteSearchSearchClick(object sender, RoutedEventArgs e) private void OnDeleteSearchSearchClick(object sender, RoutedEventArgs e)
{ {
var selected = _settings.SelectedSearchSource; if (_settings.SelectedSearchSource != null)
var warning = _context.API.GetTranslation("wox_plugin_websearch_delete_warning");
var formated = string.Format(warning, selected.Title);
var result = MessageBox.Show(formated, string.Empty, MessageBoxButton.YesNo);
if (result == MessageBoxResult.Yes)
{ {
var id = _context.CurrentPluginMetadata.ID; var selected = _settings.SelectedSearchSource;
PluginManager.RemoveActionKeyword(id, selected.ActionKeyword); var warning = _context.API.GetTranslation("wox_plugin_websearch_delete_warning");
_settings.SearchSources.Remove(selected); var formated = string.Format(warning, selected.Title);
var result = MessageBox.Show(formated, string.Empty, MessageBoxButton.YesNo);
if (result == MessageBoxResult.Yes)
{
var id = _context.CurrentPluginMetadata.ID;
PluginManager.RemoveActionKeyword(id, selected.ActionKeyword);
_settings.SearchSources.Remove(selected);
}
} }
} }
private void OnEditSearchSourceClick(object sender, RoutedEventArgs e) private void OnEditSearchSourceClick(object sender, RoutedEventArgs e)
{ {
var selected = _settings.SelectedSearchSource; if (_settings.SelectedSearchSource != null)
var webSearch = new SearchSourceSettingWindow {
var webSearch = new SearchSourceSettingWindow
( (
_settings.SearchSources, _context, selected _settings.SearchSources, _context, _settings.SelectedSearchSource
); );
webSearch.ShowDialog();
webSearch.ShowDialog();
}
} }
} }
} }