diff options
| author | Rider Linden <rider@lindenlab.com> | 2019-10-01 16:49:33 -0700 | 
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2019-10-01 16:49:33 -0700 | 
| commit | 3feba8be0d91a28851d6e606c917508924bc549f (patch) | |
| tree | b108f5f6658d4fcf17d07bbb41e757175503ebcb /indra | |
| parent | 23932e2f792032c60ebb87d22344db0c6f01d08f (diff) | |
SL-11430: Transaction ID is passed as aux_id from offline message.  No special parsing required to get type from binary_bucket.
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llimprocessing.cpp | 35 | 
1 files changed, 7 insertions, 28 deletions
diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp index 5b9ef7e60a..322a5f410c 100644 --- a/indra/newview/llimprocessing.cpp +++ b/indra/newview/llimprocessing.cpp @@ -854,39 +854,18 @@ void LLIMProcessing::processNewMessage(LLUUID from_id,              }              else // IM_TASK_INVENTORY_OFFERED              { -                if (offline == IM_OFFLINE && session_id.isNull() && aux_id.notNull() && binary_bucket_size > sizeof(S8)* 5) -                { -                    // cap received offline message -                    std::string str_bucket = ll_safe_string((char*)binary_bucket, binary_bucket_size); -                    typedef boost::tokenizer<boost::char_separator<char> > tokenizer; -                    boost::char_separator<char> sep("|", "", boost::keep_empty_tokens); -                    tokenizer tokens(str_bucket, sep); -                    tokenizer::iterator iter = tokens.begin(); - -                    info->mType = (LLAssetType::EType)(atoi((*(iter++)).c_str())); -                    // Note There is more elements in 'tokens' ... - -                    info->mObjectID = LLUUID::null; -                    info->mFromObject = TRUE; -                } -                else -                { -                    if (sizeof(S8) != binary_bucket_size) -                    { -                        LL_WARNS("Messaging") << "Malformed inventory offer from object" << LL_ENDL; -                        delete info; -                        break; -                    } -                    info->mType = (LLAssetType::EType) binary_bucket[0]; -                    info->mObjectID = LLUUID::null; -                    info->mFromObject = TRUE; -                } +                info->mType = (LLAssetType::EType) binary_bucket[0]; +                info->mObjectID = LLUUID::null; +                info->mFromObject = TRUE;              } +            // In the case of an offline message, the transaction id will be in aux_id and th session_id will be null +            // (conversely when online the transaction id is passed as session_id) +            info->mTransactionID = session_id.isNull() ? aux_id : session_id; +              info->mIM = dialog;              info->mFromID = from_id;              info->mFromGroup = from_group; -            info->mTransactionID = session_id;              info->mFolderID = gInventory.findCategoryUUIDForType(LLFolderType::assetTypeToFolderType(info->mType));              info->mFromName = name;  | 
