bmstu-iu9 / ptp2022-7-svg-editor

Векторный графический редактор (капитан: Сергей Виленский)
http://artemnostrum.yss.su/
MIT License
3 stars 2 forks source link

Странное поведение истории вкупе с загрузкой файла #49

Closed Kabane-UN closed 2 years ago

Kabane-UN commented 2 years ago

Заметил такой баг при загрузке файла история работает странно, и ну вы сами видите Запись-экрана-от-21 08 2022-23_00_28

AngelicHedgehog commented 2 years ago

Этот вопрос так же, как и #39, я переадресую тебе, @Kabane-UN. Здесь тебе нужно будет добавить вызов функции historyNew() после загрузки существующего файла и все дела. Исправить этот баг через свою часть кода я не могу, так как у меня нет возможности отличить загрузку файла от его создания и отследить момент самой загрузки, чтобы зафиксировать изменения.

Kabane-UN commented 2 years ago

При попытке сделать так historyNew() начинает выдавать ошибку и перестанет работать Снимок экрана от 2022-09-04 14-28-07 Снимок экрана от 2022-09-04 14-28-54

AngelicHedgehog commented 2 years ago

При попытке сделать так historyNew() начинает выдавать ошибку и перестанет работать Снимок экрана от 2022-09-04 14-28-07 Снимок экрана от 2022-09-04 14-28-54

Это происходит из-за того, что функция вызывается до определения draw (холста). Нужно либо добавить в тело функции следующий код: if (draw == null) return, либо вызывать её после определения холста.

Kabane-UN commented 2 years ago

Ну это не решает проблему, есть ли способ сделать historyNew работоспособной до определения холста?

Kabane-UN commented 2 years ago

Да и к тому же, historyNew даже если не выдает ошибок и находится после объявления холста, все равно не помогает от странного поведения

Kabane-UN commented 2 years ago

я дофига времени убил,чтобы понять почему это чертова история сливает данные файла и первый рисунок в одну ячейку, в итоге нихрена не понял. В общем, если до завтра не будет найдено решение то данное issue замораживается на неопределенный срок

Kabane-UN commented 2 years ago

Потому что, после загрузки файла история пуста, а при первом же рисовании в нее магический образом одновременно добавляется и новый рисунок и весь загруженный рисунок. Магия не иначе. Либо какой-то недочет в добавлении новой информации в историю

AngelicHedgehog commented 2 years ago

Понял, постараюсь решить проблему в draw.js

Потому что, после загрузки файла история пуста, а при первом же рисовании в нее магический образом одновременно добавляется и новый рисунок и весь загруженный рисунок. Магия не иначе. Либо какой-то недочет в добавлении новой информации в историю