Issue Details (XML | Word | Printable)

Key: LIBOMV-737
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: John Hurliman
Reporter: Dan Lake
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
libopenmetaverse

packet.ToBytesMultiple() returns 0 length array for PacketType.ScriptDialog

Created: 29/Oct/09 09:04 PM   Updated: 29/Oct/09 10:58 PM
Component/s: Networking
Affects Version/s: 0.7.0
Fix Version/s: 0.8.0

Severity: Medium
Environment: All
Steps to Reproduce: see above


 Description  « Hide
In OpenSim LSL, the llDialog command takes as a parameter a list of buttons. The list is options. In the case where a user leaves the array blank, the ScriptDialog packet is never sent to the viewer.

In OpenSim, the LLClientView SendDialog function builds a ScriptDialog packet by setting the data fields and setting an array of ScriptDialogPacket.ButtonsBlock, which gets passed to LLUDPServer:SendPacket. This called ToBytesMultiple() with the ScriptDialog packet which returns data of length 0.

In the case of a 0 length Buttons array, ToBytesMultiple should just hand back a data array of length 1 (1 packet to send) and never return 0 if a packet has been passed in.



 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Dan Lake added a comment - 29/Oct/09 09:06 PM
Linked to OpenSim Mantis 4329:
http://opensimulator.org/mantis/view.php?id=4329

John Hurliman added a comment - 29/Oct/09 10:58 PM
A fix for this went into r3194 which I will update OpenSim with right now. Please confirm that it worked and reopen this issue if it does not. Thanks for the report!