YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
24 stars 8 forks source link

Building Projects: [GMRT] Deleting a specific Asset Browser group causes compile failures that persist until GM is relaunched #6993

Open KormexGit opened 2 months ago

KormexGit commented 2 months ago

Description

While deleting stuff from a branch of my project to try to narrow down a GMRT crash, I discovered that deleting my Player object folder causes compile to fail, with a bunch of log text saying it can't find sPlayer. sPlayer was indeed just deleted, but so was all of the references to it. Cleaning the cache does not fix it, and it fails to compile with all windows compilers, including current VM, YYC, and GMRT. Restarting GM will cause the project tool to run again, as well as a language services error popup, and then the project can compile again. It appears some sort of project corruption is occurring that is fixed by project tool on relaunch

Steps To Reproduce

Open the attached project. Select the Player folder in the asset browser and delete it. Then try to compile the game.

Which version of GameMaker are you reporting this issue for?

IDE v2024.800.0.597 Runtime v2024.800.0.620

Which operating system(s) are you seeing the problem on?

Windows 10.0.22631.0

af64eb57-29e3-4d3c-8408-6ff92b8a7f96

YYDan commented 2 months ago

Cleaning your project cache does not fix it either?

KormexGit commented 2 months ago

Yes, doing a cache clean makes no difference. Only way to fix it is to restart and then project tool fixes it. Unless project cache is something else, in which case how do I clear that?

Edit: I didn't notice at first, but hitting the clean button actually also fails with the same error

KormexGit commented 2 months ago

I noticed this got marked as GMRT, but the exact same error appears when compiling with regular VM or YYC too, which is why I marked it as an IDE bug

stuckie commented 2 months ago

Yep, specifically the sPlayer sprite is still referenced by a GraphicTrack in a Sequence. I suspect it hasn't added it's reference to the sprite correctly, so it did not get cleaned up during the deletion operation. This is definitely an IDE bug after all.