From 85d0ce2142b5860ce5375d2b6228e70c04d3a32c Mon Sep 17 00:00:00 2001 From: Noldor Date: Thu, 29 Jul 2010 14:49:26 +0000 Subject: More fixes in kvs classes memory leaks git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4709 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/objects/class_ftp.cpp | 22 +++++++++++------ src/modules/objects/class_http.cpp | 47 ++++++++++++++++++++++++------------ src/modules/objects/class_widget.cpp | 42 +++++++++++++++++++++++--------- 3 files changed, 77 insertions(+), 34 deletions(-) (limited to 'src/modules/objects') diff --git a/src/modules/objects/class_ftp.cpp b/src/modules/objects/class_ftp.cpp index ff5127141..bba0fd5c0 100644 --- a/src/modules/objects/class_ftp.cpp +++ b/src/modules/objects/class_ftp.cpp @@ -252,8 +252,11 @@ void KviKvsObject_ftp::slotCommandFinished ( int id, bool error ) else if (m_pFtp->currentCommand()==QFtp:: Login) status="logged"; else if (m_pFtp->currentCommand()==QFtp:: Cd) status="entered"; else if (m_pFtp->currentCommand()==QFtp:: List) status="listCompleted"; - callFunction(this,"commandFinishedEvent",0,new KviKvsVariantList(new KviKvsVariant((kvs_int_t) id), - new KviKvsVariant(status),new KviKvsVariant(error))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t) id)); + lParams.append(new KviKvsVariant(status)); + lParams.append(new KviKvsVariant(error)); + callFunction(this,"commandFinishedEvent",0,&lParams); } void KviKvsObject_ftp::slotCommandStarted ( int ) @@ -262,8 +265,10 @@ void KviKvsObject_ftp::slotCommandStarted ( int ) void KviKvsObject_ftp::slotDataTransferProgress ( qint64 done, qint64 total ) { - callFunction(this,"dataTransferProgressEvent",0,new KviKvsVariantList( - new KviKvsVariant((kvs_int_t) done),new KviKvsVariant((kvs_int_t) total))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t) done)); + lParams.append(new KviKvsVariant((kvs_int_t) total)); + callFunction(this,"dataTransferProgressEvent",0,&lParams); } KVSO_CLASS_FUNCTION(ftp,dataTransferProgressEvent) @@ -278,7 +283,9 @@ void KviKvsObject_ftp::slotDone ( bool ) void KviKvsObject_ftp::slotListInfo ( const QUrlInfo & i ) { - callFunction(this,"listInfoEvent",0,new KviKvsVariantList(new KviKvsVariant(i.name()))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant(i.name())); + callFunction(this,"listInfoEvent",0,&lParams); } KVSO_CLASS_FUNCTION(ftp,listInfoEvent) @@ -304,8 +311,9 @@ void KviKvsObject_ftp::slotStateChanged (int state) else if (state==QFtp::Connected) szState="Connected"; else if (state==QFtp::LoggedIn) szState="LoggedIn"; else if (state==QFtp::Closing) szState="Closing"; - callFunction(this,"stateChangedEvent",0,new KviKvsVariantList( - new KviKvsVariant(szState))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant(szState)); + callFunction(this,"stateChangedEvent",0,&lParams); } KVSO_CLASS_FUNCTION(ftp,stateChangedEvent) diff --git a/src/modules/objects/class_http.cpp b/src/modules/objects/class_http.cpp index 9f26cb9af..87ca514d4 100644 --- a/src/modules/objects/class_http.cpp +++ b/src/modules/objects/class_http.cpp @@ -393,7 +393,10 @@ void KviKvsObject_http::slotRequestFinished ( int id, bool error ) redirect(name,m_pHttp->lastResponse()); delete pFile; } - callFunction(this,"requestFinishedEvent",0,new KviKvsVariantList(new KviKvsVariant((kvs_int_t) id),new KviKvsVariant(error))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t) id)); + lParams.append(new KviKvsVariant(error)); + callFunction(this,"requestFinishedEvent",0,&lParams); } bool KviKvsObject_http::functionRequestStartedEvent(KviKvsObjectFunctionCall *c) @@ -403,13 +406,17 @@ bool KviKvsObject_http::functionRequestStartedEvent(KviKvsObjectFunctionCall *c) } void KviKvsObject_http::slotRequestStarted ( int id ) { - callFunction(this,"requestStartedEvent",0,new KviKvsVariantList(new KviKvsVariant((kvs_int_t) id))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t) id)); + callFunction(this,"requestStartedEvent",0,&lParams); } void KviKvsObject_http::slotDataReadProgress ( int done,int total ) { - callFunction(this,"dataReadProgressEvent",0,new KviKvsVariantList( - new KviKvsVariant((kvs_int_t)done),new KviKvsVariant((kvs_int_t)total))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t) done)); + lParams.append(new KviKvsVariant((kvs_int_t) total)); + callFunction(this,"dataReadProgressEvent",0,&lParams); } bool KviKvsObject_http::functionDataReadProgressEvent(KviKvsObjectFunctionCall *c) { @@ -418,8 +425,10 @@ bool KviKvsObject_http::functionDataReadProgressEvent(KviKvsObjectFunctionCall * } void KviKvsObject_http::slotDataSendProgress ( int done,int total ) { - callFunction(this,"dataSendProgressEvent",0,new KviKvsVariantList( - new KviKvsVariant((kvs_int_t)done),new KviKvsVariant((kvs_int_t)total))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t) done)); + lParams.append(new KviKvsVariant((kvs_int_t) total)); + callFunction(this,"dataProgressEvent",0,&lParams); } bool KviKvsObject_http::functionDataSendProgressEvent(KviKvsObjectFunctionCall *c) { @@ -433,8 +442,9 @@ bool KviKvsObject_http::functionDoneEvent(KviKvsObjectFunctionCall *c) } void KviKvsObject_http::slotDone ( bool error ) { - callFunction(this,"doneEvent",0,new KviKvsVariantList(new KviKvsVariant(error))); - + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant(error)); + callFunction(this,"doneEvent",0,&lParams); } bool KviKvsObject_http::functionResponseHeaderReceivedEvent(KviKvsObjectFunctionCall *c) @@ -475,8 +485,9 @@ void KviKvsObject_http::slotResponseHeaderReceived(const QHttpResponseHeader &r) m_bAbort=true; m_pHttp->abort(); } - callFunction(this,"responseHeaderReceivedEvent",0,new KviKvsVariantList( - new KviKvsVariant(szResponse))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant(szResponse)); + callFunction(this,"responseHeaderReceivedEvent",0,&lParams); } void KviKvsObject_http::slotReadyRead(const QHttpResponseHeader &r) @@ -491,8 +502,9 @@ void KviKvsObject_http::slotReadyRead(const QHttpResponseHeader &r) default: szResponse=r.reasonPhrase(); m_bAbort=true; } - callFunction(this,"readyReadEvent",0,new KviKvsVariantList( - new KviKvsVariant(szResponse))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant(szResponse)); + callFunction(this,"readyreadEvent",0,&lParams); } @@ -509,8 +521,9 @@ void KviKvsObject_http::slotStateChanged ( int state) else if (state==QHttp::Reading) szState="Reading"; else if (state==QHttp::Closing) szState="Closing"; - callFunction(this,"stateChangedEvent",0,new KviKvsVariantList( - new KviKvsVariant(szState))); + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant(szState)); + callFunction(this,"stateChangedEvent",0,&lParams); } bool KviKvsObject_http::functionStateChangedEvent(KviKvsObjectFunctionCall *c) { @@ -533,8 +546,10 @@ void KviKvsObject_http::slotSslErrors(QList sslerrors) { pArray->set(i,new KviKvsVariant(ssl_errors_tbl[sslerrors.at(i).error()])); } - callFunction(this,"sslErrorsEvent",0,new KviKvsVariantList(new KviKvsVariant(pArray))); -} + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant(pArray)); + callFunction(this,"sslErrorEvent",0,&lParams); + } bool KviKvsObject_http::functionSslErrorsEvent(KviKvsObjectFunctionCall *c) { diff --git a/src/modules/objects/class_widget.cpp b/src/modules/objects/class_widget.cpp index 48ea3edd4..11f55dd36 100644 --- a/src/modules/objects/class_widget.cpp +++ b/src/modules/objects/class_widget.cpp @@ -895,34 +895,50 @@ bool KviKvsObject_widget::eventFilter(QObject *o,QEvent *e) } break; case QEvent::MouseButtonPress: - if(((QMouseEvent *)e)->button() & Qt::LeftButton)aparam = 0; + { + if(((QMouseEvent *)e)->button() & Qt::LeftButton)aparam = 0; else { if(((QMouseEvent *)e)->button() & Qt::RightButton)aparam = 1; else aparam = 2; } - if(!callFunction(this,"mousePressEvent",retv,new KviKvsVariantList(new KviKvsVariant((kvs_int_t)aparam),new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x()),new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y()) - ))) brokenhandler = true; // ignore results of a broken event handler - break; + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t)aparam)); + lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x())); + lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y())); + if (!callFunction(this,"mousePressEvent",0,&lParams)) brokenhandler = true; // ignore results of a broken event handler + } + break; case QEvent::MouseButtonRelease: + { if(((QMouseEvent *)e)->button() & Qt::LeftButton)aparam = 0; else { if(((QMouseEvent *)e)->button() & Qt::RightButton)aparam = 1; else aparam = 2; } - if(!callFunction(this,"mouseReleaseEvent",retv,new KviKvsVariantList(new KviKvsVariant((kvs_int_t)aparam),new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x()),new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y()) - ))) brokenhandler = true; // ignore results of a broken event handler + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t)aparam)); + lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x())); + lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y())); + if (!callFunction(this,"mouseReleaseEvent",0,&lParams)) brokenhandler = true; // ignore results of a broken event handler + } break; case QEvent::MouseButtonDblClick: + { if(( (QMouseEvent *)e)->button() & Qt::LeftButton)aparam = 0; else { if(((QMouseEvent *)e)->button() & Qt::RightButton)aparam = 1; else aparam = 2; } - if(!callFunction(this,"mouseDoubleClickEvent",retv,new KviKvsVariantList(new KviKvsVariant((kvs_int_t)aparam),new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x()),new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y()) - ))) brokenhandler = true; // ignore results of a broken event handler + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t)aparam)); + lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x())); + lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y())); + if (!callFunction(this,"mouseDoubleClickEvent",0,&lParams)) brokenhandler = true; // ignore results of a broken event handler + } break; - case QEvent::MouseMove: + case QEvent::MouseMove: + { if( (((QMouseEvent *)e)->button()) & Qt::LeftButton) aparam = 0; else { @@ -933,8 +949,12 @@ bool KviKvsObject_widget::eventFilter(QObject *o,QEvent *e) else aparam = -1; } } - if(!callFunction(this,"mouseMoveEvent",retv,new KviKvsVariantList(new KviKvsVariant((kvs_int_t)aparam),new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x()),new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y()) - ))) brokenhandler = true; // ignore results of a broken event handler + KviKvsVariantList lParams; + lParams.append(new KviKvsVariant((kvs_int_t)aparam)); + lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x())); + lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y())); + if (!callFunction(this,"mouseMoveEvent",0,&lParams)) brokenhandler = true; // ignore results of a broken event handler + } break; case QEvent::FocusIn: if(!callFunction(this,"focusInEvent",retv,0))brokenhandler = true; -- cgit v1.3.1-10-gc9f91