X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fnetworkmodel.cpp;h=1a36ac0f64ff194a1be8fc3f8b2b7d4eb4c71f03;hp=1892ecc2beb2cf4f124886c793882bd1682a6740;hb=57acdf634ef6be56f5c8380fd2a8cb72e1e7a08c;hpb=6ca804505c512deff72ff43533fa1d5ea0a3416a diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index 1892ecc2..1a36ac0f 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -426,8 +426,13 @@ void ChannelBufferItem::userModeChanged(IrcUser *ircUser) { int categoryId = UserCategoryItem::categoryFromModes(_ircChannel->userModes(ircUser)); UserCategoryItem *categoryItem = qobject_cast(childById(qHash(categoryId))); - if(categoryItem && categoryItem->childById(qHash(ircUser))) - return; // already in the right category; + if(categoryItem) { + if(categoryItem->childById(qHash(ircUser))) + return; // already in the right category; + } else { + categoryItem = new UserCategoryItem(categoryId, this); + newChild(categoryItem); + } // find the item that needs reparenting IrcUserItem *ircUserItem = 0;