diff --git a/Source/LibationWinForms/MessageBoxLib.cs b/Source/LibationWinForms/MessageBoxLib.cs
index ad4e0ad7..62a7f9f8 100644
--- a/Source/LibationWinForms/MessageBoxLib.cs
+++ b/Source/LibationWinForms/MessageBoxLib.cs
@@ -12,34 +12,17 @@ namespace LibationWinForms
{
public static class MessageBoxLib
{
- private static int nreCount = 0;
- private const int NRE_LIMIT = 5;
-
- ///
- /// Logs error. Displays a message box dialog with specified text and caption.
- ///
- /// Form calling this method.
- /// The text to display in the message box.
- /// The text to display in the title bar of the message box.
- /// Exception to log.
- public static void ShowAdminAlert(System.ComponentModel.ISynchronizeInvoke owner, string text, string caption, Exception exception)
+ ///
+ /// Logs error. Displays a message box dialog with specified text and caption.
+ ///
+ /// Form calling this method.
+ /// The text to display in the message box.
+ /// The text to display in the title bar of the message box.
+ /// Exception to log.
+ public static void ShowAdminAlert(System.ComponentModel.ISynchronizeInvoke owner, string text, string caption, Exception exception)
{
- // HACK: limited NRE swallowing -- this. is. AWFUL
- // I can't figure out how to circumvent the DataGridView internal NRE when:
- // * book has tag: asdf
- // * filter is `[asdf]`
- // * tag asdf is removed from book
- // * DataGridView throws NRE
- if (exception is NullReferenceException nre && nreCount < NRE_LIMIT)
- {
- nreCount++;
- Serilog.Log.Logger.Error(nre, "Alert admin error. Swallow NRE: {@DebugText}", new { text, caption, nreCount });
- return;
- }
-
-
- // for development and debugging, show me what broke!
- if (System.Diagnostics.Debugger.IsAttached)
+ // for development and debugging, show me what broke!
+ if (System.Diagnostics.Debugger.IsAttached)
throw exception;
try