Page 1 of 1

Locale OpenCatalog() problem

Posted: Wed Apr 12, 2017 10:09 pm
by lazi
OS4.1 latest, HW 7.0
This little script will hang the system. No Grim Reaper, sometimes even keyboard reset do nothing.

There is no catalog file, so it should give back default string.

Code: Select all

OpenCatalog("Slarti.catalog",2)
l={}
l["_New"] = GetCatalogString(1,"_New")

CloseCatalog()
Wanted to try with older Hollywood, but I can't run 6.1 because of keyfile error. Can I use somehow older version? Change assign or whatever?

Re: Locale OpenCatalog() problem

Posted: Thu Apr 13, 2017 11:50 am
by airsoftsoftwair
Thanks for the report!

Unfortunately, the keyfile format had to be changed for Hollywood 7.0 because of Unicode support. However, since Hollywood.key and Hollywood.sys are loaded from PROGDIR: you could just copy those three files (Hollywood, Hollywood.key, Hollywood.sys) to another location and start it from there. No need to change any assigns because the Hollywood: assign is only used by the GUI which you don't need in this case.

Re: Locale OpenCatalog() problem

Posted: Thu Apr 13, 2017 10:57 pm
by lazi
Thanks!
I am able to try on 6.0 and it behaves just like the 7.0.

I hope it is a bug and that makes me an excuse to not implement localized text into Slarti, yet! :-)

Re: Locale OpenCatalog() problem

Posted: Sat Apr 15, 2017 2:18 pm
by airsoftsoftwair
This bug has probably been there since Hollywood 1.0 so thanks for finally finding it :)

Code: Select all

- Fix: CloseCatalog() didn't reset internal states which led to Hollywood trying to close the
  catalog again at program exit, typically resulting in a memory access fault
As a workaround, just don't call CloseCatalog() please :)