diff --git a/code/ryzom/client/src/interface_v3/group_in_scene_user_info.cpp b/code/ryzom/client/src/interface_v3/group_in_scene_user_info.cpp index 53cddc93b..d36618a9f 100644 --- a/code/ryzom/client/src/interface_v3/group_in_scene_user_info.cpp +++ b/code/ryzom/client/src/interface_v3/group_in_scene_user_info.cpp @@ -461,22 +461,29 @@ CGroupInSceneUserInfo *CGroupInSceneUserInfo::build (CEntityCL *entity) if (rpTags) { CPlayerCL * pPlayer = dynamic_cast(entity); - CViewBitmap *bitmap; + CViewBitmap *rp1 = dynamic_cast(leftGroup->getView ("rp_logo_1")); + CViewBitmap *rp2 = dynamic_cast(leftGroup->getView ("rp_logo_2")); + CViewBitmap *rp3 = dynamic_cast(leftGroup->getView ("rp_logo_3")); + CViewBitmap *rp4 = dynamic_cast(leftGroup->getView ("rp_logo_4")); + if (pPlayer == NULL || (pPlayer != NULL && pPlayer->getPvpMode() & PVP_MODE::PvpFaction)) { - bitmap = dynamic_cast(leftGroup->getView ("rp_logo_1")); - if (bitmap) - bitmap->setTexture(entityTag1.toString()); - bitmap = dynamic_cast(leftGroup->getView ("rp_logo_2")); - if (bitmap) - bitmap->setTexture(entityTag2.toString()); + if (rp1) rp1->setTexture(entityTag1.toString()); + if (rp2) rp2->setTexture(entityTag2.toString()); + } + else + { + entityTag1.clear(); + entityTag2.clear(); } - bitmap = dynamic_cast(leftGroup->getView ("rp_logo_3")); - if (bitmap) - bitmap->setTexture(entityTag3.toString()); - bitmap = dynamic_cast(leftGroup->getView ("rp_logo_4")); - if (bitmap) - bitmap->setTexture(entityTag4.toString()); + if (rp3) rp3->setTexture(entityTag3.toString()); + if (rp4) rp4->setTexture(entityTag4.toString()); + + // hide if texture is empty + if (rp1) rp1->setActive(!entityTag1.empty()); + if (rp2) rp2->setActive(!entityTag2.empty()); + if (rp3) rp3->setActive(!entityTag3.empty()); + if (rp4) rp4->setActive(!entityTag4.empty()); } // Get the permanent content bitmap