Skip to content

Conversation

@Frixuu
Copy link
Contributor

@Frixuu Frixuu commented May 17, 2025

This is something I've stumbled upon a while ago, but I have not come up with a better solution since then ¯\_(ツ)_/¯

This PR makes sure that the size of celWxcelH is not larger than one of the destination buffer frame.pixels.

@jeremyfa
Copy link
Member

Thanks for the PR, but do you have an actual ase file example that reproduces the issue yoi are fixing?

@Frixuu
Copy link
Contributor Author

Frixuu commented May 17, 2025

Sure: repro.aseprite.zip

using ceramic.SpritePlugin;
public override function preload() {
    this.assets.addSprite("repro");
}

With this patch my game loads and runs fine as expected.
Without this patch:

malloc(): corrupted top size
zsh: IOT instruction (core dumped)

@jeremyfa
Copy link
Member

Thanks for the repro example, I’ll take a look!

@jeremyfa jeremyfa force-pushed the master branch 12 times, most recently from 43f9ee1 to aeb18ef Compare May 19, 2025 12:10
@jeremyfa jeremyfa merged commit ac199cf into ceramic-engine:master May 22, 2025
@jeremyfa
Copy link
Member

Went through the changes again, they make sense so far so merging it. Will test that over the various projects that use ase to make sure nothing breaks anyway, thanks!

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.

2 participants