fixing a bug related to wait in combination with aliases that expand to multiple...
[quassel.git] / src / core / userinputhandler.cpp
index 4b4c079..de56d85 100644 (file)
@@ -504,7 +504,14 @@ void UserInputHandler::timerEvent(QTimerEvent *event) {
     QObject::timerEvent(event);
     return;
   }
-  Command command = _delayedCommands.take(event->timerId());
+  BufferInfo bufferInfo = _delayedCommands[event->timerId()].bufferInfo;
+  QString rawCommand = _delayedCommands[event->timerId()].command;
+  _delayedCommands.remove(event->timerId());
   event->accept();
-  handleUserInput(command.bufferInfo, command.command);
+
+  // the stored command might be the result of an alias expansion, so we need to split it up again
+  QStringList commands = rawCommand.split(QRegExp("; ?"));
+  foreach(QString command, commands) {
+    handleUserInput(bufferInfo, command);
+  }
 }