|Anonymous | Login | Signup for a new account||2019-08-19 08:10 PDT|
|Main | My View | View Issues | Change Log | Roadmap | Summary | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005005||opensim||[REGION] Scripting Engine||public||2010-08-30 20:02||2015-08-18 09:35|
|Target Version||Fixed in Version|
|Summary||0005005: [PATCH] llRegionSay() script function does not trigger a ChatFromWorldEvent|
|Description||- A region module with a ChatFromWorldEvent handler was not picking up messages from llRegionSay() script events in an object.|
- Other scripted objects listening on the appropriate channel were reacting to those messages.
- The same ChatFromWorldEvent handler was picking up messages from scripted llSay() events.
llSay(), llShout() and llWhisper() in LSL_Api.cs all seem to trigger a ChatFromWorldEvent via the World.SimChat() call, which is absent from the llRegionSay() method.
Copying the following line to from llSay() to llRegionSay() yielded the behaviour I was expecting (i.e. the event handler picking up the message):
World.SimChat(Utils.StringToBytes(text), ChatTypeEnum.Region, channelID, m_host.ParentGroup.RootPart.AbsolutePosition, m_host.Name, m_host.UUID, false);
|Additional Information||In passing, I noticed that llShout() calls World.SimChat() with the "fromAgent" parameter set to true, while the others are false. Is that by design, or by accident?|
|Tags||No tags attached.|
|Git Revision or version number||0|
|Run Mode||Standalone (Multiple Regions)|
|Environment||Mono / Linux32|
|Attached Files|| e4d16e6-Fix-Region-Say.patch [^] (3,165 bytes) 2014-09-08 20:22 [Show Content]
regionsayfix-c61aec7 2014-09-15 11:56:49 -0700.patch [^] (3,664 bytes) 2014-09-15 12:13 [Show Content]
|I think this was fixed by git master 679da63d|
|was asked by DrCuriosity to reopen this mantis!|
edited on: 2013-08-13 22:17
This bug seems to have come back in 0.7.5, somehow. The fix remains as in the initial description.
|Submitted patch. It's my first attempt at a patch, so keep a good eye on it.|
|The patch employs the solution listed by DrCuriosity by adding World.SimChat() to llRegionSay. This also repairs llRegionSayTo() by adding an additional override to SimChatToAgent();|
From visual inspection, the functionality of the patch looks good to me. However, I do have the following points:
1. Please could you make the patch subject line reflect what it's doing and which Mantis (i.e. this one) it addresses.
2. Please could you reformat the patch to use 4 space indents and not tabs.
3. You have the World.SimChatToAgent() call inside the wComm != null check. However, if it's to be consistent with other LSL_Api behaviour (and indeed with your first change!) this should be before the IWorldComm module check.
If you could make these corrections then I think that this looks like a good patch to put in. Thanks.
regionsayfix-c61aec7 2014-09-15 11:56:49 -0700.patch
includes the suggestions made by justincc
Thanks eeyore. Patch commited in master as 1f40630.
Also just another point I should have mentioned originally, could you make sure commits don't include that "modified" text and that a summary appears as the first line? As you can see from the log, having all that text concatenated together screws up the log. But I didn't want to do another back and forth this time as the patch is fairly small in the grand scheme and the content is at least there. Thanks!
|Resolved issue marked as closed. Please open a new issue and refer to this one if problems arise.|
|2010-08-30 20:02||DrCuriosity||New Issue|
|2010-08-30 20:02||DrCuriosity||Git Revision||=> 0|
|2010-08-30 20:02||DrCuriosity||SVN Revision||=> 0|
|2010-08-30 20:02||DrCuriosity||Run Mode||=> Standalone (Multiple Regions)|
|2010-08-30 20:02||DrCuriosity||Environment||=> Mono / Linux32|
|2010-08-30 20:02||DrCuriosity||Mono Version||=> Other|
|2012-05-25 18:59||justincc||Note Added: 0021548|
|2012-05-25 18:59||justincc||Status||new => resolved|
|2012-05-25 18:59||justincc||Resolution||open => fixed|
|2012-05-25 18:59||justincc||Assigned To||=> justincc|
|2013-08-13 22:12||nebadon||Note Added: 0024274|
|2013-08-13 22:12||nebadon||Status||resolved => feedback|
|2013-08-13 22:12||nebadon||Resolution||fixed => reopened|
|2013-08-13 22:14||DrCuriosity||Note Added: 0024275|
|2013-08-13 22:14||DrCuriosity||Status||feedback => assigned|
|2013-08-13 22:14||nebadon||Note Added: 0024276|
|2013-08-13 22:14||nebadon||Note Deleted: 0024276|
|2013-08-13 22:17||DrCuriosity||Note Edited: 0024275||View Revisions|
|2014-09-08 20:22||eeyore||File Added: e4d16e6-Fix-Region-Say.patch|
|2014-09-08 20:27||eeyore||Note Added: 0026810|
|2014-09-10 16:09||eeyore||Note Added: 0026826|
|2014-09-10 16:09||eeyore||Status||assigned => patch included|
|2014-09-12 15:14||justincc||Note Added: 0026837|
|2014-09-12 15:14||justincc||Status||patch included => patch feedback|
|2014-09-15 12:13||eeyore||File Added: regionsayfix-c61aec7 2014-09-15 11:56:49 -0700.patch|
|2014-09-15 12:39||eeyore||Note Added: 0026840|
|2014-09-15 12:40||eeyore||Summary||llRegionSay() script function does not trigger a ChatFromWorldEvent => [PATCH] llRegionSay() script function does not trigger a ChatFromWorldEvent|
|2014-09-17 15:52||justincc||Note Added: 0026842|
|2014-09-17 15:52||justincc||Status||patch feedback => resolved|
|2014-09-17 15:52||justincc||Resolution||reopened => fixed|
|2014-09-21 12:55||Mata Hari||Relationship added||related to 0007330|
|2015-08-18 09:35||aiaustin||Note Added: 0029293|
|2015-08-18 09:35||aiaustin||Status||resolved => closed|
|Copyright © 2000 - 2012 MantisBT Group|