fixing a bug related to wait in combination with aliases that expand to multiple...
authorMarcus Eggenberger <egs@quassel-irc.org>
Wed, 31 Dec 2008 00:12:48 +0000 (01:12 +0100)
committerMarcus Eggenberger <egs@quassel-irc.org>
Wed, 31 Dec 2008 00:12:48 +0000 (01:12 +0100)
src/core/userinputhandler.cpp

index 4b4c079..de56d85 100644 (file)
@@ -504,7 +504,14 @@ void UserInputHandler::timerEvent(QTimerEvent *event) {
     QObject::timerEvent(event);
     return;
   }
     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();
   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);
+  }
 }
 }