YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
26 stars 8 forks source link

Stability: [Ubuntu IDE] GM unstable when changing font size in 2024.1100 due to "FreeType error: Cannot render this glyph format." #8269

Open gm-bug-reporter[bot] opened 3 weeks ago

gm-bug-reporter[bot] commented 3 weeks ago

Description

Literally just changed the font size. This happens EVERY time I try to use this on Ubuntu.

Which version of GameMaker are you reporting this issue for?

IDE v2024.1100.0.665 Runtime v2024.1100.0.691

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

Linux KDE neon 6.2 kernel 6.8.0.47

3af2c3a7-c1f5-42d4-9e1e-5bc65f868094

YYDan commented 3 weeks ago

Can see the ui.log does indeed say there was a problem with using the chosen font:

[14:00:55:221(bb5e)] Exception in YoYoStudio.GUI.Gadgets.Button,Void ReleaseButton(Single, Single, YoYoStudio.Core.Utils.eMouseButtons) :    SharpFont.FreeTypeException: FreeType error: Cannot render this glyph format.
   at YoYoStudio.Graphics.FontTTF.UpdateGlyphs(UInt32[] _requestedChars, Boolean _allowReplacements)
   at YoYoStudio.Graphics.FontTTF.RequestCharacters(UInt32[] _requestedChars, Boolean _allowReplacements)
   at YoYoStudio.Graphics.FontTTF.GetGlyph(UInt32 _chr, Boolean _updateTextureSlotCache, Boolean _allowReplacements)
   at YoYoStudio.Utils.TextureHelper.GenerateFontTexture(GMFont _font)
   at YoYoStudio.Resources.GMFontAdapter.OnProjectSaving()
   at YoYoStudio.Resources.GMProject.Save(SaveParameters saveParameters)
   at YoYoStudio.Resources.ProjectManager.InternalSaveProject(GMProject _project, SaveCallback _callback, Boolean _isFullSave, String saveFrom)
   at YoYoStudio.Resources.ProjectManager.SaveProject(GMProject _project, SaveCallback _callback)
   at YoYoStudio.IDE.SaveProjectIncremental(Action`2 _onCompletion)
   at YoYoStudio.Plugins.ResourceEditorManager.ActivateModule(Type _type, Object[] _parameters)
   at YoYoStudio.Plugins.Command.execute_object(String _command, Object _focus, Object[] paramaters)
   at YoYoStudio.Plugins.Command.execute_object(String _command, Object _focus, Object[] paramaters)
   at YoYoStudio.GUI.Gadgets.Button.ButtonClicked(Boolean _bRightClicked)
   at YoYoStudio.GUI.Gadgets.Button.ReleaseButton(Single _mousex, Single _mousey, eMouseButtons _buttons)
   at WeakDelegate(Object, Object[])
   at YoYoStudio.Core.Utils.WeakDelegate`1.Invoke(Object[] _args)

However, that font seems to be a pretty standard one:

[13:48:38:695(bb5e)] MQTT - Received msg: GameMaker/event/start_ide/ide_language = English / English
[13:48:38:695(bb5e)] MQTT - Received msg: GameMaker/event/start_ide/ide_font = Open Sans
YYDan commented 3 weeks ago

Given that the callstack talks about clicking buttons and saving the project before regenerating the font, I assume this is when clicking the spinner arrows in the Font Editor.