diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp index a5124c6350..e9086ba828 100644 --- a/indra/newview/llpanelprofile.cpp +++ b/indra/newview/llpanelprofile.cpp @@ -1176,6 +1176,13 @@ void LLPanelProfileSecondLife::apply(LLAvatarData* data) void LLPanelProfileSecondLife::processProperties(void* data, EAvatarProcessorType type) { + // discard UDP replies for profile data if profile capability is available + // otherwise we will truncate profile descriptions to the old UDP limits + if (!gAgent.getRegionCapability(PROFILE_PROPERTIES_CAP).empty()) + { + return; + } + if (APT_PROPERTIES == type) { const LLAvatarData* avatar_data = static_cast(data); @@ -2990,6 +2997,13 @@ void LLPanelProfileFirstLife::onDiscardDescriptionChanges() // Restore UDP profiles void LLPanelProfileFirstLife::processProperties(void * data, EAvatarProcessorType type) { + // discard UDP replies for profile data if profile capability is available + // otherwise we will truncate profile first life descriptions to the old UDP limits + if (!gAgent.getRegionCapability(PROFILE_PROPERTIES_CAP).empty()) + { + return; + } + if (APT_PROPERTIES == type) { const LLAvatarData* avatar_data = static_cast(data); @@ -3204,6 +3218,13 @@ void LLPanelProfileNotes::processProperties(LLAvatarNotes* avatar_notes) // Restore UDP profiles void LLPanelProfileNotes::processProperties(void * data, EAvatarProcessorType type) { + // discard UDP replies for profile data if profile capability is available + // otherwise we will truncate profile notes to the old UDP limits + if (!gAgent.getRegionCapability(PROFILE_PROPERTIES_CAP).empty()) + { + return; + } + if (APT_NOTES == type) { LLAvatarNotes* avatar_notes = static_cast(data);