diff --git a/Programs/GridProxyGUI/MainWindow.Persistance.cs b/Programs/GridProxyGUI/MainWindow.Persistance.cs index 7f3d102a..e8166920 100755 --- a/Programs/GridProxyGUI/MainWindow.Persistance.cs +++ b/Programs/GridProxyGUI/MainWindow.Persistance.cs @@ -73,6 +73,8 @@ public partial class MainWindow { if (data != null && data is OSDMap) { + messages.Messages.Clear(); + OSDMap map = (OSDMap)data; OSDArray msgs = (OSDArray)map["Messages"]; foreach (var msgOSD in msgs) diff --git a/Programs/GridProxyGUI/MainWindow.cs b/Programs/GridProxyGUI/MainWindow.cs index dd1aba82..6543298c 100755 --- a/Programs/GridProxyGUI/MainWindow.cs +++ b/Programs/GridProxyGUI/MainWindow.cs @@ -4,9 +4,9 @@ using System.Collections.Concurrent; using Gtk; using GridProxyGUI; using OpenMetaverse.Packets; +using Logger = OpenMetaverse.Logger; using System.Timers; using System.Text.RegularExpressions; -using Nwc.XmlRpc; public partial class MainWindow : Gtk.Window { @@ -104,7 +104,7 @@ public partial class MainWindow : Gtk.Window { string loginType; - if (request is XmlRpcRequest) + if (request is Nwc.XmlRpc.XmlRpcRequest) { loginType = "Login Request"; } @@ -290,8 +290,22 @@ public partial class MainWindow : Gtk.Window protected void StartPoxy() { AppendLog("Starting proxy..." + Environment.NewLine); - proxy = new ProxyManager(txtPort.Text, cbListen.ActiveText, cbLoginURL.ActiveText); - proxy.Start(); + try + { + proxy = new ProxyManager(txtPort.Text, cbListen.ActiveText, cbLoginURL.ActiveText); + proxy.Start(); + } + catch + { + Logger.Log("Failed to start proxy", OpenMetaverse.Helpers.LogLevel.Error); + try + { + proxy.Stop(); + proxy = null; + } + catch { } + btnStart.Label = "Start Proxy"; + } } protected void StopProxy() diff --git a/Programs/GridProxyGUI/MessageScroller.cs b/Programs/GridProxyGUI/MessageScroller.cs index 46d7a98d..635bf84e 100755 --- a/Programs/GridProxyGUI/MessageScroller.cs +++ b/Programs/GridProxyGUI/MessageScroller.cs @@ -28,6 +28,7 @@ namespace GridProxyGUI Model = Messages = new ListStore(typeof(Session)); HeadersVisible = true; + Selection.Mode = SelectionMode.Multiple; ShowAll(); }