diff options
author | Bevan Weiss <bevan.weiss@gmail.com> | 2025-02-12 19:52:50 +1100 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2025-03-03 06:35:56 -0800 |
commit | 22e00b878ffe89ee3134d3d1b42b3d6c777adae8 (patch) | |
tree | 8c7efc26f2a739e376929367ab77300214460780 | |
parent | 61d789db5de8613c51df1e7db94f459aadbd3ca8 (diff) | |
download | wix-22e00b878ffe89ee3134d3d1b42b3d6c777adae8.tar.gz wix-22e00b878ffe89ee3134d3d1b42b3d6c777adae8.tar.bz2 wix-22e00b878ffe89ee3134d3d1b42b3d6c777adae8.zip |
Msmq decompile test revealed some latent issues with the Wix6Group
Decompiler not being broad enough in where it looks for indexes.
Carry forward both Group and Wix4Group just for good measure.
Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
-rw-r--r-- | src/ext/Util/wixext/UtilDecompiler.cs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/ext/Util/wixext/UtilDecompiler.cs b/src/ext/Util/wixext/UtilDecompiler.cs index 55323e15..cde64f8f 100644 --- a/src/ext/Util/wixext/UtilDecompiler.cs +++ b/src/ext/Util/wixext/UtilDecompiler.cs | |||
@@ -455,7 +455,9 @@ namespace WixToolset.Util | |||
455 | foreach (var row in table.Rows) | 455 | foreach (var row in table.Rows) |
456 | { | 456 | { |
457 | var groupId = row.FieldAsString(0); | 457 | var groupId = row.FieldAsString(0); |
458 | if (this.DecompilerHelper.TryGetIndexedElement("Group", groupId, out var group)) | 458 | XElement group; |
459 | if (this.DecompilerHelper.TryGetIndexedElement("Group", groupId, out group) | ||
460 | || this.DecompilerHelper.TryGetIndexedElement("Wix4Group", groupId, out group)) | ||
459 | { | 461 | { |
460 | var attributes = (Group6SymbolAttributes)(row.FieldAsNullableInteger(2) ?? 0); | 462 | var attributes = (Group6SymbolAttributes)(row.FieldAsNullableInteger(2) ?? 0); |
461 | group.Add(AttributeIfNotNull("Comment", row, 1)); | 463 | group.Add(AttributeIfNotNull("Comment", row, 1)); |
@@ -483,10 +485,14 @@ namespace WixToolset.Util | |||
483 | foreach (var row in table.Rows) | 485 | foreach (var row in table.Rows) |
484 | { | 486 | { |
485 | var parentId = row.FieldAsString(0); | 487 | var parentId = row.FieldAsString(0); |
486 | var parentExists = this.DecompilerHelper.TryGetIndexedElement("Group", parentId, out var parentGroup); | 488 | XElement parentGroup; |
489 | var parentExists = (this.DecompilerHelper.TryGetIndexedElement("Group", parentId, out parentGroup) | ||
490 | || this.DecompilerHelper.TryGetIndexedElement("Wix4Group", parentId, out parentGroup)); | ||
487 | 491 | ||
488 | var childId = row.FieldAsString(1); | 492 | var childId = row.FieldAsString(1); |
489 | var childExists = this.DecompilerHelper.TryGetIndexedElement("Group", childId, out var childGroup); | 493 | XElement childGroup; |
494 | var childExists = (this.DecompilerHelper.TryGetIndexedElement("Group", childId, out childGroup) | ||
495 | || this.DecompilerHelper.TryGetIndexedElement("Wix4Group", childId, out childGroup)); | ||
490 | 496 | ||
491 | if (parentExists && childExists) | 497 | if (parentExists && childExists) |
492 | { | 498 | { |