This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new 41e77be65f AbstractMessage, AsyncMessage: fix parsing of 
clientIdBytes, messageIdBytes, and correlationIdBytes when targeting SWF
41e77be65f is described below

commit 41e77be65f434ede3969810d99450b1182a6a342
Author: Josh Tynjala <[email protected]>
AuthorDate: Thu Mar 23 08:40:11 2023 -0700

    AbstractMessage, AsyncMessage: fix parsing of clientIdBytes, 
messageIdBytes, and correlationIdBytes when targeting SWF
    
    These were cast as BinaryData, but on SWF, they are actually ByteArray. Now 
properly converts ByteArray to BinaryData. Tested with RemoteObjectAMFTest 
example.
---
 .../royale/mx/messaging/messages/AbstractMessage.as    | 18 ++++++++++++++++--
 .../main/royale/mx/messaging/messages/AsyncMessage.as  |  9 ++++++++-
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git 
a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/messaging/messages/AbstractMessage.as
 
b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/messaging/messages/AbstractMessage.as
index 888d88f63f..8c0e22b58a 100644
--- 
a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/messaging/messages/AbstractMessage.as
+++ 
b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/messaging/messages/AbstractMessage.as
@@ -527,13 +527,27 @@ public class AbstractMessage implements IMessage
             {
                 if ((flags & CLIENT_ID_BYTES_FLAG) != 0)
                 {
-                    clientIdBytes = input.readObject() as BinaryData;
+                    COMPILE::SWF
+                    {
+                        clientIdBytes = new BinaryData(input.readObject() as 
flash.utils.ByteArray);
+                    }
+                    COMPILE::JS
+                    {
+                        clientIdBytes = input.readObject() as BinaryData;
+                    }
                     clientId = RPCUIDUtil.fromBinary(clientIdBytes);
                 }
         
                 if ((flags & MESSAGE_ID_BYTES_FLAG) != 0)
                 {
-                    messageIdBytes = input.readObject() as BinaryData;
+                    COMPILE::SWF
+                    {
+                        messageIdBytes = new BinaryData(input.readObject() as 
flash.utils.ByteArray);
+                    }
+                    COMPILE::JS
+                    {
+                        messageIdBytes = input.readObject() as BinaryData;
+                    }
                     messageId = RPCUIDUtil.fromBinary(messageIdBytes);
                 }
 
diff --git 
a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/messaging/messages/AsyncMessage.as
 
b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/messaging/messages/AsyncMessage.as
index a749230f0f..e39827c866 100644
--- 
a/frameworks/projects/MXRoyaleBase/src/main/royale/mx/messaging/messages/AsyncMessage.as
+++ 
b/frameworks/projects/MXRoyaleBase/src/main/royale/mx/messaging/messages/AsyncMessage.as
@@ -197,7 +197,14 @@ public class AsyncMessage extends AbstractMessage 
implements ISmallMessage
 
                 if ((flags & CORRELATION_ID_BYTES_FLAG) != 0)
                 {
-                    correlationIdBytes = input.readObject() as BinaryData;
+                    COMPILE::SWF
+                    {
+                        correlationIdBytes = new BinaryData(input.readObject() 
as flash.utils.ByteArray);
+                    }
+                    COMPILE::JS
+                    {
+                        correlationIdBytes = input.readObject() as BinaryData;
+                    }
                     correlationId = RPCUIDUtil.fromBinary(correlationIdBytes);
                 }
 

Reply via email to