rendered paste body[1;32mIndex: backends/maxima/maximasession.cpp[0;0m
[1;32m===================================================================[0;0m
[1;31m--- backends/maxima/maximasession.cpp (Revision 1073142)[0;0m
[1;34m+++ backends/maxima/maximasession.cpp (Arbeitskopie)[0;0m
[1;35m@@ -150,18 +150,31 @@[0;0m
[0;0m {[0;0m
[0;0m m_expressionQueue.clear();[0;0m
[0;0m }[0;0m
[1;34m+[0;0m
[1;34m+ kDebug()<<"closing socket";[0;0m
[1;34m+ m_maxima->close();[0;0m
[0;0m //Give maxima time to clean up[0;0m
[1;34m+ kDebug()<<"waiting for maxima to finish";[0;0m
[0;0m if(!m_process->waitForFinished(3000))[0;0m
[0;0m {[0;0m
[1;34m+ kDebug()<<"killed";[0;0m
[0;0m m_process->kill();[0;0m
[1;34m+ }else[0;0m
[1;34m+ {[0;0m
[1;34m+ kDebug()<<"finished correctly";[0;0m
[0;0m }[0;0m
[0;0m [0;0m
[1;31m- m_process->deleteLater();[0;0m
[1;34m+ delete m_process;[0;0m
[1;34m+ delete m_helperMaxima;[0;0m
[1;34m+[0;0m
[1;34m+ kDebug()<<"destroyed maxima";[0;0m
[1;34m+[0;0m
[0;0m m_expressionQueue.clear();[0;0m
[0;0m }[0;0m
[0;0m [0;0m
[0;0m void MaximaSession::newConnection()[0;0m
[0;0m {[0;0m
[1;34m+ kDebug()<<"new connection";[0;0m
[0;0m QTcpSocket* const socket=m_server->nextPendingConnection();[0;0m
[0;0m if(m_maxima==0)[0;0m
[0;0m {[0;0m
[1;35m@@ -514,6 +527,7 @@[0;0m
[0;0m [0;0m
[0;0m void MaximaSession::startHelperProcess()[0;0m
[0;0m {[0;0m
[1;34m+ kDebug()<<"starting helper";[0;0m
[0;0m m_helperMaxima=0;[0;0m
[0;0m m_isHelperReady=false;[0;0m
[0;0m if(!m_server)[0;0m