aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2011-02-21 22:57:05 +0000
committerGravatar Szymon Tomasz Stefanek2011-02-21 22:57:05 +0000
commit6dba5effd373a6342d5303326d1d08b72e88d5a7 (patch)
tree4602aee6a520be0c7fe0c88b882b689f85428eb8 /src/modules
parentFix a memory leak in () (diff)
downloadKVIrc-6dba5effd373a6342d5303326d1d08b72e88d5a7.tar.gz
KVIrc-6dba5effd373a6342d5303326d1d08b72e88d5a7.tar.bz2
KVIrc-6dba5effd373a6342d5303326d1d08b72e88d5a7.zip
Fix more memory leaks around
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5496 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/objects/KvsObject_file.cpp4
-rw-r--r--src/modules/objects/KvsObject_widget.cpp262
2 files changed, 130 insertions, 136 deletions
diff --git a/src/modules/objects/KvsObject_file.cpp b/src/modules/objects/KvsObject_file.cpp
index 909b1c552..947ebda4b 100644
--- a/src/modules/objects/KvsObject_file.cpp
+++ b/src/modules/objects/KvsObject_file.cpp
@@ -386,7 +386,8 @@ KVSO_CLASS_FUNCTION(file,readBlock)
KVSO_PARAMETER("length",KVS_PT_UNSIGNEDINTEGER,0,uLen)
KVSO_PARAMETER("hobject",KVS_PT_HOBJECT,KVS_PF_OPTIONAL,hObject)
KVSO_PARAMETERS_END(c)
- if (uLen>(kvs_uint_t)m_pFile->size()) uLen=m_pFile->size();
+ if (uLen>(kvs_uint_t)m_pFile->size())
+ uLen=m_pFile->size();
if (hObject)
{
pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject);
@@ -411,6 +412,7 @@ KVSO_CLASS_FUNCTION(file,readBlock)
int rlen = m_pFile->read(buff, uLen);
buff[rlen] = '\0';
QString szBlock(buff);
+ delete buff;
c->returnValue()->setString(szBlock);
}
return true;
diff --git a/src/modules/objects/KvsObject_widget.cpp b/src/modules/objects/KvsObject_widget.cpp
index 83eeef790..592f2cc1f 100644
--- a/src/modules/objects/KvsObject_widget.cpp
+++ b/src/modules/objects/KvsObject_widget.cpp
@@ -737,7 +737,7 @@ bool KvsObject_widget::eventFilter(QObject *o,QEvent *e)
bool ret=false;
int aparam;
bool brokenhandler=false;
- KviKvsVariant *retv=new KviKvsVariant(ret);
+ KviKvsVariant oReturnBuffer(ret);
switch(e->type())
{
@@ -745,13 +745,13 @@ bool KvsObject_widget::eventFilter(QObject *o,QEvent *e)
{
QPoint iPoint=widget()->mapFromGlobal(((QContextMenuEvent *)e)->globalPos());
KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iPoint.x()),new KviKvsVariant((kvs_int_t)iPoint.y()));
- callFunction(this,"customContextMenuRequestedEvent",retv,&params);
+ callFunction(this,"customContextMenuRequestedEvent",&oReturnBuffer,&params);
break;
}
case QEvent::Shortcut:
{
KviKvsVariantList params(new KviKvsVariant((kvs_int_t)((QShortcutEvent *)e)->shortcutId()));
- callFunction(this,"shortCutEvent",retv,&params);
+ callFunction(this,"shortCutEvent",&oReturnBuffer,&params);
break;
}
case QEvent::ToolTip:
@@ -768,127 +768,124 @@ bool KvsObject_widget::eventFilter(QObject *o,QEvent *e)
}
case QEvent::Paint:
{
-
- QRect rect=((QPaintEvent *)e)->rect();
- KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("painter");
- KviKvsVariantList params;
- KviKvsObject * pObject = pClass->allocateInstance(0,"internalpainter",m_pContext,&params);
- QPainter p(widget());
- ((KvsObject_painter *)pObject)->setInternalPainter(&p);
- p.setClipRect(rect);
- kvs_hobject_t hobj=pObject->handle();
- KviKvsVariantList params2(new KviKvsVariant(hobj),new KviKvsVariant((kvs_int_t)rect.x()),new KviKvsVariant((kvs_int_t)rect.y()),new KviKvsVariant((kvs_int_t)rect.width()),new KviKvsVariant((kvs_int_t)rect.height()));
- callFunction(this,"paintEvent",retv,&params2);
- pObject=KviKvsKernel::instance()->objectController()->lookupObject(hobj);
- if (pObject) pObject->dieNow();
+ QRect rect=((QPaintEvent *)e)->rect();
+ KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("painter");
+ KviKvsVariantList params;
+ KviKvsObject * pObject = pClass->allocateInstance(0,"internalpainter",m_pContext,&params);
+ QPainter p(widget());
+ ((KvsObject_painter *)pObject)->setInternalPainter(&p);
+ p.setClipRect(rect);
+ kvs_hobject_t hobj=pObject->handle();
+ KviKvsVariantList params2(new KviKvsVariant(hobj),new KviKvsVariant((kvs_int_t)rect.x()),new KviKvsVariant((kvs_int_t)rect.y()),new KviKvsVariant((kvs_int_t)rect.width()),new KviKvsVariant((kvs_int_t)rect.height()));
+ callFunction(this,"paintEvent",&oReturnBuffer,&params2);
+ pObject=KviKvsKernel::instance()->objectController()->lookupObject(hobj);
+ if (pObject) pObject->dieNow();
break;
}
case QEvent::KeyPress:
{
-
-
QString tmp="";
- switch(((QKeyEvent *)e)->key())
- {
- case Qt::Key_Return:
- tmp="Return";
- break;
- case Qt::Key_Down:
- tmp="Down";
- break;
- case Qt::Key_Up:
- tmp="Up";
- break;
- case Qt::Key_Left:
- tmp="Left";
- break;
- case Qt::Key_Right:
- tmp="Right";
- break;
- case Qt::Key_Shift:
- tmp="Shift";
- break;
- case Qt::Key_Control:
- tmp="Ctrl";
- break;
- case Qt::Key_Alt:
- tmp="Alt";
- break;
- case Qt::Key_CapsLock:
- tmp="CapsLock";
- break;
- case Qt::Key_Backspace:
- tmp="Backspace";
- break;
- case Qt::Key_Delete:
- tmp="Del";
- break;
- case Qt::Key_Enter:
- tmp="Enter";
- break;
- case Qt::Key_Escape:
- tmp="Esc";
- break;
- case Qt::Key_0:
- tmp="0";
- case Qt::Key_1:
- tmp="1";
- break;
- case Qt::Key_2:
- tmp="2";
- break;
- case Qt::Key_3:
- tmp="3";
- break;
- case Qt::Key_4:
- tmp="4";
- break;
- case Qt::Key_5:
- tmp="5";
- break;
- case Qt::Key_6:
- tmp="6";
- break;
- case Qt::Key_7:
- tmp="7";
- break;
- case Qt::Key_8:
- tmp="8";
- break;
- case Qt::Key_9:
- tmp="9";
- break;
- case Qt::Key_Plus:
- tmp="+";
- break;
- case Qt::Key_Minus:
- tmp="-";
- break;
- case Qt::Key_Slash:
- tmp="/";
- break;
- case Qt::Key_Asterisk:
- tmp="*";
- break;
- case Qt::Key_Period:
- tmp=".";
- break;
- case Qt::Key_ParenLeft:
- tmp="(";
- break;
- case Qt::Key_ParenRight:
- tmp=")";
- break;
- case Qt::Key_Equal:
- tmp="=";
- break;
- case Qt::Key_AsciiCircum:
- tmp="^";
- break;
- default:
- if (!((QKeyEvent *)e)->text().isEmpty()) tmp = ((QKeyEvent *)e)->text();
- }
+ switch(((QKeyEvent *)e)->key())
+ {
+ case Qt::Key_Return:
+ tmp="Return";
+ break;
+ case Qt::Key_Down:
+ tmp="Down";
+ break;
+ case Qt::Key_Up:
+ tmp="Up";
+ break;
+ case Qt::Key_Left:
+ tmp="Left";
+ break;
+ case Qt::Key_Right:
+ tmp="Right";
+ break;
+ case Qt::Key_Shift:
+ tmp="Shift";
+ break;
+ case Qt::Key_Control:
+ tmp="Ctrl";
+ break;
+ case Qt::Key_Alt:
+ tmp="Alt";
+ break;
+ case Qt::Key_CapsLock:
+ tmp="CapsLock";
+ break;
+ case Qt::Key_Backspace:
+ tmp="Backspace";
+ break;
+ case Qt::Key_Delete:
+ tmp="Del";
+ break;
+ case Qt::Key_Enter:
+ tmp="Enter";
+ break;
+ case Qt::Key_Escape:
+ tmp="Esc";
+ break;
+ case Qt::Key_0:
+ tmp="0";
+ case Qt::Key_1:
+ tmp="1";
+ break;
+ case Qt::Key_2:
+ tmp="2";
+ break;
+ case Qt::Key_3:
+ tmp="3";
+ break;
+ case Qt::Key_4:
+ tmp="4";
+ break;
+ case Qt::Key_5:
+ tmp="5";
+ break;
+ case Qt::Key_6:
+ tmp="6";
+ break;
+ case Qt::Key_7:
+ tmp="7";
+ break;
+ case Qt::Key_8:
+ tmp="8";
+ break;
+ case Qt::Key_9:
+ tmp="9";
+ break;
+ case Qt::Key_Plus:
+ tmp="+";
+ break;
+ case Qt::Key_Minus:
+ tmp="-";
+ break;
+ case Qt::Key_Slash:
+ tmp="/";
+ break;
+ case Qt::Key_Asterisk:
+ tmp="*";
+ break;
+ case Qt::Key_Period:
+ tmp=".";
+ break;
+ case Qt::Key_ParenLeft:
+ tmp="(";
+ break;
+ case Qt::Key_ParenRight:
+ tmp=")";
+ break;
+ case Qt::Key_Equal:
+ tmp="=";
+ break;
+ case Qt::Key_AsciiCircum:
+ tmp="^";
+ break;
+ default:
+ if (!((QKeyEvent *)e)->text().isEmpty()) tmp = ((QKeyEvent *)e)->text();
+ }
KviKvsVariantList params(new KviKvsVariant(tmp));
callFunction(this,"keyPressEvent",0,&params);
@@ -957,46 +954,41 @@ bool KvsObject_widget::eventFilter(QObject *o,QEvent *e)
}
break;
case QEvent::FocusIn:
- if(!callFunction(this,"focusInEvent",retv,0))brokenhandler = true;
+ if(!callFunction(this,"focusInEvent",&oReturnBuffer,0))brokenhandler = true;
break;
case QEvent::FocusOut:
- if(!callFunction(this,"focusOutEvent",retv,0))brokenhandler = true;
+ if(!callFunction(this,"focusOutEvent",&oReturnBuffer,0))brokenhandler = true;
break;
case QEvent::Resize:
- if(!callFunction(this,"resizeEvent",retv,0))brokenhandler = true;
+ if(!callFunction(this,"resizeEvent",&oReturnBuffer,0))brokenhandler = true;
break;
case QEvent::Move:
- if(!callFunction(this,"moveEvent",retv,0))brokenhandler = true;
+ if(!callFunction(this,"moveEvent",&oReturnBuffer,0))brokenhandler = true;
break;
case QEvent::Close:
- if(!callFunction(this,"closeEvent",retv,0))brokenhandler = true;
+ if(!callFunction(this,"closeEvent",&oReturnBuffer,0))brokenhandler = true;
break;
case QEvent::Enter:
- if(!callFunction(this,"mouseEnterEvent",retv,0))brokenhandler = true;
+ if(!callFunction(this,"mouseEnterEvent",&oReturnBuffer,0))brokenhandler = true;
break;
case QEvent::Leave:
- if(!callFunction(this,"mouseLeaveEvent",retv,0))brokenhandler = true;
+ if(!callFunction(this,"mouseLeaveEvent",&oReturnBuffer,0))brokenhandler = true;
break;
case QEvent::Show:
- if(!callFunction(this,"showEvent",retv,0))brokenhandler = true;
+ if(!callFunction(this,"showEvent",&oReturnBuffer,0))brokenhandler = true;
break;
case QEvent::Hide:
- if(!callFunction(this,"hideEvent",retv,0))ret =false;
+ if(!callFunction(this,"hideEvent",&oReturnBuffer,0))ret =false;
break;
default:
return KviKvsObject::eventFilter(o,e);
break;
}
- if (!brokenhandler) ret=retv->asBoolean();
- delete retv;
+ if (!brokenhandler)
+ ret = oReturnBuffer.asBoolean();
+
return ret;
- /*
- if(ret.length() == 1)
- {
- if(KviQString::equalCI("1",ret))return true;
- }
- */
}
return KviKvsObject::eventFilter(o,e);