diff --git a/OpenSim/Framework/Console/LocalConsole.cs b/OpenSim/Framework/Console/LocalConsole.cs
index be936b6671..a3036d0df6 100644
--- a/OpenSim/Framework/Console/LocalConsole.cs
+++ b/OpenSim/Framework/Console/LocalConsole.cs
@@ -38,7 +38,7 @@ namespace OpenSim.Framework.Console
{
///
/// A console that uses cursor control and color
- ///
+ ///
public class LocalConsole : CommandConsole
{
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -100,24 +100,40 @@ namespace OpenSim.Framework.Console
private int SetCursorTop(int top)
{
// From at least mono 2.4.2.3, window resizing can give mono an invalid row and column values. If we try
- // to set a cursor row position with a currently invalid column, mono will throw an exception.
- // Therefore, we need to make sure that the column position is valid first.
+ // to set a cursor row position with a currently invalid column, mono will throw an exception.
+ // Therefore, we need to make sure that the column position is valid first.
int left = System.Console.CursorLeft;
if (left < 0)
+ {
System.Console.CursorLeft = 0;
- else if (left >= System.Console.BufferWidth)
- System.Console.CursorLeft = System.Console.BufferWidth - 1;
+ }
+ else
+ {
+ int bw = System.Console.BufferWidth;
+
+ // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657)
+ if (bw > 0 && left >= bw)
+ System.Console.CursorLeft = bw - 1;
+ }
if (top < 0)
+ {
top = 0;
- if (top >= System.Console.BufferHeight)
- top = System.Console.BufferHeight - 1;
+ }
+ else
+ {
+ int bh = System.Console.BufferHeight;
+
+ // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657)
+ if (bh > 0 && top >= bh)
+ top = bh - 1;
+ }
System.Console.CursorTop = top;
return top;
- }
+ }
///
/// Set the cursor column.
@@ -129,23 +145,38 @@ namespace OpenSim.Framework.Console
///
///
/// The new cursor column.
- ///
+ ///
private int SetCursorLeft(int left)
{
// From at least mono 2.4.2.3, window resizing can give mono an invalid row and column values. If we try
- // to set a cursor column position with a currently invalid row, mono will throw an exception.
- // Therefore, we need to make sure that the row position is valid first.
+ // to set a cursor column position with a currently invalid row, mono will throw an exception.
+ // Therefore, we need to make sure that the row position is valid first.
int top = System.Console.CursorTop;
if (top < 0)
+ {
System.Console.CursorTop = 0;
- else if (top >= System.Console.BufferHeight)
- System.Console.CursorTop = System.Console.BufferHeight - 1;
+ }
+ else
+ {
+ int bh = System.Console.BufferHeight;
+ // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657)
+ if (bh > 0 && top >= bh)
+ System.Console.CursorTop = bh - 1;
+ }
if (left < 0)
+ {
left = 0;
- if (left >= System.Console.BufferWidth)
- left = System.Console.BufferWidth - 1;
+ }
+ else
+ {
+ int bw = System.Console.BufferWidth;
+
+ // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657)
+ if (bw > 0 && left >= bw)
+ left = bw - 1;
+ }
System.Console.CursorLeft = left;
@@ -183,7 +214,7 @@ namespace OpenSim.Framework.Console
System.Console.Write("{0}", prompt);
SetCursorTop(new_y);
- SetCursorLeft(new_x);
+ SetCursorLeft(new_x);
}
}
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index e20b3221c4..13a4b3f650 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -1441,4 +1441,4 @@ namespace OpenSim.Framework
return (diff >= 0) ? diff : (diff + EnvironmentTickCountMask + 1);
}
}
-}
+}
\ No newline at end of file
diff --git a/README.txt b/README.txt
index ed59bf56b7..f1a71beadf 100644
--- a/README.txt
+++ b/README.txt
@@ -59,7 +59,8 @@ Once you are presented with a prompt that looks like:
You have successfully started OpenSim.
-Before you can log in you will need to create a user account. You can do
+Before you can log in you will need to create a user account if you didn't already create
+your user as the "Master Avatar" during the region configuration stage. You can do
this by running the "create user" command on the OpenSim console. This will
ask you a series of questions such as first name, last name and password.
diff --git a/bin/Mono.Security.dll b/bin/Mono.Security.dll
deleted file mode 100644
index c027c19f73..0000000000
Binary files a/bin/Mono.Security.dll and /dev/null differ
diff --git a/bin/OpenMetaverse.Http.dll b/bin/OpenMetaverse.Http.dll
deleted file mode 100644
index dbbe4d30bd..0000000000
Binary files a/bin/OpenMetaverse.Http.dll and /dev/null differ
diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll
index f3244f6d8e..f4992a21ea 100644
Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ
diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll
index edbf3ce2bb..8751bfc71e 100644
Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ
diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll
index 95d60217bd..6c6440ea5b 100644
Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ