\r
lock (this)\r
{\r
+ // No need to have ArgumemntNullException in File.AppendText\r
+ if (RadegastInstance.GlobalInstance.GlobalLogFile==null) return;\r
StreamWriter logfile = File.AppendText(RadegastInstance.GlobalInstance.GlobalLogFile);\r
logfile.WriteLine(loggingMessage);\r
logfile.Close();\r
//\r
// $Id$\r
//\r
+using System.Windows.Forms;\r
+\r
namespace Radegast\r
{\r
partial class frmDebugLog\r
/// Required designer variable.\r
/// </summary>\r
private System.ComponentModel.IContainer components = null;\r
-\r
+ \r
/// <summary>\r
/// Clean up any resources being used.\r
/// </summary>\r
{\r
components.Dispose();\r
}\r
+ if (rtbLog.InvokeRequired)\r
+ {\r
+ rtbLog.BeginInvoke(new MethodInvoker(() => base.Dispose(disposing)));\r
+ }\r
+ else\r
base.Dispose(disposing);\r
}\r
\r
{\r
private RadegastInstance instance;\r
\r
+ new public void Close()\r
+ {\r
+ if (rtbLog.InvokeRequired)\r
+ {\r
+ rtbLog.BeginInvoke(new MethodInvoker(Close));\r
+ } else\r
+ base.Close(); \r
+ }\r
+\r
public frmDebugLog(RadegastInstance instance)\r
{\r
InitializeComponent();\r
\r
public void AddLogMessage(string msg, log4net.Core.Level level)\r
{\r
- if (InvokeRequired)\r
+ if (rtbLog.InvokeRequired)\r
{\r
- BeginInvoke(new MethodInvoker(delegate() { AddLogMessage(msg, level); }));\r
+ rtbLog.BeginInvoke(new MethodInvoker(delegate() { AddLogMessage(msg, level); }));\r
return;\r
}\r
\r
\r
public void AddLogMessage(string msg, log4net.Core.Level level)\r
{\r
- if (debugLogForm != null)\r
- {\r
- BeginInvoke(new MethodInvoker(delegate() { debugLogForm.AddLogMessage(msg, level); }));\r
+ if (debugLogForm != null && !debugLogForm.IsDisposed)\r
+ { \r
+ // Log form handlles the InvokeNeeded \r
+ debugLogForm.AddLogMessage(msg, level);\r
}\r
}\r
\r