Skip to content

build: Fix compile error in Smudge.h with docker-build#2701

Open
ucosty wants to merge 1 commit into
TheSuperHackers:mainfrom
ucosty:issue-2674-fix-build-error
Open

build: Fix compile error in Smudge.h with docker-build#2701
ucosty wants to merge 1 commit into
TheSuperHackers:mainfrom
ucosty:issue-2674-fix-build-error

Conversation

@ucosty
Copy link
Copy Markdown

@ucosty ucosty commented May 12, 2026

This short fix gets the build working again, and should close out issue #2674

… docker-build

This short fix gets the build working again, and should close out
issue TheSuperHackers#2674
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 12, 2026

Greptile Summary

This PR adds a single missing #include "Common/STLTypedefs.h" to Smudge.h, resolving a docker build failure caused by std::hash_map being used in SmudgeSet::SmudgeIdToPtrMap without a guaranteed include path to the hash_map_adapter.h that defines it.

  • Root cause fixed: Smudge.h (line 81) declares typedef std::hash_map<Smudge::Identifier, Smudge *> SmudgeIdToPtrMap, but previously depended on a transitive include chain to bring in hash_map_adapter.h. Adding STLTypedefs.h directly makes the dependency explicit and build-order–safe.
  • Scope: One-line change to a single header file; no logic or interface changes.

Confidence Score: 5/5

Safe to merge — the change makes an existing implicit dependency explicit with no logic alterations.

The fix is minimal and correct: Smudge.h was already using std::hash_map and related types; adding the direct include simply makes that dependency self-contained rather than relying on whatever happened to be included first in a given translation unit.

No files require special attention.

Important Files Changed

Filename Overview
Core/GameEngine/Include/GameClient/Smudge.h Adds missing direct include of Common/STLTypedefs.h, which provides std::hash_map used on line 81 in SmudgeSet::SmudgeIdToPtrMap; previously relied on transitive inclusion that was not guaranteed.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Smudge.h] -->|now explicitly includes| B[Common/STLTypedefs.h]
    B --> C[Utility/hash_map_adapter.h]
    C --> D[std::hash_map available]
    A --> E[SmudgeSet::SmudgeIdToPtrMap\ntypedef std::hash_map&lt;...&gt;]
    D -->|resolves| E
    A --> F[WW3D2/dllist.h]
    A --> G[WWMath/vector2.h]
    A --> H[WWMath/vector3.h]
    style B fill:#90EE90
    style D fill:#90EE90
Loading

Reviews (1): Last reviewed commit: "Issue #2674: Resolve build failure exper..." | Re-trigger Greptile

@xezon xezon changed the title bugfix(build): Issue #2674: Resolve build failure experienced through docker-build build: Fix compile error in Smudge.h with docker-build May 12, 2026
@xezon xezon added Minor Severity: Minor < Major < Critical < Blocker CompileBug Bug at compile time labels May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CompileBug Bug at compile time Minor Severity: Minor < Major < Critical < Blocker

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants