X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatitem.cpp;h=d1ec8116d2e14c383814cecd47a3f8e4adcd04d9;hp=2ca66aa17b9d07c30256fc7e829255e6e8bb907c;hb=442f91e70e3b4422948758e696b5e3c4b323bdc1;hpb=6cdf52e028dda9e1f7f5627e21e440e21815e3ab diff --git a/src/qtui/chatitem.cpp b/src/qtui/chatitem.cpp index 2ca66aa1..d1ec8116 100644 --- a/src/qtui/chatitem.cpp +++ b/src/qtui/chatitem.cpp @@ -116,6 +116,8 @@ void ChatItem::paintBackground(QPainter *painter) { // This is a deliberate trade-off. (-> selectFmt creation, data() call) void ChatItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option); Q_UNUSED(widget); + painter->save(); + painter->setClipRect(boundingRect()); paintBackground(painter); QTextLayout layout; @@ -150,6 +152,8 @@ void ChatItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, // } // 3) draw bounding rect // painter->drawRect(_boundingRect.adjusted(0, 0, -1, -1)); + + painter->restore(); } void ChatItem::overlayFormat(UiStyle::FormatList &fmtList, int start, int end, quint32 overlayFmt) const { @@ -344,6 +348,8 @@ void ChatItem::addActionsToMenu(QMenu *menu, const QPointF &pos) { void SenderChatItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option); Q_UNUSED(widget); + painter->save(); + painter->setClipRect(boundingRect()); paintBackground(painter); QTextLayout layout; @@ -385,6 +391,7 @@ void SenderChatItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *op } else { layout.draw(painter, pos(), additionalFormats(), boundingRect()); } + painter->restore(); } void SenderChatItem::handleClick(const QPointF &pos, ChatScene::ClickMode clickMode) {