On Sat, 19 Jun 1999, Alex Zepeda wrote: > On Fri, 18 Jun 1999, Simon Hausmann wrote: > > > Hm, let's see: The first time a KIOSlave is started in Konqueror, when > > opening an URL, is in KRun in libkio, for non-local urls (as it is the > > case of the pop protocol) . > > => Does a plain simple example application using KRun crash when using a > > "bad" ioslave? (I can't test it now, that's why I'm asking :) > > I didn't actually test this, but I did a little bit of experimenting, and > found that for whatever reason, konqy crashes when I don't call ::mimeType > explicitly. A little bit further exploring lead to the conclusion that a > mimetype of message/rfc822 crashes konqy. I'm not quite sure why, but I > know this mimetype is only defined in the "magic" file.... > > The mind boggles. Do I have outdated files? Hmmm, I'm not 100% sure, but from what I saw from the pop3/krun sources, the following procedure takes place when using your header command of pop3slave in Konqy: After testDir() and isFile(), KRun tries to preGet() the URL, in order to either use KMimeMagic or to look for a sigMimeType() signal. According to the pop3 source, the mimetype signal gets emitted before first data is sent (for preget -> mimemagic) . This fires up KRun::slotMimeType which itself calls KRun::foundMimeType. This function is re-implemented by Konqueror, but it will surely return to the original method since Konqy will not find a way to display it itself (can't display this mimetype) . foundMimeType() will call KRun::runURL(), which will ask the trader of any offers of this mimetype(servicetype) . KTrader will return zero offers and runURL will "return false" , thus leading to an emitted error() signal (uncatched in Konqueror....hm, this should be fixed!) . Then comes the part that gives me headaches in somehow: KRun will deletes itself.... But what happens with the signal caller (the iojob) ? Will pop3slave continue sending data() signals into the nirvana? ...or did I mix up things... ? Ciao, Simon -- Simon Hausmann http://www.kde.org/