Hide some console output when initializing addin repository
We do this in OpenSim.exe to hide output when unmanaged dll are scanned by mono addins. Libomv has hard-coded path to "." for the openjpeg libraries, causing output to the console when they are scanned. We will cover this up for now, then look at getting libomv to look for the libs outside the "." later.0.7.5-pf-bulletsim
parent
39b388a094
commit
b1849e7fde
|
@ -92,6 +92,7 @@ namespace OpenSim.Framework
|
|||
// Attempt to install the plugin disabled
|
||||
if (Install(ps, pack) == true)
|
||||
{
|
||||
MainConsole.Instance.Output("Ignore the following error...");
|
||||
PluginRegistry.Update(ps);
|
||||
Addin addin = PluginRegistry.GetAddin(aentry.Addin.Id);
|
||||
PluginRegistry.DisableAddin(addin.Id);
|
||||
|
@ -479,6 +480,7 @@ namespace OpenSim.Framework
|
|||
ConsoleProgressStatus ps = new ConsoleProgressStatus(false);
|
||||
if (!AddinManager.AddinEngine.IsAddinLoaded(addin.Id))
|
||||
{
|
||||
MainConsole.Instance.Output("Ignore the following error...");
|
||||
AddinManager.Registry.Rebuild(ps);
|
||||
AddinManager.AddinEngine.LoadAddin(ps, addin.Id);
|
||||
}
|
||||
|
|
|
@ -89,12 +89,39 @@ namespace OpenSim.Server.Base
|
|||
Config = config;
|
||||
|
||||
Registry = new AddinRegistry(registryPath, ".");
|
||||
suppress_console_output_(true);
|
||||
AddinManager.Initialize(registryPath);
|
||||
suppress_console_output_(false);
|
||||
AddinManager.Registry.Update();
|
||||
CommandManager commandmanager = new CommandManager(Registry);
|
||||
AddinManager.AddExtensionNodeHandler("/Robust/Connector", OnExtensionChanged);
|
||||
}
|
||||
|
||||
private static TextWriter prev_console_;
|
||||
// Temporarily masking the errors reported on start
|
||||
// This is caused by a non-managed dll in the ./bin dir
|
||||
// when the registry is initialized. The dll belongs to
|
||||
// libomv, which has a hard-coded path to "." for pinvoke
|
||||
// to load the openjpeg dll
|
||||
//
|
||||
// Will look for a way to fix, but for now this keeps the
|
||||
// confusion to a minimum. this was copied from our region
|
||||
// plugin loader, we have been doing this in there for a long time.
|
||||
//
|
||||
public void suppress_console_output_(bool save)
|
||||
{
|
||||
if (save)
|
||||
{
|
||||
prev_console_ = System.Console.Out;
|
||||
System.Console.SetOut(new StreamWriter(Stream.Null));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (prev_console_ != null)
|
||||
System.Console.SetOut(prev_console_);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnExtensionChanged(object s, ExtensionNodeEventArgs args)
|
||||
{
|
||||
IRobustConnector connector = (IRobustConnector)args.ExtensionObject;
|
||||
|
|
Loading…
Reference in New Issue