Skip to content

[pull] master from mapeditor:master - #117

Merged
pull[bot] merged 2 commits into
dogboydog:masterfrom
mapeditor:master
Aug 21, 2026
Merged

pull[bot] merged 2 commits into
dogboydog:masterfrom
mapeditor:master

Conversation

@pull

@pull pull Bot commented Aug 21, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

bjorn and others added 2 commits August 21, 2026 23:32
)

* improve TileLayer performance by replacing dirty flag tileset scan with incremental ref counting

* libtiled: Use a single hash for TileLayer tileset reference counting

As suggested by the maintainer, use a single QHash<SharedTileset, int>
for tracking tileset usage in TileLayer. This simplifies the
implementation and avoids the need to rebuild the reference counts
in most cases.

Also:
- Inline addTilesetRef and removeTilesetRef into setCell with caching of
  SharedTileset for performance.
- Update referencesTileset to use O(1) lookup with qSharedPointerConstCast
  to handle the const/non-const SharedTileset mismatch.
- Update removeReferencesToTileset and replaceReferencesToTileset to
  update the hash directly.
- Ensure TileLayer::usedTilesets returns the set of keys from the hash.

* libtiled: Restore hasCell() doc comment and drop unneeded mutable

The comment was lost in the refcount rewrite, and mUsedTilesets no
longer needs to be mutable now that the lazy rebuild is gone.

Co-authored-by: rhythmcache <153998419+rhythmcache@users.noreply.github.com>
The generated moc_*.cpp files are tagged with "hpp" when they are
included by a source file rather than compiled separately, since in that
case they behave like headers. This caused them to be matched by the
install group using 'fileTagsFilter: "hpp"' and to be installed to the
include directory.

Now the source headers are explicitly tagged with an additional
"public_hpp" tag, which the install group matches instead. Generated
artifacts are not affected by FileTagger items, so the moc files are no
longer installed.

Closes #4260
@pull pull Bot locked and limited conversation to collaborators Aug 21, 2026
@pull pull Bot added the ⤵️ pull label Aug 21, 2026
@pull
pull Bot merged commit d8a953b into dogboydog:master Aug 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant