KawaiiBASIC / classilla

Automatically exported from code.google.com/p/classilla
0 stars 0 forks source link

Cached pluginreg.dat hangs startup with some plugins [SIDPlay] #113

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Reported by Alex. Here is the message:

>> I installed the SIDPlug to be able to listen to SID-tunes that are embedded
>> in a lot of C64-related websites. The plug-in works perfectly, but there is
>> a little problem:
>> everytime I try to launch Classilla, it stalls during the "Creating first
>> window" message. I solved this problem by deleting the file pluginreg.dat
>> in the Mozilla folder (in the Docs folder).
>> When I deleted this file, Classilla starts up and works. All this happens
>> no matter if the SID plug was really used or not.
> 
> When pluginreg.dat is deleted, Classilla will rebuild it from scratch, so
> it seems like it can enumerate the plugins right. If you remove SIDPlug, do
> you get this problem anymore?

No, the problem does only occur with SIDplug installed.

> Does this occur with any other plugins? Also,

No. In my plug-in folder are the following files: 

Default Plug-in
Default Plug-in Data
NP-PPC-Dir-Shockwave
nslQTScriptablePlugin.xpt
PDFViewer
QuickTime Plugin
QuickTimePlugin.class
Shockwave Flash NP-PPC
ShockwavePlugin.class
SIDPlug

SIDPlug was the last one I installed. Until then, everything worked fine.
When I remove the SIDPlug, Classilla starts normally.

> can you give me a direct URL to the SIDPlug you are using so I can do my
> own testing?

You can find the plug-in at http://www.rumborak.de/c64/sidplug-10b2.sit.hqx

This sounds like a bug in SIDPlay, but I think we should account for it.
Simply forcing plugins to be re-enumerated and ignoring pluginreg.dat
should fix this in the short term, even if it slows startup, but we'll do a
little investigation first.

Original issue reported on code.google.com by classi...@floodgap.com on 7 Apr 2010 at 1:07

GoogleCodeExporter commented 9 years ago
Kludge added: 

nsresult
nsPluginHostImpl::ReadPluginInfo()
{

// This is a workaround for Classilla issue 113: we pretend like pluginreg.dat 
doesn't
// even exist. Nasty, but works. Mostly for SIDPlay and certain other badly 
behaved
// Classic plugins. Cameron
#if(1)
  return NS_OK;
#else
/* rest of function */
#endif
}

Ugly, huh? But startup does not seem badly impacted. I'm not sure if this has 
fixed
the problem but it seems to be a very safe change to try.

Original comment by classi...@floodgap.com on 31 May 2010 at 2:08