Glyphs freezes with a beachball cursor when I type in script UI.
Testcase:
Create a new font with 2 components as _part.a _part.b (I just placed some boxes in them)
Place component _part.a in the glyph A and select the glyph.
Start Mekkablues script “Replace Components”
Select component to replace
Type the name of component _part.b (I noticed this problem often, when I typed beyond the size of the text field)
→ Glyphs freezes with a beachball cursor
I run the latest Beta Version 2.6.1 (1225) and already updated the python modules and removed all scripts but “Replace Components”. In some of my own scripts I had this behaviour, too.
Strangely I can reproduce this problem with builds 1192 and 1223, too.
Here inside the callback self.SavePrefs is called on each keypress.
Line 96: Glyphs.defaults["com.mekkablue.ReplaceComponents.newCompName"] = self.w.componentNewName.get()
Here in the callback gets the componentNewName and saves it in the preferences.
When I comment out this line, the freeze is gone!
Maybe there is a problem getting the name in the callback while it is modified via vanilla.EditText?
Feels like some kind of race condition that’s only affected while fast typing in the text field.
It is very strange. The error appeared after I finished my last script with the LSB root anchors. I noticed several scripts causing this freeze. Even older versions of Glyphs now had this problem despite working flawlessly all the time before I updated Glyphs to 1225. Maybe it has something to do with the python installation on my machine? I completely removed and reinstalled Glyphs. But the the freeze is still there.
The python API in one version can’t changed the behaviour on another. It is not installing anything. I suspect something else, like an updated plugin. Can you try to start without plugins by holding down Opt+Shift?
I have another idea. When you start the first script after program launch you have to wait for a few seconds with the beach ball cursor active. I assume at this point the Python Wrapper is loaded.
Does it stay loaded when you quit Glyphs and start an older version of Glyphs? Maybe this could explain that this problem happens for older versions, too.
One additional thing I noticed: Glyphs freezes after being idle for a longer duration. I try to reproduce it with and without the loaded wrapper to see if there is something correlated.