Skip to content

fix: preserve resource references and map enumeration order - #596

Open
benletchford wants to merge 1 commit into
masterfrom
dev/taskmaker-qualification
Open

fix: preserve resource references and map enumeration order#596
benletchford wants to merge 1 commit into
masterfrom
dev/taskmaker-qualification

Conversation

@benletchford

Copy link
Copy Markdown
Owner

Summary

  • keep detached resources represented in their resource map while unloading shared data
  • reload NIL indexed resource handles and reconnect existing master pointers
  • preserve resource reference-list order for indexed enumeration

Cause

DetachResource removed the resource-map entry entirely, and indexed enumeration then sorted the remaining hash-map entries by numeric ID. Applications that enumerate and checksum resources therefore saw the wrong resource set and order.

Evidence

TaskMaker 2.2.3 now enumerates CODE and TEXT resources in their on-disk reference-list order. Its computed integrity checksum is 02C3, matching its embedded CSTR value, and startup completes without damage dialog 777.

Tests

  • cargo test (2,953 passed, 3 ignored; all binary and doc tests passed)
  • TaskMaker 2.2.3 scripted startup through tick 810; checksum 02C3; no damage dialog

Closes #575

@benletchford
benletchford marked this pull request as ready for review August 14, 2026 00:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TaskMaker 2.2.3 reports an intact application as damaged

1 participant