Uploaded image for project: 'Snowstorm'
  1. Snowstorm
  2. STORM-1297

Clicking on Block in a dialog box from an object blocks the object owner, not the object, and sets the wrong block type

    Details

    • Type: Defect
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: Viewer 2.7.0
    • Fix Version/s: Sprint 19
    • Labels:
      None
    • Approvals:
      Code Review, Product Owner

      Description

      Note: this jira was split out from STORM-951.

      If you click on an object, get a dialog (say, an inventory offer), and then pick Block the entry created in the block list is the owner of the object and the type is "by name".

      This is wrong on two counts:
      1) The blocked entry should be storing the UUID of the object and displaying its current name. Names can easily be changed by griefer scripts so storing just the name is not enough.

      2) The block type should be "object".

      Steps to reproduce:

      1. Rezz an object
      2. Drop attached script NotecardGiver.lsl into object's Contents
      3. Create a notecard; the name is not important
      4. Drop this notecard into object's Contents
      5. Close build window
      6. Click on object
      7. Click on Block in the notification

      Block list appears

      Observed result: Owner's name of the object is in block list and type is (By name)
      Expected result: Name of object is in block list and type is (Object)

      Here are some hopefully helpful pointers to whoever fixes this.

      1) In llviewermessage.cpp / inventory_task_offer_callback
      you need to pass the name of the object, mFromName into LLMute::LLMute

      The same might also apply in inventory_offer_callback, which looks to be doing similar work.

      2) In inventory_offer_mute_callback

      else if(offer && offer->mFromObject)

      change

      type = LLMute::OBJECT;

      as this is used to mute particles in llmutelist.cpp / LLMuteList::add

      Paul ProductEngine worked on this recently and ran into difficulty:
      How to get the sender object id for a message of type IM_TASK_INVENTORY_OFFERED (object inventory offer).
      I need this to be able to block the sender object.
      Rejected code review: https://codereview.secondlife.com/r/303/

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                jonathan.yap Jonathan Yap
                Prod Owner Approved:
                Grumpity ProductEngine
              • Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 4 hours
                  4h