Fixing a client crash that could be triggered under certain preconditions if a ircUse...
[quassel.git] / src / client / buffer.h
index afaa07f..17e9b23 100644 (file)
@@ -50,7 +50,7 @@ public:
   Buffer(BufferInfo, QObject *parent = 0);
 
   BufferInfo bufferInfo() const;
-  QList<AbstractUiMsg *> contents() const;
+  const QList<AbstractUiMsg *> &contents() const;
   inline bool isVisible() const { return _isVisible; }
   inline MsgId lastSeenMsg() const { return _lastSeenMsg; }
   inline ActivityLevel activityLevel() const { return _activityLevel; }
@@ -67,17 +67,18 @@ public slots:
   void setVisible(bool visible);
   void setLastSeenMsg(const MsgId &msgId);
   void setActivityLevel(ActivityLevel level);
+  void updateActivityLevel(const Message &msg);
 
 private:
   BufferInfo _bufferInfo;
   bool _isVisible;
   MsgId _lastSeenMsg;
+  Message _lastRcvdMsg;
   ActivityLevel _activityLevel;
 
-  QList<Message> layoutQueue;
+  QLinkedList<Message> layoutQueue;
   QList<AbstractUiMsg *> layoutedMsgs;
 
-  void updateActivityLevel(const Message &msg);
 };
 
 Q_DECLARE_OPERATORS_FOR_FLAGS(Buffer::ActivityLevel)