internal static void ReportMessage(string message, Exception error, bool isLethal)
        {
            if (s_doIgnoreReport)
            {
                return;            // ignore message if we are showing from a previous error
            }

            using (ExceptionReportingDialog dlg = new ExceptionReportingDialog(isLethal))
            {
                dlg.Report(message, null, error,null);
            }
        }
        internal static void ReportMessage(string message, Exception error, bool isLethal)
        {
            if (s_doIgnoreReport)
            {
                lock (s_reportDataStack)
                {
                    s_reportDataStack.Push(new ExceptionReportingData(message, null, error,
                        null, null, Thread.CurrentThread.ManagedThreadId));
                }
                return;            // ignore message if we are showing from a previous error
            }

            using (ExceptionReportingDialog dlg = new ExceptionReportingDialog(isLethal))
            {
                dlg.Report(message, null, error,null);
            }
        }
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// show a dialog or output to the error log, as appropriate.
        /// </summary>
        /// <param name="error">the exception you want to report</param>
        /// <param name="parent">the parent form that this error belongs to (i.e. the form
        /// show modally on)</param>
        /// ------------------------------------------------------------------------------------
        /// <param name="isLethal"></param>
        internal static void ReportException(Exception error, Form parent, bool isLethal)
        {
            if (s_doIgnoreReport)
            {
                return;            // ignore message if we are showing from a previous error
            }

            using (ExceptionReportingDialog dlg = new ExceptionReportingDialog(isLethal))
            {
                dlg.Report(error, parent);
            }
        }