From abdec82be1172b7c3e8ee6b2864c3b8996e07765 Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 24 Aug 2015 08:39:56 +0200 Subject: [PATCH] Guarantee struct type field ordering --- renderdocui/Interop/CustomMarshaling.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/renderdocui/Interop/CustomMarshaling.cs b/renderdocui/Interop/CustomMarshaling.cs index b2f47b028..69f186b6e 100644 --- a/renderdocui/Interop/CustomMarshaling.cs +++ b/renderdocui/Interop/CustomMarshaling.cs @@ -23,6 +23,7 @@ ******************************************************************************/ using System; +using System.Linq; using System.Runtime.InteropServices; using System.Reflection; using System.Collections.Generic; @@ -454,7 +455,8 @@ namespace renderdoc return null; // Get instance fields of the structure type. - FieldInfo[] fields = structureType.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); + FieldInfo[] fields = structureType.GetFields(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance) + .OrderBy(field => field.MetadataToken).ToArray(); object ret = Activator.CreateInstance(structureType);