Ben Burton writes: > tags 237625 + help thanks mate
> Hi.. if anyone has any insight into this one, I'm all ears. It's > crashing somewhere inside KProcess::writeStdin(), but I can't see > why (and nor can I see any problems with the code that uses > KProcess/KProcIO). Hi, I've debugged this, and the problem are these two lines in plugin_speaker.cpp: process.start(KProcess::DontCare); process.writeStdin(query); The first line tells the process that the newly created process will be completely ignored by the konqueror process, and that no communication via stdin or stdout will take place ( take a look at the KProcess docs for more info ), and the second one immediately starts communication via stdin, which causes a failure in kprocess because it did not create an object necessary for the communication to take place ( the input notifier KProcess::innot, read the KProcess source for more info ). I think the solution should be to fix the code by 1 creating the KProcIO object on the heap ( using new ) 2 attach a slot to its processExited() signal, which deletes the KProcIO object 3 invoke the KProcIO start() function as follows: start( KProcess::NotifyOnExit, false ) There may be more problems in the code though ;) > Btw, the kate plugin doesn't show up since "X-Kate-Version=2.2" > needs to be added to the desktop file to work with KDE 3.2. But the > konqueror plugin shows up fine, and you can see the crash there. The kate speaker code suffers from the exact same problem, it seems. To be honest, konq-speaker source is pretty bad, if it doesn't even factor out common code in both plugins. cheers domi