Page 1 of 1

Plugin loading under OS4

Posted: Sat Feb 24, 2018 1:13 pm
by jPV
I got a report from one of my betatesters that my program, which requires MuiRoyale 1.7 (@REQUIRE "muiroyale", {Version=1, Revision=7}), failed to start on his OS4 setup. It always complained "This program requires muiroyale.hwp 1.7!" even though the latest muiroyale.hwp was present in the progdir (and copying to libs:hollywood didn't help either). This was only problem under OS4, but not under MorphOS. We were banging our heads to the wall for couple days until we recognized the problem.

The issue is present if you have spared, but renamed, an older muiroyale.hwp in the progdir, and if its name ends to ".hwp". In this case there was version 1.6 present and it was renamed to muiroyaleOLD.hwp. Hollywood seemed to load this older version always no matter if there was 1.7 in the progdir or in Libs:Hollywood. In fact it seems to load it no matter how it's named if it ends to ".hwp", so renaming it to "bla.hwp" caused problems, but "hwp.bla" didn't.

This seems to be an issue only on OS4, because I couldn't get it reproduced on MorphOS.

Re: Plugin loading under OS4

Posted: Sat Feb 24, 2018 2:42 pm
by airsoftsoftwair
Have you compiled your app with Hollywood 7.0 or 7.1? This is important because Hollywood 7.1 introduces a fix in the plugin loader for the latest OS4 beta versions which use a different seglist handler that is incompatible with Hollywood < 7.1.

Re: Plugin loading under OS4

Posted: Sat Feb 24, 2018 3:36 pm
by jPV
Hollywood 7.1, and OS4 version is just standard OS4.1FE, I reproduced it with WinUAE setup which is just a standard non-updated installation from the retail CD.

Re: Plugin loading under OS4

Posted: Sat Feb 24, 2018 9:11 pm
by airsoftsoftwair
Can you upload a test case for me to try?

Re: Plugin loading under OS4

Posted: Sat Feb 24, 2018 10:43 pm
by jPV

Re: Plugin loading under OS4

Posted: Sun Feb 25, 2018 9:44 am
by jPV

Re: Plugin loading under OS4

Posted: Mon Feb 26, 2018 7:51 pm
by airsoftsoftwair
Ok, got it. This is a MUI Royale bug. If muiroyaleOLD.hwp is loaded before muiroyale.hwp then there is already a "MUI Royale" event handler which makes muiroyale.hwp fail. Note that even though Hollywood will load muiroyaleOLD.hwp it will immediately be rejected because its filename doesn't match its internal module name. The problem is that MUI Royale doesn't remove the event handler it has installed when it is freed so this is still there and makes all subsequent attempts to install a "MUI Royale" event handler fail.