summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelpicks.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelpicks.cpp')
-rw-r--r--indra/newview/llpanelpicks.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp
index 0a7c39db46..bde8d02885 100644
--- a/indra/newview/llpanelpicks.cpp
+++ b/indra/newview/llpanelpicks.cpp
@@ -288,7 +288,8 @@ void LLPanelPicks::processProperties(void* data, EAvatarProcessorType type)
LLAvatarClassifieds* c_info = static_cast<LLAvatarClassifieds*>(data);
if(c_info && getAvatarId() == c_info->target_id)
{
- mClassifiedsList->clear();
+ // do not clear classified list in case we will receive two or more data packets.
+ // list has been cleared in updateData(). (fix for EXT-6436)
LLAvatarClassifieds::classifieds_list_t::const_iterator it = c_info->classifieds_list.begin();
for(; c_info->classifieds_list.end() != it; ++it)
@@ -827,7 +828,11 @@ void LLPanelPicks::onPanelClassifiedSave(LLPanelClassifiedEdit* panel)
else if(panel->isNewWithErrors())
{
LLClassifiedItem* c_item = dynamic_cast<LLClassifiedItem*>(mClassifiedsList->getSelectedItem());
- c_item->fillIn(panel);
+ llassert(c_item);
+ if (c_item)
+ {
+ c_item->fillIn(panel);
+ }
}
else
{
@@ -970,6 +975,11 @@ void LLPanelPicks::onPanelClassifiedEdit()
}
LLClassifiedItem* c_item = dynamic_cast<LLClassifiedItem*>(mClassifiedsList->getSelectedItem());
+ llassert(c_item);
+ if (!c_item)
+ {
+ return;
+ }
LLSD params;
params["classified_id"] = c_item->getClassifiedId();