Bug 48502 - Пустое окно на некоторых шагах Мастера установки
Summary: Пустое окно на некоторых шагах Мастера установки
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: howdy (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Leontiy Volodin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-18 20:08 MSK by Evgeny Shesteperov
Modified: 2023-12-05 15:03 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeny Shesteperov 2023-11-18 20:08:07 MSK
Версия

-   howdy-3.0.0-alt10.beta1.gitc5b1766

Дистрибутивы

-   ALT Education 10.2 XFCE (Sisyphus)
-   ALT KWorkstation 10.2.1 KDE (Sisyphus)

Шаги воспроизведения

Установить пакеты

    # apt-get install -y howdy-gtk

Запустить Howdy GTK

    # howdy-gtk

Нажать кнопку Далее.

Ожидаемый результат: Отображен шаг “Скачивание файлов данных”

Фактический результат: Пустое окно, никакой шаг не отображён.

Workaround: изменить размер окна или распахнуть окно на весь экран
Comment 1 Evgeny Shesteperov 2023-11-18 20:20:57 MSK
Такое же поведение воспроизводится со следующими шагами "Настройка камеры. Мигает ли инфракрасный диод", "Добавление образца лица".
Comment 2 Anton Golubev 2023-11-24 19:30:36 MSK
Это выглядит как некоторая особенность работы GTK, но странным образом, если по результатам обработчика клика на кнопку "Далее", эта кнопка имеет свойство sensivity == 1, то у контейнера следующего слайда не происходит перерасчёт размера. Поэтому слайд имеет нулевые размеры и не отображается. Если же изменить размер окна, это вызывает перерасчёт всех размеров, и слайд начинает отображаться нормально.

Ещё более интересно, что ошибка не воспроизводится на одной из машин, доступных мне, хотя, кажется, версии всех пакетов совпадают.
Comment 3 Anton Golubev 2023-11-27 17:17:40 MSK
Видимо, основной причиной можно назвать то, что авторы gtk-howdy для отображения слайдов не использовали предназначенный для этого виджет Gtk.Stack, а использовали обычный Gtk.Box, при этом скрывая или показывая некоторые куски в зависимости от того, что должно быть видно.
Поэтому, при "переключении" слайда не происходит перерасчёта размеров, что можно назвать особенностью GTK.

Изменение свойства sensivity у кнопки "Далее" приводит к необходимости перерасчитать размеры всех сгруппированных с ней виджетов, в т.ч. контейнера слайдов и его видимых детей, поэтому новый слайд становится видим.

На другой машине проблема не воспроизводится, потому что там другая GTK-3 тема, видимо после клика на кнопку далее происходит её анимация, которая также вызывает перерасчёт размеров и как следствие "проявление" слайда.

Проблему можно исправить, принудительно вызывая метод queue_resize у виджета slidecontainer в конце обработчика клика на кнопку "Далее".
Comment 4 Repository Robot 2023-12-05 15:03:31 MSK
howdy-3.0.0-alt11.beta1.gitc5b1766 -> sisyphus:

 Tue Dec 05 2023 Anton Golubev <golubevan@altlinux> 3.0.0-alt11.beta1.gitc5b1766
 - howdy-gtk: Add default args to exit functions (ALT #48543)
 - Don't pkexec if already root
 - Handle the case if there are no cameras via except (ALT #48544)
 - Show real camera ID in the 'Video' tab (ALT #48542)
 - Don't add a model if the user list is empty (ALT #48529)
 - More correct preview when stretching the window (ALT #48527)
 - Remove reading of non-existent '_variables' file (ALT #48500)
 - Update the container when the slide changes (ALT #48502)
 - Also use PKEXEC_UID to get username (ALT #48503)