[V2] NSIS now accepts a directory path to add

--- packages/Publisher/dev/Publisher.cs
+++ packages/Publisher/dev/Publisher.cs
@@ -251,6 +251,7 @@
         Bam.Core.V2.Module
     {
         private System.Collections.Generic.Dictionary<Bam.Core.V2.Module, Bam.Core.V2.FileKey> Files = new System.Collections.Generic.Dictionary<Bam.Core.V2.Module, Bam.Core.V2.FileKey>();
+        private System.Collections.Generic.Dictionary<Bam.Core.V2.Module, Bam.Core.V2.FileKey> Paths = new System.Collections.Generic.Dictionary<Bam.Core.V2.Module, Bam.Core.V2.FileKey>();

         public NSISScript()
         {
@@ -270,6 +271,15 @@
         {
             this.DependsOn(module);
             this.Files.Add(module, key);
+        }
+
+        public void
+        AddPath(
+            Bam.Core.V2.Module module,
+            Bam.Core.V2.FileKey key)
+        {
+            this.DependsOn(module);
+            this.Paths.Add(module, key);
         }

         public override void Evaluate()
@@ -298,6 +308,11 @@
                     scriptWriter.WriteLine("\tSetOutPath $INSTDIR");
                     scriptWriter.WriteLine("\tFile {0}", dep.Key.GeneratedPaths[dep.Value]);
                 }
+                foreach (var dep in this.Paths)
+                {
+                    scriptWriter.WriteLine("\tSetOutPath $INSTDIR");
+                    scriptWriter.WriteLine("\tFile /r {0}\\*.*", dep.Key.GeneratedPaths[dep.Value]);
+                }
                 scriptWriter.WriteLine("SectionEnd");
             }
         }
@@ -355,6 +370,14 @@
         {
             var dependent = Bam.Core.V2.Graph.Instance.FindReferencedModule<DependentModule>();
             this.ScriptModule.AddFile(dependent, key);
+        }
+
+        public void
+        SourceFolder<DependentModule>(
+            Bam.Core.V2.FileKey key) where DependentModule : Bam.Core.V2.Module, new()
+        {
+            var dependent = Bam.Core.V2.Graph.Instance.FindReferencedModule<DependentModule>();
+            this.ScriptModule.AddPath(dependent, key);
         }

         public override void Evaluate()


Fix #5 : reset button should also reset the use part of the filters.

--- src/PrepareLandingUserData.cs
+++ src/PrepareLandingUserData.cs
@@ -294,6 +294,7 @@
             GrowingPeriod =
                 new MinMaxFromRestrictedListItem<Twelfth>(twelfthList, Twelfth.Undefined, Twelfth.Undefined);
             GrowingPeriod.PropertyChanged += delegate { OnPropertyChanged(nameof(GrowingPeriod)); };
+            GrowingPeriod.Use = false;

             InitUsableMinMaxNumericItem(RainFall, nameof(RainFall));
         }
@@ -419,6 +420,7 @@
         protected void InitUsableMinMaxNumericItem<T>(UsableMinMaxNumericItem<T> numericItem,
             string propertyChangedName) where T : struct, IComparable, IConvertible
         {
+            numericItem.Use = false;
             numericItem.PropertyChanged += delegate { OnPropertyChanged(propertyChangedName); };
         }


Simplify GDAXFeeModel

Simplify GDAXFeeModel

--- Common/Orders/Fees/GDAXFeeModel.cs
+++ Common/Orders/Fees/GDAXFeeModel.cs
@@ -14,7 +14,6 @@
 */

 using System;
-using System.Collections.Generic;
 using QuantConnect.Securities;

 namespace QuantConnect.Orders.Fees
@@ -24,17 +23,6 @@
     /// </summary>
     public class GDAXFeeModel : FeeModel
     {
-        /// <summary>
-        /// Tier 1 taker fees
-        /// https://pro.coinbase.com/orders/fees
-        /// https://blog.coinbase.com/coinbase-pro-market-structure-update-fbd9d49f43d7
-        /// </summary>
-        private static readonly List<FeeHistoryEntry> FeeHistory = new List<FeeHistoryEntry>
-        {
-            new FeeHistoryEntry(DateTime.MinValue, 0m, 0.003m),
-            new FeeHistoryEntry(new DateTime(2019, 3, 23, 1, 30, 0), 0.0015m, 0.0025m)
-        };
-
         /// <summary>
         /// Get the fee for this order in quote currency
         /// </summary>
@@ -70,50 +58,14 @@
         /// <returns>The fee percentage effective at the requested date</returns>
         public static decimal GetFeePercentage(DateTime utcTime, bool isMaker)
         {
-            for (var index = FeeHistory.Count - 1; index >= 0; index--)
-            {
-                var entry = FeeHistory[index];
-                if (utcTime >= entry.EffectiveDateTime)
-                {
-                    return isMaker ? entry.MakerFeePercentage : entry.TakerFeePercentage;
-                }
-            }
+            // Tier 1 fees
+            // https://pro.coinbase.com/orders/fees
+            // https://blog.coinbase.com/coinbase-pro-market-structure-update-fbd9d49f43d7

-            return 0m;
-        }
+            if (utcTime < new DateTime(2019, 3, 23, 1, 30, 0))
+                return isMaker ? 0m : 0.003m;

-        /// <summary>
-        /// Represents an entry in the list of historical fee changes.
-        /// </summary>
-        public class FeeHistoryEntry
-        {
-            /// <summary>
-            /// The date/time (UTC) when the new fees go into effect.
-            /// </summary>
-            public DateTime EffectiveDateTime { get; set; }
-
-            /// <summary>
-            /// The maker fee percentage.
-            /// </summary>
-            public decimal MakerFeePercentage { get; set; }
-
-            /// <summary>
-            /// The taker fee percentage.
-            /// </summary>
-            public decimal TakerFeePercentage { get; set; }
-
-            /// <summary>
-            /// Creates an instance of the <see cref="FeeHistoryEntry"/> class.
-            /// </summary>
-            /// <param name="effectiveDateTime">The date/time (UTC) when the new fees go into effect.</param>
-            /// <param name="makerFeePercentage">The maker fee percentage.</param>
-            /// <param name="takerFeePercentage">The taker fee percentage.</param>
-            public FeeHistoryEntry(DateTime effectiveDateTime, decimal makerFeePercentage, decimal takerFeePercentage)
-            {
-                EffectiveDateTime = effectiveDateTime;
-                MakerFeePercentage = makerFeePercentage;
-                TakerFeePercentage = takerFeePercentage;
-            }
+            return isMaker ? 0.0015m : 0.0025m;
         }
     }
 }


Remove closing bracket from arguments

Remove closing bracket from arguments

--- AngleSharp/Css/ValueConverters/FunctionValueConverter.cs
+++ AngleSharp/Css/ValueConverters/FunctionValueConverter.cs
@@ -44,6 +44,7 @@

                 if (tokens.Count > 0 && tokens[tokens.Count - 1].Type == CssTokenType.RoundBracketClose)
                 {
+                    tokens.RemoveAt(tokens.Count - 1);
                     return tokens;
                 }
             }


Behave transparently

Behave transparently

--- AngleSharp/Css/ValueConverters/RequiredValueConverter.cs
+++ AngleSharp/Css/ValueConverters/RequiredValueConverter.cs
@@ -21,7 +21,7 @@

         public IPropertyValue Construct(CssProperty[] properties)
         {
-            return properties.Length == 1 && properties[0].HasValue ? _converter.Construct(properties) : null;
+            return _converter.Construct(properties);
         }
     }
 }


git-svn-id: https://rhino-tools.svn.sourceforge.net/svnroot/rhino-tools/trunk@588 079b0acf-d9fa-0310-9935-e5ade295c882

--- rhino-igloo/Rhino.Igloo/Web/BaseController.cs
+++ rhino-igloo/Rhino.Igloo/Web/BaseController.cs
@@ -1,4 +1,5 @@
 #region license
+
 // Copyright (c) 2005 - 2007 Ayende Rahien (ayende@ayende.com)
 // All rights reserved.
 //
@@ -24,8 +25,8 @@
 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
 #endregion
-

 using System;
 using System.Collections.Generic;
@@ -41,221 +42,218 @@
 	/// <summary>
 	/// Base class for all the controllers
 	/// </summary>
-    [Transient]
+	[Transient]
 	public class BaseController
 	{
-	    private static IValidatorRegistry validationRegistry = new CachedValidationRegistry();
-
-        private IContext context;
-    	private ILog log;
-    	 private ValidatorRunner validatorRunner;
-
-
-	    /// <summary>
+		private static IValidatorRegistry validationRegistry = new CachedValidationRegistry();
+
+		private IContext context;
+		private ILog log;
+		private ValidatorRunner validatorRunner;
+
+
+		/// <summary>
 		/// Initializes a new instance of the <see cref="BaseController"/> class.
 		/// </summary>
 		/// <param myName="context">The context.</param>
-    	public BaseController(IContext context)
-		{
-		    this.context = context;
-		}
-
-
+		public BaseController(IContext context)
+		{
+			this.context = context;
+		}
+

 		/// <summary>
 		/// Gets or sets the log for this controller.
 		/// </summary>
 		/// <value>The log.</value>
-    	public ILog Log
-    	{
-    		get { return log; }
-    		set { log = value; }
-    	}
-
-
+		public ILog Log
+		{
+			get { return log; }
+			set { log = value; }
+		}
+

 		/// <summary>
 		/// Gets the context we are currently in.
 		/// </summary>
 		/// <value>The context.</value>
-    	public IContext Context
+		public IContext Context
+		{
+			get { return context; }
+		}
+
+
+		/// <summary>
+		/// Return an an empty list of <typeparamref name="T"/>.
+		/// Used to clarify the intent of the action only
+		/// </summary>
+		[SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter",
+			Justification = "The whole point here is to get EmptyList<Type> support")]
+		public static IList<T> EmptyList<T>()
+		{
+			return new List<T>();
+		}
+
+
+		/// <summary>
+		/// Tries to parse the inputName as int.
+		/// </summary>
+		/// <param name="inputName">The inputName.</param>
+		/// <returns></returns>
+		protected static bool? TryParseBoolFromInput(string inputName)
+		{
+			bool b;
+			string userInput = Scope.Input[inputName];
+			if (bool.TryParse(userInput, out b))
+				return b;
+			return null;
+		}
+
+		/// <summary>
+		/// Tries to parse the inputName as int.
+		/// </summary>
+		/// <param name="inputName">The inputName.</param>
+		/// <returns></returns>
+		protected static bool ParseCheckBox(string inputName)
+		{
+			string userInput = Scope.Input[inputName];
+			if (userInput == "on")
+				return true;
+			return false;
+		}
+
+		/// <summary>
+		/// Tries to parse the inputName as int.
+		/// </summary>
+		/// <param name="inputName">The inputName.</param>
+		/// <returns></returns>
+		protected static int? TryParseInt32FromInput(string inputName)
+		{
+			int i;
+			string userInput = Scope.Input[inputName];
+			if (int.TryParse(userInput, out i))
+				return i;
+			return null;
+		}
+
+		/// <summary>
+		/// Tries the parse userInput as integer.
+		/// </summary>
+		/// <param name="userInput">The user input.</param>
+		/// <returns></returns>
+		protected static int? TryParseInt32(string userInput)
+		{
+			int i;
+			if (int.TryParse(userInput, out i))
+				return i;
+			return null;
+		}
+
+
+		/// <summary>
+		/// Tries to parse the date using dd/MM/yyyy format
+		/// </summary>
+		/// <param name="inputName">Name of the input.</param>
+		/// <returns></returns>
+		protected static DateTime? TryParseDateFromInput(string inputName)
+		{
+			return TryParseDateFromInput(inputName, "dd/MM/yyyy");
+		}
+
+		/// <summary>
+		/// Tries to parse the inputName as date.
+		/// </summary>
+		/// <param name="inputName">The inputName.</param>
+		/// <param name="formats">The formats.</param>
+		/// <returns></returns>
+		protected static DateTime? TryParseDateFromInput(string inputName, params string[] formats)
+		{
+			DateTime datetime;
+			string userInput = Scope.Input[inputName];
+			if (DateTime.TryParseExact(userInput, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out datetime))
+				return datetime;
+			return null;
+		}
+
+
+		/// <summary>
+		/// Tries the parse date.
+		/// </summary>
+		/// <param name="userInput">The user input.</param>
+		/// <param name="formats">The formats.</param>
+		/// <returns></returns>
+		protected static DateTime? TryParseDate(string userInput, params string[] formats)
+		{
+			DateTime datetime;
+
+			if (DateTime.TryParseExact(userInput, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out datetime))
+				return datetime;
+			return null;
+		}
+
+		/// <summary>
+		/// Tries to get the value for the input key.
+		/// </summary>
+		/// <param name="inputKey">The input key.</param>
+		/// <returns></returns>
+		protected static T TryGetFromInput<T>(string inputKey)
+			where T : class
+		{
+			string maybeId = Scope.Input[inputKey];
+			return TryGetById<T>(maybeId);
+		}
+
+		/// <summary>
+		/// Tries to get the value for the input key.
+		/// </summary>
+		/// <param name="inputKey">The input key.</param>
+		/// <returns></returns>
+		protected static T TryGetFromInputString<T>(string inputKey)
+			where T : class
+		{
+			string maybeId = Scope.Input[inputKey];
+			return TryGetByIdString<T>(maybeId);
+		}
+
+		/// <summary>
+		/// Tries the get by id.
+		/// </summary>
+		/// <param name="maybeId">The maybe id.</param>
+		/// <returns></returns>
+		protected static T TryGetById<T>(string maybeId)
+			where T : class
+		{
+			int id;
+			if (int.TryParse(maybeId, out id) == false)
+				return null;
+			return Repository<T>.Get(id);
+		}
+
+		/// <summary>
+		/// Tries the get by id.
+		/// </summary>
+		/// <param name="maybeId">The maybe id.</param>
+		/// <returns></returns>
+		protected static T TryGetByIdString<T>(string maybeId)
+			where T : class
+		{
+			if (maybeId == null)
+				return null;
+			return Repository<T>.Get(maybeId);
+		}
+
+		/// <summary>
+		/// Gets the validator runner.
+		/// </summary>
+		/// <value>The validator runner.</value>
+		protected ValidatorRunner ValidatorRunner
 		{
 			get
 			{
-				return context;
+				if (validatorRunner == null)
+					validatorRunner = new ValidatorRunner(validationRegistry);
+				return validatorRunner;
 			}
 		}
-
-
-        /// <summary>
-        /// Return an an empty list of <typeparamref name="T"/>.
-        /// Used to clarify the intent of the action only
-        /// </summary>
-        [SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Justification = "The whole point here is to get EmptyList<Type> support")]
-        public static IList<T> EmptyList<T>()
-        {
-            return new List<T>();
-        }
-
-
-        /// <summary>
-        /// Tries to parse the inputName as int.
-        /// </summary>
-        /// <param name="inputName">The inputName.</param>
-        /// <returns></returns>
-        protected static bool? TryParseBoolFromInput(string inputName)
-        {
-            bool b;
-            string userInput = Scope.Input[inputName];
-            if (bool.TryParse(userInput, out b))
-                return b;
-            return null;
-        }
-
-        /// <summary>
-        /// Tries to parse the inputName as int.
-        /// </summary>
-        /// <param name="inputName">The inputName.</param>
-        /// <returns></returns>
-        protected static bool ParseCheckBox(string inputName)
-        {
-            string userInput = Scope.Input[inputName];
-            if (userInput == "on")
-                return true;
-            return false;
-        }
-
-        /// <summary>
-        /// Tries to parse the inputName as int.
-        /// </summary>
-        /// <param name="inputName">The inputName.</param>
-        /// <returns></returns>
-        protected static int? TryParseInt32FromInput(string inputName)
-        {
-            int i;
-            string userInput = Scope.Input[inputName];
-            if (int.TryParse(userInput, out i))
-                return i;
-            return null;
-        }
-
-        /// <summary>
-        /// Tries the parse userInput as integer.
-        /// </summary>
-        /// <param name="userInput">The user input.</param>
-        /// <returns></returns>
-        protected static int? TryParseInt32(string userInput)
-        {
-            int i;
-            if (int.TryParse(userInput, out i))
-                return i;
-            return null;
-        }
-
-
-        /// <summary>
-        /// Tries to parse the date using dd/MM/yyyy format
-        /// </summary>
-        /// <param name="inputName">Name of the input.</param>
-        /// <returns></returns>
-        protected static DateTime? TryParseDateFromInput(string inputName)
-        {
-            return TryParseDateFromInput(inputName, "dd/MM/yyyy");
-        }
-
-        /// <summary>
-        /// Tries to parse the inputName as date.
-        /// </summary>
-        /// <param name="inputName">The inputName.</param>
-        /// <param name="formats">The formats.</param>
-        /// <returns></returns>
-        protected static DateTime? TryParseDateFromInput(string inputName, params string[] formats)
-        {
-            DateTime datetime;
-            string userInput = Scope.Input[inputName];
-            if (DateTime.TryParseExact(userInput, formats,CultureInfo.InvariantCulture,DateTimeStyles.None,out datetime))
-                return datetime;
-            return null;
-        }
-
-
-        /// <summary>
-        /// Tries the parse date.
-        /// </summary>
-        /// <param name="userInput">The user input.</param>
-        /// <param name="formats">The formats.</param>
-        /// <returns></returns>
-        protected static DateTime? TryParseDate(string userInput, params string[] formats)
-        {
-            DateTime datetime;
-
-            if (DateTime.TryParseExact(userInput, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out datetime))
-                return datetime;
-            return null;
-        }
-        /// <summary>
-        /// Tries to get the value for the input key.
-        /// </summary>
-        /// <param name="inputKey">The input key.</param>
-        /// <returns></returns>
-        protected static T TryGetFromInput<T>(string inputKey)
-            where T : class
-        {
-            string maybeId = Scope.Input[inputKey];
-            return TryGetById<T>(maybeId);
-        }
-
-        /// <summary>
-        /// Tries to get the value for the input key.
-        /// </summary>
-        /// <param name="inputKey">The input key.</param>
-        /// <returns></returns>
-        protected static T TryGetFromInputString<T>(string inputKey)
-            where T : class
-        {
-            string maybeId = Scope.Input[inputKey];
-            return TryGetByIdString<T>(maybeId);
-        }
-
-        /// <summary>
-        /// Tries the get by id.
-        /// </summary>
-        /// <param name="maybeId">The maybe id.</param>
-        /// <returns></returns>
-	    protected static T TryGetById<T>(string maybeId)
-                where T : class
-	    {
-	        int id;
-	        if (int.TryParse(maybeId, out id) == false)
-	            return null;
-	        return Repository<T>.Get(id);
-	    }
-
-        /// <summary>
-        /// Tries the get by id.
-        /// </summary>
-        /// <param name="maybeId">The maybe id.</param>
-        /// <returns></returns>
-        protected static T TryGetByIdString<T>(string maybeId)
-                where T : class
-        {
-            if (maybeId == null)
-                return null;
-            return Repository<T>.Get(maybeId);
-        }
-
-        /// <summary>
-        /// Gets the validator runner.
-        /// </summary>
-        /// <value>The validator runner.</value>
-	    protected ValidatorRunner ValidatorRunner
-	    {
-	        get
-	        {
-                if(validatorRunner==null)
-                    validatorRunner = new ValidatorRunner(validationRegistry);
-	            return validatorRunner;
-	        }
-	    }
 	}
-}
+}


update inventions

update inventions

--- address/Program.cs
+++ address/Program.cs
@@ -13,7 +13,8 @@
         public string releaseDate;
         public string Description;

-        public Inventions(string iname, string releasedate, string description)
+
+    public Inventions(string iname, string releasedate, string description)
         {
             iName = iname;
             releaseDate = releasedate;
@@ -132,4 +133,4 @@
             }
         }
     }
-}//+}


Add documentation to ICopy interface implementation.

--- Tuples/Tuple3dc.cs
+++ Tuples/Tuple3dc.cs
@@ -154,11 +154,17 @@
         #endregion

 		#region ICopy Members
+		/// <summary>
+		/// Copy this instance as ITuple
+		/// </summary>
 		ITuple ICopy<ITuple>.Copy()
 		{
 			return Copy();
 		}

+		/// <summary>
+		/// Copy this instance as Tuple3dc
+		/// </summary>
 		public Tuple3dc Copy()
 		{
 			return (Tuple3dc)MemberwiseClone();


Try to set the request encoding based on Content-Type, also use the new UriParser instead of System.Uri which is painfully slow.

--- server/Mango.Server/HttpRequest.cs
+++ server/Mango.Server/HttpRequest.cs
@@ -26,6 +26,7 @@
 			ResourceUri = resource;
 			Http_1_1_Supported = support_1_1;

+			SetEncoding ();
 			SetPathAndQuery ();
 		}

@@ -69,6 +70,21 @@
 			private set;
 		}

+		public Encoding ContentEncoding {
+			get;
+			private set;
+		}
+
+		private void SetEncoding ()
+		{
+			string content;
+
+			if (!Headers.TryGetValue ("Content-Type", out content)) {
+				ContentEncoding = Encoding.ASCII;
+				return;
+			}
+		}
+
 		private void SetPathAndQuery ()
 		{
 			// This is used with the OPTIONS verb
@@ -76,17 +92,17 @@
 				return;

 			string uri = ResourceUri;
-			if (!uri.StartsWith ("http://"))
-				uri = "http://host.com" + uri;
+			string scheme;
+			string path;
+			string query;

-			Uri u;
-			if (!Uri.TryCreate (uri, UriKind.Absolute, out u)) {
-				Connection.Abort (400, "Invalid resource path. '{0}'", ResourceUri);
+			if (!UriParser.TryParse (uri, out scheme, out path, out query)) {
+				Connection.Abort (400, "Invalid resource path. '{0}'", uri);
 				return;
 			}

-			LocalPath = u.LocalPath;
-			QueryData = HttpUtility.ParseQueryString (u.Query);
+			LocalPath = path;
+			QueryData = HttpUtility.ParseQueryString (query);
 		}

 		internal void SetWwwFormData (byte [] data)


Use the proper inflated type when reading dictionary in TypeImplementer

--- TypeImplementer.cs
+++ TypeImplementer.cs
@@ -586,7 +586,7 @@
 				GenTypeOf (ilg, t.GetElementType ());
 				ilg.Emit (OpCodes.Callvirt, messageReaderReadArray);
 			} else if (gDef != null && (gDef == typeof (IDictionary<,>) || gDef == typeof (Dictionary<,>))) {
-				GenTypeOf (ilg, gDef);
+				GenTypeOf (ilg, t);
 				ilg.Emit (OpCodes.Callvirt, messageReaderReadDictionary);
 			} else if (t.IsInterface)
 				GenFallbackReader (ilg, tUnder);


Fix #202 by adding a Prefix property

Fix #202 by adding a Prefix property

--- src/Discord.Net.Commands/Module.cs
+++ src/Discord.Net.Commands/Module.cs
@@ -11,6 +11,7 @@
         public TypeInfo Source { get; }
         public CommandService Service { get; }
         public string Name { get; }
+        public string Prefix { get; }
         public string Summary { get; }
         public string Description { get; }
         public IEnumerable<Command> Commands { get; }
@@ -23,6 +24,7 @@
             Source = source;
             Service = service;
             Name = source.Name;
+            Prefix = moduleAttr.Prefix ?? "";
             Instance = instance;

             var summaryAttr = source.GetCustomAttribute<SummaryAttribute>();
@@ -34,7 +36,7 @@
                 Description = descriptionAttr.Text;

             List<Command> commands = new List<Command>();
-            SearchClass(source, instance, commands, moduleAttr.Prefix ?? "");
+            SearchClass(source, instance, commands, Prefix);
             Commands = commands;

             Preconditions = BuildPreconditions();


Fix location reporting in IgnoreThen()

Fix location reporting in IgnoreThen()

--- src/Superpower/Combinators.cs
+++ src/Superpower/Combinators.cs
@@ -111,7 +111,11 @@
                 if (!rt.HasValue)
                     return TokenResult.CastEmpty<TTokenKind, T, U>(rt);

-                return second(rt.Remainder);
+                var ru = second(rt.Remainder);
+                if (!ru.HasValue)
+                    return ru;
+
+                return TokenResult.Value(ru.Value, input, ru.Remainder);
             };
         }

@@ -126,7 +130,11 @@
                 if (!rt.HasValue)
                     return CharResult.CastEmpty<T, U>(rt);

-                return second(rt.Remainder);
+                var ru = second(rt.Remainder);
+                if (!ru.HasValue)
+                    return ru;
+
+                return CharResult.Value(ru.Value, input, ru.Remainder);
             };
         }


Added method signature and stubbed implementation of DefineCommand<TResult>

--- src/Susanoo/CommandBuilder.cs
+++ src/Susanoo/CommandBuilder.cs
@@ -15,5 +15,18 @@
         {
             return new CommandExpression<TFilter, TResult>(CommandManager.Instance.Container.Resolve<IDatabaseManager>(), commandText, commandType);
         }
+
+        /// <summary>
+        /// Begins the command definition process using a Fluent API implementation, move to next step with DefineResultMappings on the result of this call.
+        /// </summary>
+        /// <typeparam name="TResult">The type of the result.</typeparam>
+        /// <param name="commandText">The command text.</param>
+        /// <param name="commandType">Type of the command.</param>
+        /// <returns>ICommandExpression<TFilter, TResult>.</returns>
+        /// <exception cref="System.NotImplementedException"></exception>
+        public ICommandExpression<TResult> DefineCommand<TResult>(string commandText, System.Data.CommandType commandType) where TResult : new()
+        {
+            throw new System.NotImplementedException();
+        }
     }
 }


Fix bad casing for argument parsing.

Fix bad casing for argument parsing.

--- src/Tools/RepoUtil/Program.cs
+++ src/Tools/RepoUtil/Program.cs
@@ -78,7 +78,7 @@
                 index++;
                 switch (arg.ToLower())
                 {
-                    case "-sourcesPath":
+                    case "-sourcespath":
                         {
                             if (index < args.Length)
                             {


Fixed spelling error

Fixed spelling error

--- src/Torshify.Shell/Program.cs
+++ src/Torshify.Shell/Program.cs
@@ -132,11 +132,11 @@
         {
             ConsoleEx.WriteLine("=== Search ===", ConsoleColor.Cyan);
             ConsoleEx.Write("Query >> ", ConsoleColor.Green);
-            string queary = Console.ReadLine();
+            string query = Console.ReadLine();

             ConsoleEx.WriteLine("Searching..", ConsoleColor.Yellow);
             ISearch search = Session
-                .Search(queary, 0, 25, 0, 25, 0, 25)
+                .Search(query, 0, 25, 0, 25, 0, 25)
                 .WaitForCompletion();

             for (int i = 0; i < search.Tracks.Count; i++)


Fix cast to be less error-prone.

Fix cast to be less error-prone.

--- src/UI.Dialog/ImportDialog.cs
+++ src/UI.Dialog/ImportDialog.cs
@@ -101,7 +101,7 @@
             // Populates the source combo box
             Sources = new TreeStore (typeof(ImportSource), typeof(string), typeof(string), typeof(bool));
             sources_combo.Model = Sources;
-            sources_combo.RowSeparatorFunc = (m, i) => ((string) m.GetValue (i, 1)) == String.Empty;
+            sources_combo.RowSeparatorFunc = (m, i) => (m.GetValue (i, 1) as string) == String.Empty;
             var render = new CellRendererPixbuf ();
             sources_combo.PackStart (render, false);
             sources_combo.SetAttributes (render, "icon-name", 2, "sensitive", 3);


Fixed a typo in a comment

Fixed a typo in a comment

--- UnitTests/Tests.cs
+++ UnitTests/Tests.cs
@@ -29,7 +29,7 @@
     using NUnit.Framework;

     /// <summary>
-    /// Full test suite. It is abstract to allow paramters of the memory manager to be modified and tested in different
+    /// Full test suite. It is abstract to allow parameters of the memory manager to be modified and tested in different
     /// combinations.
     /// </summary>
     public abstract class BaseRecyclableMemoryStreamTests
@@ -1789,4 +1789,4 @@
             get { return true; }
         }
     }
-}+}


Fixing XML docs

Fixing XML docs

--- src/Microsoft.AspNetCore.Mvc.ViewFeatures/IViewComponentHelper.cs
+++ src/Microsoft.AspNetCore.Mvc.ViewFeatures/IViewComponentHelper.cs
@@ -18,7 +18,8 @@
         /// <param name="name">The name of the view component.</param>
         /// <param name="arguments">
         /// An <see cref="object"/> containing arguments to be passed to the invoked view component method.
-        /// Alternatively, an <see cref="IDictionary{string, object}"/> instance containing the invocation arguments.
+        /// Alternatively, an <see cref="System.Collections.Generic.IDictionary{string, object}"/> instance containing
+        /// the invocation arguments.
         /// </param>
         /// <returns>A <see cref="Task"/> that on completion returns the rendered <see cref="IHtmlContent" />.
         /// </returns>
@@ -30,7 +31,8 @@
         /// <param name="componentType">The view component <see cref="Type"/>.</param>
         /// <param name="arguments">
         /// An <see cref="object"/> containing arguments to be passed to the invoked view component method.
-        /// Alternatively, an <see cref="IDictionary{string, object}"/> instance containing the invocation arguments.
+        /// Alternatively, an <see cref="System.Collections.Generic.IDictionary{string, object}"/> instance containing
+        /// the invocation arguments.
         /// </param>
         /// <returns>A <see cref="Task"/> that on completion returns the rendered <see cref="IHtmlContent" />.
         /// </returns>


UI :finnadie: :feelsgood:

UI :finnadie: :feelsgood:

--- ProjectFood/ProjectFood/Views/User/EditPreferences.cshtml
+++ ProjectFood/ProjectFood/Views/User/EditPreferences.cshtml
@@ -6,85 +6,87 @@

Rediger præferencer

-
Tilføj ting du ikke ønsker at købe. Dette kan ekspelvis være varer som du er allergisk overfor.

+

+        Tilføj ting du ikke ønsker at købe. Dette kan ekspelvis være varer som du er allergisk overfor.

         Du kan også fravælge butikker som du ikke ønsker at handle i.

-

-            @using (Html.BeginForm("AddPreference", "User", FormMethod.Post))
-            {
-                @Html.AntiForgeryToken()
-
-

+

+

+                @using (Html.BeginForm("AddPreference", "User", FormMethod.Post))
+                {
+                    @Html.AntiForgeryToken()
                     <input type="hidden" name="username" value="@User.Identity.Name" />
                     <input type="hidden" name="store" value="false" />
-                    @Html.TextBox("pref", "", new { @id = "autocomplete", @placeholder = "indtast præference", @class = "form-control" })
-
-                        <button type="submit" class="btn btn-default">Gem</button>
-
-

-            }
-

+

+                        @Html.TextBox("pref", "", new { @id = "autocomplete", @placeholder = "indtast præference", @class = "form-control" })
+
+                            <button type="submit" class="btn btn-default">Tilføj</button>
+
+

+                }
+

-

+

-            @foreach (var pref in Model.Preferences.Where(p => p.Store == false))
-            {
-

-
-                         p.Store == false))
+                {
+

+
+
-
-                           @pref.Value
-
-

-            }
+                               class="btn btn-danger">
+
+                               @pref.Value
+
+

+                }

+

-        @foreach (var store in (List<string>)ViewBag.Store)
-        {
-            string storename = store.Replace(" ", string.Empty);
-            string onSuccess = "ToggleBoolByID('" + storename + "')";
+

+            @foreach (var store in (List<string>)ViewBag.Store)
+            {
+                string storename = store.Replace(" ", string.Empty);
+                string onSuccess = "ToggleBoolByID('" + storename + "')";

-

-                @using (Ajax.BeginForm(
+

+                    @using (Ajax.BeginForm(
                 "EditStore",
                 new { storename = store },
                 new AjaxOptions { HttpMethod = "POST", OnSuccess = onSuccess }))
-                {
+                    {
+

-                    if (Model.Preferences.Any(x => x.Store == true && x.Value == store))
-                    {
-

-

-                                @store
-

-                                <input type="hidden" name="StoreCheck" id="storeCheck_@storename" value="false" />
-
-

-

+                            @if (Model.Preferences.Any(x => x.Store == true && x.Value == store))
+                            {
+
+                                    <input type="hidden" name="StoreCheck" id="storeCheck_@storename" value="false" />
+
+
+                                @store.Trim()
+                            }
+                            else
+                            {
+
+
+                                    <input type="hidden" name="StoreCheck" id="storeCheck_@storename" value="true" />
+
+
+                                @store.Trim()
+                            }
+
+
                     }
-                    else
-                    {
-

-

-                                @store
-

-                                <input type="hidden" name="StoreCheck" id="storeCheck_@storename" value="true" />
-
-

-

-                    }
-                }
-

-        }
+

+            }
+


Numeric robustness

Numeric robustness

--- FontAwesome.Sharp.Tests/WPF/IconHelper_Should.cs
+++ FontAwesome.Sharp.Tests/WPF/IconHelper_Should.cs
@@ -47,8 +47,8 @@
                 var imageSource = icon.ToImageSource(Brushes.Black, size);
                 imageSource.Should().NotBeNull($"an image should be generated for '{icon}'");
                 imageSource.Should().BeOfType<DrawingImage>();
-                Math.Round(imageSource.Width).Should().BeLessOrEqualTo(size);
-                Math.Round(imageSource.Height).Should().BeLessOrEqualTo(size);
+                imageSource.Width).Should().BeLessOrEqualTo(size + 1);
+                imageSource.Height).Should().BeLessOrEqualTo(size + 1);
             }
         }


added BackupDelete and BackupDeleteDone as new InstallProgress steps

--- RelicModManager/InstallerComponents/InstallerEventArgs.cs
+++ RelicModManager/InstallerComponents/InstallerEventArgs.cs
@@ -39,7 +39,10 @@
             Done = 27,
             //kept after done because it's not part of the install process
             Uninstall = 28,
-            UninstallDone = 29
+            UninstallDone = 29,
+            BackupDelete,
+            BackupDeleteDone
+
         };
         public InstallProgress InstalProgress { get; set; }
         //the total parrent processed items


Change DLX OpCodes to use UpperCase

Change DLX OpCodes to use UpperCase


remove linq from Stack children sizing, improved computation

--- src/GraphicObjects/GenericStack.cs
+++ src/GraphicObjects/GenericStack.cs
@@ -138,41 +138,67 @@
 				//this child will occupy remaining space
 				if (Orientation == Orientation.Horizontal) {
 					if (Width >= 0) {
-						GraphicObject[] gobjs = Children.Where (c => c.Width == 0 && c.Visible).ToArray();
-						if (gobjs.Length > 1)
-							throw new Exception ("Only one child in stack may have size to stretched");
-						else if (gobjs.Length == 1) {
-							int sz = Children.Where(ch=>ch.Visible).Except (gobjs).Sum (g => g.Slot.Width);
-							if (sz < Slot.Width) {
-								gobjs [0].Slot.Width = Slot.Width - sz - (Children.Count-1) * Spacing - 2 * Margin;
-								int idx = Children.IndexOf (gobjs [0]);
-								if (idx > 0 && idx < Children.Count - 1)
-									gobjs [0].Slot.Width -= Spacing;
-								if (gobjs [0].LastSlots.Width != gobjs [0].Slot.Width) {
-									gobjs [0].bmp = null;
-									gobjs [0].OnLayoutChanges (LayoutingType.Width);
-									gobjs [0].LastSlots.Width = gobjs [0].Slot.Width;
-								}
+						GraphicObject stretchedGO = null;
+						int tmpWidth = Slot.Width;
+						int cptChildren = 0;
+						for (int i = 0; i < Children.Count; i++) {
+							if (!Children [i].Visible)
+								continue;
+							cptChildren++;
+							if (Children [i].Width == 0) {
+								if (stretchedGO != null)
+									throw new Exception ("Only one child in stack may have size to stretched");
+								stretchedGO = Children [i];
+								if (i < Children.Count - 1)
+									tmpWidth -= Spacing;
+								continue;
+							}
+							tmpWidth -= Children[i].Slot.Width + Spacing;
+						}
+						if (stretchedGO != null) {
+							tmpWidth += (Spacing - 2 * Margin);
+							if (tmpWidth < MinimumSize.Width)
+								tmpWidth = MinimumSize.Width;
+							else if (tmpWidth > MaximumSize.Width && MaximumSize.Width > 0)
+								tmpWidth = MaximumSize.Width;
+							if (stretchedGO.LastSlots.Width != tmpWidth) {
+								stretchedGO.Slot.Width = tmpWidth;
+								stretchedGO.bmp = null;
+								stretchedGO.OnLayoutChanges (LayoutingType.Width);
+								stretchedGO.LastSlots.Width = stretchedGO.Slot.Width;
 							}
 						}
 					}
 				} else {
 					if (Height >= 0) {
-						GraphicObject[] gobjs = Children.Where(ch=>ch.Visible).Where (c => c.Height == 0).ToArray();
-						if (gobjs.Length > 1)
-							throw new Exception ("Only one child in stack may have size to stretched");
-						else if (gobjs.Length == 1) {
-							int sz = Children.Where(ch=>ch.Visible).Except (gobjs).Sum (g => g.Slot.Height);
-							if (sz < Slot.Height) {
-								gobjs [0].Slot.Height = Slot.Height - sz- (Children.Count-1) * Spacing - 2 * Margin;
-								int idx = Children.IndexOf (gobjs [0]);
-								if (idx > 0 && idx < Children.Count - 1)
-									gobjs [0].Slot.Height -= Spacing;
-								if (gobjs [0].LastSlots.Height != gobjs [0].Slot.Height) {
-									gobjs [0].bmp = null;
-									gobjs [0].OnLayoutChanges (LayoutingType.Height);
-									gobjs [0].LastSlots.Height = gobjs [0].Slot.Height;
-								}
+						GraphicObject stretchedGO = null;
+						int tmpHeight = Slot.Height;
+						int cptChildren = 0;
+						for (int i = 0; i < Children.Count; i++) {
+							if (!Children [i].Visible)
+								continue;
+							cptChildren++;
+							if (Children [i].Height == 0) {
+								if (stretchedGO != null)
+									throw new Exception ("Only one child in stack may have size to stretched");
+								stretchedGO = Children [i];
+								if (i < Children.Count - 1)
+									tmpHeight -= Spacing;
+								continue;
+							}
+							tmpHeight -= Children[i].Slot.Height + Spacing;
+						}
+						if (stretchedGO != null) {
+							tmpHeight += (Spacing - 2 * Margin);
+							if (tmpHeight < MinimumSize.Height)
+								tmpHeight = MinimumSize.Height;
+							else if (tmpHeight > MaximumSize.Height && MaximumSize.Height > 0)
+								tmpHeight = MaximumSize.Height;
+							if (stretchedGO.LastSlots.Height != tmpHeight) {
+								stretchedGO.Slot.Height = tmpHeight;
+								stretchedGO.bmp = null;
+								stretchedGO.OnLayoutChanges (LayoutingType.Height);
+								stretchedGO.LastSlots.Height = stretchedGO.Slot.Height;
 							}
 						}
 					}
@@ -189,26 +215,13 @@

 			return base.UpdateLayout(layoutType);
         }
-//		public override void OnLayoutChanges (LayoutingType layoutType)
-//		{
-//			base.OnLayoutChanges (layoutType);
-//
-//			if (Orientation == Orientation.Horizontal){
-//				if(layoutType == LayoutingType.Width)
-//					this.RegisterForLayouting (LayoutingType.PositionChildren);
-//			}else if (layoutType == LayoutingType.Height)
-//				this.RegisterForLayouting (LayoutingType.PositionChildren);
-//		}
+
 		public override void OnChildLayoutChanges (object sender, LayoutingEventArgs arg)
 		{
 			base.OnChildLayoutChanges (sender, arg);

 			GraphicObject g = sender as GraphicObject;
 			switch (arg.LayoutType) {
-			case LayoutingType.X:
-				break;
-			case LayoutingType.Y:
-				break;
 			case LayoutingType.Width:
 				if (Orientation == Orientation.Horizontal) {
 					if (this.Bounds.Width < 0)


Add Async postfix

Add Async postfix

--- src/Amazon.DynamoDb/DynamoDbClient.cs
+++ src/Amazon.DynamoDb/DynamoDbClient.cs
@@ -191,12 +191,12 @@
             return await HandleRequestAsync<ScanRequest, QueryResult>("Scan", request);
         }

-        public async Task<TransactGetItemsResult> TransactGetItems(TransactGetItemRequest request)
+        public async Task<TransactGetItemsResult> TransactGetItemsAsync(TransactGetItemRequest request)
         {
             return await HandleRequestAsync<TransactGetItemRequest, TransactGetItemsResult>("TransactGetItems", request);
         }

-        public async Task<TransactWriteItemsResult> TransactWriteItems(TransactWriteItemsRequest request)
+        public async Task<TransactWriteItemsResult> TransactWriteItemsAsync(TransactWriteItemsRequest request)
         {
             return await HandleRequestAsync<TransactWriteItemsRequest, TransactWriteItemsResult>("TransactWriteItems", request);
         }


Do not throw in case of empty list w/o scope

--- src/AngleSharp/Dom/QueryExtensions.cs
+++ src/AngleSharp/Dom/QueryExtensions.cs
@@ -1,4 +1,4 @@
-namespace AngleSharp.Dom
+namespace AngleSharp.Dom
 {
     using AngleSharp.Css.Dom;
     using AngleSharp.Css.Parser;
@@ -27,7 +27,13 @@
         {
             var scope = GetScope(scopeNode);
             var sg = CreateSelector(nodes, scope, selectorText);
-            return sg.MatchAny(nodes.OfType<IElement>(), scope);
+
+            if (sg != null)
+            {
+                return sg.MatchAny(nodes.OfType<IElement>(), scope);
+            }
+
+            return null;
         }

         /// <summary>
@@ -43,7 +49,13 @@
         {
             var scope = GetScope(scopeNode);
             var sg = CreateSelector(nodes, scope, selectorText);
-            return sg.MatchAll(nodes.OfType<IElement>(), scope);
+
+            if (sg != null)
+            {
+                return sg.MatchAll(nodes.OfType<IElement>(), scope);
+            }
+
+            return new HtmlCollection<IElement>(Enumerable.Empty<IElement>());
         }

         /// <summary>
@@ -213,15 +225,16 @@
         private static ISelector CreateSelector(INodeList nodes, INode scope, String selectorText)
         {
             var node = nodes.Length > 0 ? nodes[0] : scope;
-
-            if (node == null)
-                throw new InvalidOperationException("A scope is required to parse the query");
-
-            var parser = node.Owner.Context.GetService<ICssSelectorParser>();
-            var sg = parser.ParseSelector(selectorText);
-
-            if (sg == null)
-                throw new DomException(DomError.Syntax);
+            var sg = default(ISelector);
+
+            if (node != null)
+            {
+                var parser = node.Owner.Context.GetService<ICssSelectorParser>();
+                sg = parser.ParseSelector(selectorText);
+
+                if (sg == null)
+                    throw new DomException(DomError.Syntax);
+            }

             return sg;
         }


Changed the name of the dynamic assembly to EasyButtons.DynamicAssembly

- changed the name of the dynamic assembly;
- changed the assembly and module creation details so that they surely work across all platforms;
- Added namespace to the type on creation to avoid name collision.

--- Assets/EasyButtons/Editor/Utils/ScriptableObjectCache.cs
+++ Assets/EasyButtons/Editor/Utils/ScriptableObjectCache.cs
@@ -2,6 +2,8 @@
 {
     using System;
     using System.Collections.Generic;
+    using System.Configuration.Assemblies;
+    using System.Globalization;
     using System.Reflection;
     using System.Reflection.Emit;
     using NUnit.Framework;
@@ -9,13 +11,18 @@

     internal static class ScriptableObjectCache
     {
-        private const string AssemblyName = "DynamicAssembly";
+        private const string AssemblyName = "EasyButtons.DynamicAssembly";

         private static readonly AssemblyBuilder AssemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(
-            new AssemblyName(AssemblyName),
-            AssemblyBuilderAccess.RunAndCollect);
+            new AssemblyName(AssemblyName)
+        {
+            CultureInfo = CultureInfo.InvariantCulture,
+            Flags = AssemblyNameFlags.None,
+            ProcessorArchitecture = ProcessorArchitecture.MSIL,
+            VersionCompatibility = AssemblyVersionCompatibility.SameDomain
+        }, AssemblyBuilderAccess.Run);

-        private static readonly ModuleBuilder ModuleBuilder = AssemblyBuilder.DefineDynamicModule(AssemblyName, $"{AssemblyName}.dll");
+        private static readonly ModuleBuilder ModuleBuilder = AssemblyBuilder.DefineDynamicModule(AssemblyName, true);

         private static readonly Dictionary<string, Type> ClassDict = new Dictionary<string, Type>();

@@ -38,7 +45,11 @@

         private static Type CreateClass(string className, string fieldName, Type fieldType)
         {
-            TypeBuilder typeBuilder = ModuleBuilder.DefineType(className, TypeAttributes.Public, typeof(ScriptableObject));
+            TypeBuilder typeBuilder = ModuleBuilder.DefineType(
+                $"{AssemblyName}.{className}",
+                TypeAttributes.NotPublic,
+                typeof(ScriptableObject));
+
             typeBuilder.DefineField(fieldName, fieldType, FieldAttributes.Public);
             Type type = typeBuilder.CreateType();
             return type;


Fixed null reference exceptions

Fixed null reference exceptions

--- src/AutoTest.Messages/BuildMessage.cs
+++ src/AutoTest.Messages/BuildMessage.cs
@@ -33,10 +33,10 @@
 		#region ICustomBinarySerializable implementation
 		public void WriteDataTo(BinaryWriter writer)
 		{
-			writer.Write((string) File);
+            writer.Write(File == null ? "" : File);
 			writer.Write((int) LineNumber);
 			writer.Write((int) LinePosition);
-			writer.Write((string) ErrorMessage);
+			writer.Write(ErrorMessage == null ? "" : ErrorMessage);
 		}

 		public void SetDataFrom (BinaryReader reader)


Fix Build Error

Fix Build Error

--- Assets/HierarchyHelper/Scripts/HierarchyHelperManager.cs
+++ Assets/HierarchyHelper/Scripts/HierarchyHelperManager.cs
@@ -172,7 +172,6 @@
 		{
 			EditorPrefs.SetBool( HELPER_IS_SHOWING + categroy, showing );
 		}
-		#endif

 		#pragma warning disable 0649
 		private static Rect _controlRect;
@@ -193,5 +192,7 @@

 			return rect;
 		}
+
+		#endif
 	}
 }


Fixed form resize for mono

Fixed form resize for mono

--- src/AutoTest.WinForms/FeedbackForm.cs
+++ src/AutoTest.WinForms/FeedbackForm.cs
@@ -269,7 +269,7 @@
 			// This is truely horrendous but it does the job for now
 			if (Environment.OSVersion.Platform.Equals(PlatformID.Unix))
 			{
-				linkLabelInfo.Top = Height - (linkLabelInfo.Height + _infoBottomSpacing + 100);
+				linkLabelInfo.Top = Height - (linkLabelInfo.Height + _infoBottomSpacing + 60);
 				runFeedbackList.Height = linkLabelInfo.Top - (runFeedbackList.Top + _listBottomSpacing);
             	runFeedbackList.Width = Width - (runFeedbackList.Left + _rightSpacing + 10);
 			}


Update TreeView index when not attached to logical tree.

Fixes #3551.

--- src/Avalonia.Controls/TreeViewItem.cs
+++ src/Avalonia.Controls/TreeViewItem.cs
@@ -51,6 +51,7 @@
             SelectableMixin.Attach<TreeViewItem>(IsSelectedProperty);
             FocusableProperty.OverrideDefaultValue<TreeViewItem>(true);
             ItemsPanelProperty.OverrideDefaultValue<TreeViewItem>(DefaultPanel);
+            ParentProperty.Changed.AddClassHandler<TreeViewItem>((o, e) => o.OnParentChanged(e));
             RequestBringIntoViewEvent.AddClassHandler<TreeViewItem>((x, e) => x.OnRequestBringIntoView(e));
         }

@@ -179,5 +180,16 @@

             return logical != null ? result : @default;
         }
+
+        private void OnParentChanged(AvaloniaPropertyChangedEventArgs e)
+        {
+            if (!((ILogical)this).IsAttachedToLogicalTree && e.NewValue is null)
+            {
+                // If we're not attached to the logical tree, then OnDetachedFromLogicalTree isn't going to be
+                // called when the item is removed. This results in the item not being removed from the index,
+                // causing #3551. In this case, update the index when Parent is changed to null.
+                ItemContainerGenerator.UpdateIndex();
+            }
+        }
     }
 }


Cluster output bug fix

Cluster output bug fix

--- src/Biomorpher/BiomorpherComponent.cs
+++ src/Biomorpher/BiomorpherComponent.cs
@@ -76,7 +76,7 @@
             }

             // Output cluster info
-            if(solveinstanceCounter>0)
+            if(myNumbers!=null)
              DA.SetDataTree(0, myNumbers);

             solveinstanceCounter++;


Fixed a minor issue where the file size was reported incorrectly for .WUD and .WUX files.

--- src/Budford/View/FormScanRomFolder.cs
+++ src/Budford/View/FormScanRomFolder.cs
@@ -140,6 +140,8 @@
                                              if (Path.GetExtension(rpxFile).ToLower().Contains("rpx"))
                                              {
                                                  gi.RpxFile = rpxFile;
+                                                 FileInfo fi = new FileInfo(file);
+                                                 gi.Size = (fi.Length / 1024 / 1024).ToString("N0") + " MB";
                                              }
                                          }
                                      }
@@ -164,6 +166,8 @@
                                     if (Path.GetExtension(rpxFile).ToLower().Contains("rpx"))
                                     {
                                         gi.RpxFile = rpxFile;
+                                        FileInfo fi = new FileInfo(file);
+                                        gi.Size = (fi.Length / 1024 / 1024).ToString("N0") + " MB";
                                     }
                                 }


Increase Major Version

Increase Major Version

Because of the modification of the interface in an incompatible mode

--- src/CAPNet/Properties/AssemblyInfo.cs
+++ src/CAPNet/Properties/AssemblyInfo.cs
@@ -11,6 +11,6 @@
 // COM, set the ComVisible attribute to true on that type.
 [assembly: ComVisible(false)]

-[assembly: AssemblyVersion("0.2.0.0")]
-[assembly: AssemblyFileVersion("0.2.0.0")]
-[assembly: AssemblyInformationalVersion("0.2.0-alpha")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyInformationalVersion("1.0.0-alpha")]


Update DirectInputPadPlugin.Build.cs

Update DirectInputPadPlugin.Build.cs

UE 4.19

--- Source/DirectInputPadPlugin/DirectInputPadPlugin.Build.cs
+++ Source/DirectInputPadPlugin/DirectInputPadPlugin.Build.cs
@@ -42,7 +42,7 @@
 				}
 				);

-            if (UEBuildConfiguration.bBuildEditor)
+            if (Target.bBuildEditor)
             {
                 PrivateDependencyModuleNames.AddRange(new string[]{ "MainFrame", });
             }


modifiche varie

modifiche varie

--- Source/HelixToolkit.WinUI/CommonDX/SwapChainRenderHost.cs
+++ Source/HelixToolkit.WinUI/CommonDX/SwapChainRenderHost.cs
@@ -184,162 +184,6 @@
             });
         }

-        private void OnDummyButtonForFocus_KeyUp(object sender, KeyRoutedEventArgs e)
-        {
-            e.Handled = true;
-        }
-
-        private void OnDummyButtonForFocus_KeyDown(object sender, KeyRoutedEventArgs e)
-        {
-            e.Handled = true;
-        }
-
-
-
-        private void OnSwapChainPanel_PointerReleased(object sender, PointerRoutedEventArgs e)
-        {
-            /*
-            if (_painter == null) { return; }
-            if (_targetPanel == null) { return; }
-
-            // Track mouse/pointer state
-            var currentPoint = e.GetCurrentPoint(_targetPanel);
-            var pointProperties = currentPoint.Properties;
-
-            if (pointProperties.IsPrimary)
-            {
-                _stateMouseOrPointer.Internals.NotifyButtonStates(
-                    pointProperties.IsLeftButtonPressed,
-                    pointProperties.IsMiddleButtonPressed,
-                    pointProperties.IsRightButtonPressed,
-                    pointProperties.IsXButton1Pressed,
-                    pointProperties.IsXButton2Pressed);
-            }
-            */
-            // Needed here because we loose focus again by default on left mouse button
-            e.Handled = true;
-        }
-
-        private void OnSwapChainPanel_PointerPressed(object sender, PointerRoutedEventArgs e)
-        {
-            this.Focus(FocusState.Programmatic);
-            /*
-            if (_painter == null) { return; }
-            if (_targetPanel == null) { return; }
-
-            // Set focus on target
-            _targetPanel.Focus(FocusState.Programmatic);
-
-            // Track mouse/pointer state
-            var currentPoint = e.GetCurrentPoint(_targetPanel);
-            var pointProperties = currentPoint.Properties;
-
-            if (pointProperties.IsPrimary)
-            {
-                _stateMouseOrPointer.Internals.NotifyButtonStates(
-                    pointProperties.IsLeftButtonPressed,
-                    pointProperties.IsMiddleButtonPressed,
-                    pointProperties.IsRightButtonPressed,
-                    pointProperties.IsXButton1Pressed,
-                    pointProperties.IsXButton2Pressed);
-            }
-
-            _lastDragPoint = currentPoint;
-            */
-            // Needed here because we loose focus again by default on left mouse button
-            e.Handled = true;
-        }
-
-        private void OnSwapChainPanel_PointerMoved(object sender, PointerRoutedEventArgs e)
-        {
-            /*
-            if (_painter == null) { return; }
-            if (_targetPanel == null) { return; }
-
-            // Calculate move distance
-            var currentPoint = e.GetCurrentPoint(_targetPanel);
-
-            if (_lastDragPoint == null)
-            {
-                _lastDragPoint = currentPoint;
-            }
-
-            var moveDistance = new Vector2(
-                (float)(currentPoint.Position.X - _lastDragPoint.Position.X),
-                (float)(currentPoint.Position.Y - _lastDragPoint.Position.Y));
-            var currentLocation = new Vector2(
-                (float)currentPoint.Position.X,
-                (float)currentPoint.Position.Y);
-
-            // Track mouse/pointer state
-            var pointProperties = currentPoint.Properties;
-
-            if (pointProperties.IsPrimary)
-            {
-                _stateMouseOrPointer.Internals.NotifyButtonStates(
-                    pointProperties.IsLeftButtonPressed,
-                    pointProperties.IsMiddleButtonPressed,
-                    pointProperties.IsRightButtonPressed,
-                    pointProperties.IsXButton1Pressed,
-                    pointProperties.IsXButton2Pressed);
-
-                var actSize = _painter.ActualSize;
-                _stateMouseOrPointer.Internals.NotifyMouseLocation(
-                    currentLocation, moveDistance, actSize.ToVector2());
-            }
-
-            // Store last drag point
-            _lastDragPoint = currentPoint;
-            */
-        }
-
-        private void OnSwapChainPanel_PointerWheelChanged(object sender, PointerRoutedEventArgs e)
-        {
-            /*
-            if (_painter == null) { return; }
-            if (!_hasFocus) { return; }
-            if (_targetPanel == null) { return; }
-
-            // Track mouse/pointer state
-            var currentPoint = e.GetCurrentPoint(_targetPanel);
-            var pointProperties = currentPoint.Properties;
-            var wheelDelta = pointProperties.MouseWheelDelta;
-
-            if (pointProperties.IsPrimary)
-            {
-                _stateMouseOrPointer.Internals.NotifyButtonStates(
-                    pointProperties.IsLeftButtonPressed,
-                    pointProperties.IsMiddleButtonPressed,
-                    pointProperties.IsRightButtonPressed,
-                    pointProperties.IsXButton1Pressed,
-                    pointProperties.IsXButton2Pressed);
-                _stateMouseOrPointer.Internals.NotifyMouseWheel(wheelDelta);
-            }
-            */
-        }
-
-        /// <summary>
-        /// Called when mouse leaves the target panel.
-        /// </summary>
-        private void OnSwapChainPanel_PointerExited(object sender, PointerRoutedEventArgs e)
-        {
-            /*
-            if (_painter == null) { return; }
-
-            _stateMouseOrPointer.Internals.NotifyInside(false);
-            */
-        }
-
-        private void OnSwapChainPanel_PointerEntered(object sender, PointerRoutedEventArgs e)
-        {
-            int j = 0;
-            /*
-            if (_painter == null) { return; }
-
-            _stateMouseOrPointer.Internals.NotifyInside(true);
-            */
-        }
-
         /// <summary>
         ///
         /// </summary>


Mark internal classes as serializable.

Mark internal classes as serializable.

--- Source/Main/NProxy.Core/Interceptors/InvocationContext.cs
+++ Source/Main/NProxy.Core/Interceptors/InvocationContext.cs
@@ -23,6 +23,7 @@
     /// <summary>
     /// Represents an invocation context.
     /// </summary>
+    [Serializable]
     internal sealed class InvocationContext : IInvocationContext
     {
         /// <summary>