aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar IceN9ne2017-03-05 16:50:11 -0500
committerGravatar IceN9ne2017-03-05 16:50:11 -0500
commita347dea64576c06d1bd0aff304038608aa76d0af (patch)
tree19ecc3932738e88eb134a6163e663c9d87b1d5d9 /src
parentadd only a direct shortcut to kvirc in the windows start menu (#2207) (diff)
downloadKVIrc-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.cpp5
-rw-r--r--src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp20
-rw-r--r--src/kvirc/ui/KviConsoleWindow.cpp5
-rw-r--r--src/kvirc/ui/KviSelectors.cpp3
-rw-r--r--src/modules/codetester/CodeTesterWindow.cpp6
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, &params);
}
CodeTesterWindow::CodeTesterWindow()