diff options
| author | 2017-03-05 16:50:11 -0500 | |
|---|---|---|
| committer | 2017-03-05 16:50:11 -0500 | |
| commit | a347dea64576c06d1bd0aff304038608aa76d0af (patch) | |
| tree | 19ecc3932738e88eb134a6163e663c9d87b1d5d9 /src | |
| parent | add only a direct shortcut to kvirc in the windows start menu (#2207) (diff) | |
| download | KVIrc-a347dea64576c06d1bd0aff304038608aa76d0af.tar.gz KVIrc-a347dea64576c06d1bd0aff304038608aa76d0af.tar.bz2 KVIrc-a347dea64576c06d1bd0aff304038608aa76d0af.zip | |
Fix various memory leaks in usages of static KviKvsScript::run
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/sparser/KviIrcServerParser_ctcp.cpp | 5 | ||||
| -rw-r--r-- | src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp | 20 | ||||
| -rw-r--r-- | src/kvirc/ui/KviConsoleWindow.cpp | 5 | ||||
| -rw-r--r-- | src/kvirc/ui/KviSelectors.cpp | 3 | ||||
| -rw-r--r-- | src/modules/codetester/CodeTesterWindow.cpp | 6 |
5 files changed, 26 insertions, 13 deletions
diff --git a/src/kvirc/sparser/KviIrcServerParser_ctcp.cpp b/src/kvirc/sparser/KviIrcServerParser_ctcp.cpp index 2190098af..2194dd7a5 100644 --- a/src/kvirc/sparser/KviIrcServerParser_ctcp.cpp +++ b/src/kvirc/sparser/KviIrcServerParser_ctcp.cpp @@ -1537,7 +1537,10 @@ void KviIrcServerParser::parseCtcpRequestAction(KviCtcpMessage * msg) query->setTarget(szOtherNick, szOtherUser, szOtherHost); } if(!KVI_OPTION_STRING(KviOption_stringOnNewQueryOpenedSound).isEmpty()) - KviKvsScript::run("snd.play $0", nullptr, new KviKvsVariantList(new KviKvsVariant(KVI_OPTION_STRING(KviOption_stringOnNewQueryOpenedSound)))); + { + KviKvsVariantList soundParams{new KviKvsVariant{KVI_OPTION_STRING(KviOption_stringOnNewQueryOpenedSound)}}; + KviKvsScript::run("snd.play $0", nullptr, &soundParams); + } } } else diff --git a/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp b/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp index f30c0ed7d..d49c33231 100644 --- a/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp +++ b/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp @@ -699,7 +699,10 @@ void KviIrcServerParser::parseLiteralKick(KviIrcMessage * msg) szNick, szUser, szHost, szKickMsg)) msg->setHaltOutput(); if(!KVI_OPTION_STRING(KviOption_stringOnMeKickedSound).isEmpty()) - KviKvsScript::run("snd.play $0", nullptr, new KviKvsVariantList(new KviKvsVariant(KVI_OPTION_STRING(KviOption_stringOnMeKickedSound)))); + { + KviKvsVariantList soundParams{new KviKvsVariant{KVI_OPTION_STRING(KviOption_stringOnMeKickedSound)}}; + KviKvsScript::run("snd.play $0", nullptr, &soundParams); + } QString szPass = chan->hasChannelMode('k') ? chan->channelModeParam('k') : ""; @@ -1028,7 +1031,10 @@ void KviIrcServerParser::parseLiteralPrivmsg(KviIrcMessage * msg) if(query) { if(!KVI_OPTION_STRING(KviOption_stringOnNewQueryOpenedSound).isEmpty()) - KviKvsScript::run("snd.play $0", nullptr, new KviKvsVariantList(new KviKvsVariant(KVI_OPTION_STRING(KviOption_stringOnNewQueryOpenedSound)))); + { + KviKvsVariantList soundParams{new KviKvsVariant{KVI_OPTION_STRING(KviOption_stringOnNewQueryOpenedSound)}}; + KviKvsScript::run("snd.play $0", nullptr, &soundParams); + } } } } @@ -1053,9 +1059,7 @@ void KviIrcServerParser::parseLiteralPrivmsg(KviIrcMessage * msg) if(!KVI_OPTION_STRING(KviOption_stringOnQueryMessageSound).isEmpty() && !query->hasAttention()) { - // KviKvsScript does NOT take parameters ownership KviKvsVariantList soundParams(new KviKvsVariant(KVI_OPTION_STRING(KviOption_stringOnQueryMessageSound))); - //KviKvsScript::run("snd.play $0",0,&soundParams); <-- we also should provide a window for the script: it's always a good idea KviKvsScript::run("snd.play $0", query, &soundParams); } @@ -1099,8 +1103,7 @@ void KviIrcServerParser::parseLiteralPrivmsg(KviIrcMessage * msg) // we don't have a query here! if(!KVI_OPTION_STRING(KviOption_stringOnQueryMessageSound).isEmpty() && !console->hasAttention()) { - // same as above - KviKvsVariantList soundParams(new KviKvsVariant(KVI_OPTION_STRING(KviOption_stringOnQueryMessageSound))); + KviKvsVariantList soundParams{new KviKvsVariant{KVI_OPTION_STRING(KviOption_stringOnQueryMessageSound)}}; KviKvsScript::run("snd.play $0", console, &soundParams); } @@ -1475,7 +1478,10 @@ void KviIrcServerParser::parseLiteralNotice(KviIrcMessage * msg) if(query) { if(!KVI_OPTION_STRING(KviOption_stringOnNewQueryOpenedSound).isEmpty()) - KviKvsScript::run("snd.play $0", nullptr, new KviKvsVariantList(new KviKvsVariant(KVI_OPTION_STRING(KviOption_stringOnNewQueryOpenedSound)))); + { + KviKvsVariantList soundParams{new KviKvsVariant{KVI_OPTION_STRING(KviOption_stringOnNewQueryOpenedSound)}}; + KviKvsScript::run("snd.play $0", nullptr, &soundParams); + } } } } diff --git a/src/kvirc/ui/KviConsoleWindow.cpp b/src/kvirc/ui/KviConsoleWindow.cpp index 9a8d46291..4f8efcacc 100644 --- a/src/kvirc/ui/KviConsoleWindow.cpp +++ b/src/kvirc/ui/KviConsoleWindow.cpp @@ -594,7 +594,10 @@ int KviConsoleWindow::triggerOnHighlight(KviWindow * pWnd, int iType, const QStr return iType; } if(!KVI_OPTION_STRING(KviOption_stringOnHighlightedMessageSound).isEmpty() && pWnd && !pWnd->hasAttention()) - KviKvsScript::run("snd.play $0", nullptr, new KviKvsVariantList(new KviKvsVariant(KVI_OPTION_STRING(KviOption_stringOnHighlightedMessageSound)))); + { + KviKvsVariantList soundParams{new KviKvsVariant{KVI_OPTION_STRING(KviOption_stringOnHighlightedMessageSound)}}; + KviKvsScript::run("snd.play $0", nullptr, &soundParams); + } QString szMessageType = QString("%1").arg(iType); diff --git a/src/kvirc/ui/KviSelectors.cpp b/src/kvirc/ui/KviSelectors.cpp index de4f7764e..4c840e6e2 100644 --- a/src/kvirc/ui/KviSelectors.cpp +++ b/src/kvirc/ui/KviSelectors.cpp @@ -814,7 +814,8 @@ KviSoundSelector::~KviSoundSelector() void KviSoundSelector::playSound() { - KviKvsScript::run("snd.play $0", nullptr, new KviKvsVariantList(new KviKvsVariant(m_pLineEdit->text()))); + KviKvsVariantList soundParams{new KviKvsVariant{m_pLineEdit->text()}}; + KviKvsScript::run("snd.play $0", nullptr, &soundParams); } void KviSoundSelector::setEnabled(bool bEnabled) diff --git a/src/modules/codetester/CodeTesterWindow.cpp b/src/modules/codetester/CodeTesterWindow.cpp index e77ee3a8c..1e8b4a762 100644 --- a/src/modules/codetester/CodeTesterWindow.cpp +++ b/src/modules/codetester/CodeTesterWindow.cpp @@ -75,9 +75,9 @@ void CodeTesterWidget::execute() QString buffer; m_pEditor->getText(buffer); KviConsoleWindow * pConsole = g_pApp->activeConsole(); - QStringList * pSLParams = new QStringList(m_pParams->text().split(';')); - KviKvsScript::run(buffer, pConsole, new KviKvsVariantList(pSLParams)); - delete pSLParams; + QStringList slParams = m_pParams->text().split(';'); + KviKvsVariantList params{&slParams}; + KviKvsScript::run(buffer, pConsole, ¶ms); } CodeTesterWindow::CodeTesterWindow() |
