Review: broken getmessage (issue199069)


larry...@...
 

Reviewers: ,

Description:
In the same way as my last review for string ops, if getmessage had all
uniform args but was called from within a varying conditional, it could
fill in only the first value of the result.


Please review this at http://codereview.appspot.com/199069/show

Affected files:
src/liboslexec/opmessage.cpp


Index: src/liboslexec/opmessage.cpp
===================================================================
--- src/liboslexec/opmessage.cpp (revision 563)
+++ src/liboslexec/opmessage.cpp (working copy)
@@ -135,6 +135,7 @@
bool varying = (Name.is_varying());
exec->adjust_varying (Result, varying);
exec->adjust_varying (Val, varying);
+ varying |= Result.is_varying(); // adjust in case we're in a conditional

VaryingRef<int> result ((int *)Result.data(), Result.step());
VaryingRef<ustring> name ((ustring *)Name.data(), Name.step());

Join osl-dev@lists.aswf.io to automatically receive all group messages.