Думаю что это не глюк, а плохо изученная документация. Я бы не парился, а использовал такой вариант, как на видео
Так и я пробовал, Но глюк проявляется именно если переменная write изменяется по условию после закрытия диалога.
Из логики программы есть острая необходимость делать именно так.