diff options
Diffstat (limited to 'indra/llplugin')
| -rw-r--r-- | indra/llplugin/llpluginprocesschild.cpp | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp index 293dea6fe1..dc51671032 100644 --- a/indra/llplugin/llpluginprocesschild.cpp +++ b/indra/llplugin/llpluginprocesschild.cpp @@ -319,8 +319,8 @@ void LLPluginProcessChild::receiveMessageRaw(const std::string &message)  						message.setValueS32("size", (S32)size);  						// shm address is split into 2x32bit values because LLSD doesn't serialize 64bit values and we need to support 64-bit addressing.  						void * address = region->getMappedAddress(); -						U32 address_lo = (U32)address; -						U32 address_hi = (U32)(U64(address) / (U64(1)<<31)); +						U32 address_lo = (U32)(U64(address) & 0xFFFFFFFF);			// Extract the lower 32 bits +						U32 address_hi = (U32)((U64(address)>>32) & 0xFFFFFFFF);	// Extract the higher 32 bits   						message.setValueU32("address", address_lo);  						message.setValueU32("address_1", address_hi);  						sendMessageToPlugin(message); | 
