наконец удалость составить короткий пример проявления бага
#785401
линуксоидам скажу сразу, что на бубунте воспроизвести не удаётся. а так не удаётся воспроизвести в ИЕ некоторых версий. в общем бага плавающая.
package {
import flash.display.Sprite;
import flash.utils.ByteArray;
public class test extends Sprite {
/**
* Constructor
*/
public function test() {
super();
// запускаем многократные тесты
for ( var i:uint = 0; i<10; i++ ) {
trace( '================== test ' + i );
binary_test();
}
}
private static const LENGTH:uint = 5e3;
private static function binary_test():void {
// создаём новый бинарник
var bytes:ByteArray = new ByteArray();
bytes.writeUnsignedInt( 10 ); // делаем запись
bytes.length = LENGTH; // меняем длинну
// проверяем что у нас лежит в бинарнике
var i:uint = 4;
do {
if ( bytes[ i ] != 0 ) {
trace( 'index: ' + i + ', value: ' + bytes[ i ] );
}
} while ( ++i < LENGTH );
// заполняем бинарник
i = 4;
do {
bytes.writeInt( i );
i += 4;
} while ( i < LENGTH );
bytes.clear(); // чистим
}
}
}
если менять местаим эти 2 строчки, то бага исправляется
bytes.writeUnsignedInt( 10 ); // делаем запись
bytes.length = LENGTH; // меняем длинну