Шаблон QuizFactory

Автор JBrown, 11 февраля 2021, 21:06

0 Пользователи и 1 гость просматривают эту тему.

JBrown

#15
Прикладываю два снимка с экрана, где в окне слежения за переменными видно, что элемент массива теряется. Видно, что теряется элемент с индексом 5 и именем "Resume"

mikekaganski

Да, баг - проявляется, если весь параграф - это закладка. Напишите в багтрекер.
С уважением,
Михаил Каганский

JBrown

Проверил в предыдущей версии 7.4.2.3. Там все работает как надо (см. вложение)

Написал в багтрекер: #158198








mikekaganski

Цитата: JBrown от 13 ноября 2023, 18:46Проверил в предыдущей версии 7.4.2.3. Там все работает как надо

А это вообще замечательно. Регрессия - это проще.
С уважением,
Михаил Каганский

JBrown

#19
Оформил тест с анимацией на слайдах.

Проверил в следующих системах:

[1]
Version: 7.5.4.2 (X86_64) / LibreOffice Community
Build ID: 50(Build:2)
CPU threads: 2; OS: FreeBSD 13.2; UI render: default; VCL: qt5 (cairo+xcb)
Locale: ru-RU (ru_RU.UTF-8); UI: en-US
Calc: threaded

Работает как задумывалось

[2]
Version: 24.2.0.3 (X86_64) / LibreOffice Community
Build ID: 420(Build:3)
CPU threads: 2; OS: Linux 6.7; UI render: default; VCL: gtk3
Locale: ru-RU (ru_RU.UTF-8); UI: en-US
24.2.0-1
Calc: threaded

Пройти тест не удалось. Переход от слайда к слайду не работает (слайды "буксуют").

[3]
Version: 24.2.0.3 (X86_64) / LibreOffice Community
Build ID: da48488a73ddd66ea24cf16bbc4f7b9c08e9bea1
CPU threads: 4; OS: Windows 10.0 Build 17134; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: ru-RU
Calc: threaded

Пройти тест не удалось. Переход от слайда к слайду не работает (слайды "буксуют"). Но здесь не всякий слайд "пробуксовывает". Некоторые переходы срабатывают не с первого раза (с 5-го, например). Анимационные эффекты работают не так, как задумывалось: во время поворота полупрозрачного растрового изображения, оно теряет прозрачность; во время эффекта "Качание" svg-изображение вообще исчезает.

[4]
Version: 7.6.4.1 (X86_64) / LibreOffice Community
Build ID: e19e193f88cd6c0525a17fb7a176ed8e6a3e2aa1
CPU threads: 4; OS: Windows 10.0 Build 17134; UI render: Skia/Raster; VCL: win
Locale: ru-RU (ru_RU); UI: ru-RU
Calc: threaded

Тест пройти удалось. Переходы между слайдами работают как надо. Анимационные эффекты работают не так (см. [3])

Итог:
Похоже в версии 24.2.0 что-то изменилось, и мои тесты перестали работать. Как это описать в виде "bug report" я пока не придумал, так как оно проявляется непредсказуемо. При отладке по шагам отловить не удалось - в таком режиме все работает как надо. Изменил свои макросы (оставил только возможность переходов между слайдами). В таком виде работает. Зацепиться пока не за что. Может анимация на слайдах так влияет? Но в "старых" версиях LO все работает же...

Что касается анимации в Windows, то я ранее ее не тестировал, и когда она сломалась мне неизвестно.


JBrown

Решилась проблема так:

Переход между слайдами делаю в макросе следующим образом:
ThisComponent.Presentation.Controller.gotoSlide(...)
Если перед этой строкой вставить:
wait 0то "пробуксовка" исчезает (проверил и в Arch Linux, и в Windows 10 на версии LO 24.2.0)

Добавил в макрос следующую процедуру:
' Магическая обертка
SUB GoToSlide(s AS VARIANT)
  wait 0
  ThisComponent.Presentation.Controller.gotoSlide(s)
END SUB
Для перехода от слайда к слайду использую ее.

Видимо это нулевое ожидание как-то синхронизирует работу макроса и отображение слайдов.

JBrown

Обновленная версия (см. вложение)