Display of Merge Variables on Screen using local variables are not Synchronised
Operating system version
OS X 10.9.5
Description of the issue
Local variables can be used to display text values on the layout.
If the same variable is referenced in several places on a layout and the variable value is modified it is possible that the new value is displayed on screen.
The screen display can be refreshed selectively, so that different objects which should all display the same value, are displaying different values.
Steps to reproduce the problem
Create several text objects that display a merge local variable, eg, <<$language>>.
Name one of the objects "Current Language"
For one of the objects, define a "Hide Object When" calculation similar to this :
$language = Choose ( $$language_pref ; "English"; "Espanol";"Deutsch";"Francais")
Create a script which has two steps:
Set Variable [ $$language_pref ; Let ( $$language_pref = if ( $$language_pref > 2 ; 0 ; $$language_pref + 1 ) ]
Create a script which has one step
Refresh Object [ "Current Language" ]
Run the first script to refresh the entire screen.
Run the second script to fresh an object on the screen.
We expect text objects displaying the same merge variable to display the same value.
It is possible for the display value to vary.
Exact text of any error message(s) that appear
Refresh Window script step is needed to refresh all objects