projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Document schema changes, tidy up upgrade script
[quassel.git]
/
src
/
core
/
coreuserinputhandler.cpp
diff --git
a/src/core/coreuserinputhandler.cpp
b/src/core/coreuserinputhandler.cpp
index
72ac996
..
a978fe2
100644
(file)
--- a/
src/core/coreuserinputhandler.cpp
+++ b/
src/core/coreuserinputhandler.cpp
@@
-1,5
+1,5
@@
/***************************************************************************
/***************************************************************************
- * Copyright (C) 2005-201
5
by the Quassel Project *
+ * Copyright (C) 2005-201
6
by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
@@
-228,7
+228,7
@@
void CoreUserInputHandler::doMode(const BufferInfo &bufferInfo, const QChar& add
if (!isNumber || maxModes == 0) maxModes = 1;
QStringList nickList;
if (!isNumber || maxModes == 0) maxModes = 1;
QStringList nickList;
- if (nicks == "*") { // All users in channel
+ if (nicks == "*"
&& bufferInfo.type() == BufferInfo::ChannelBuffer
) { // All users in channel
const QList<IrcUser*> users = network()->ircChannel(bufferInfo.bufferName())->ircUsers();
foreach(IrcUser *user, users) {
if ((addOrRemove == '+' && !network()->ircChannel(bufferInfo.bufferName())->userModes(user).contains(mode))
const QList<IrcUser*> users = network()->ircChannel(bufferInfo.bufferName())->ircUsers();
foreach(IrcUser *user, users) {
if ((addOrRemove == '+' && !network()->ircChannel(bufferInfo.bufferName())->userModes(user).contains(mode))
@@
-545,7
+545,8
@@
void CoreUserInputHandler::handlePing(const BufferInfo &bufferInfo, const QStrin
if (param.isEmpty())
param = QTime::currentTime().toString("hh:mm:ss.zzz");
if (param.isEmpty())
param = QTime::currentTime().toString("hh:mm:ss.zzz");
- putCmd("PING", serverEncode(param));
+ // Take priority so this won't get stuck behind other queued messages.
+ putCmd("PING", serverEncode(param), QByteArray(), true);
}
}
@@
-580,9
+581,10
@@
void CoreUserInputHandler::handleQuit(const BufferInfo &bufferInfo, const QStrin
}
}
-void CoreUserInputHandler::issueQuit(const QString &reason)
+void CoreUserInputHandler::issueQuit(const QString &reason
, bool forceImmediate
)
{
{
- emit putCmd("QUIT", serverEncode(reason));
+ // If needing an immediate QUIT (e.g. core shutdown), prepend this to the queue
+ emit putCmd("QUIT", serverEncode(reason), QByteArray(), forceImmediate);
}
}
@@
-772,6
+774,7
@@
void CoreUserInputHandler::defaultHandler(QString cmd, const BufferInfo &bufferI
void CoreUserInputHandler::putPrivmsg(const QString &target, const QString &message, std::function<QByteArray(const QString &, const QString &)> encodeFunc, Cipher *cipher)
{
void CoreUserInputHandler::putPrivmsg(const QString &target, const QString &message, std::function<QByteArray(const QString &, const QString &)> encodeFunc, Cipher *cipher)
{
+ Q_UNUSED(cipher);
QString cmd("PRIVMSG");
QByteArray targetEnc = serverEncode(target);
QString cmd("PRIVMSG");
QByteArray targetEnc = serverEncode(target);