Bug 48329

Summary: В GTK4 приложениях в диалоге печати недоступен выбор размера и ориентации бумаги
Product: Sisyphus Reporter: Алексей <a>
Component: gnome3Assignee: Yuri N. Sedunov <aris>
Status: ASSIGNED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: aen, aris
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Пример ошибки none

Description Алексей 2023-11-03 19:03:06 MSK
Created attachment 14967 [details]
Пример ошибки

Стенды с ошибкой:
=================
Alt Reguar c обновлениями на 03.11.2023
Epson L3150 с установленными драйверами из пакета epson-inkjet-printer-escpr:1.8.1-alt1

Версия программы:
=================
Gnome 45.1

Шаги, приводящие к ошибке:
=================
1.Запустить любое GTK4 приложение (просмотр изображений, gnome-text-editor)
2.Открыть диалог печати
3.Выбрать принтер
4.Открыть вкладку Настройка страницы

Результат:
==========
Поля размер бумаги и ориентация недоступны для редактирования

Ожидаемый результат:
====================
Поля размер бумаги и ориентация доступны для редактирования

Дополнительно:
==============
Баг также воспроизвелся на Fedora Rawhide. На Fedora 38 с Gnome 44 баг не воспроизводится.

Баг не воспроизводится в GTK3 приложениях (gedit)

Баг не воспроизводится на регулярке с KDE

Баг воспроизводится при запуске приложений от root

Баг воспроизводится при установке драйверов более старой версии

Также завел issue в гноме - https://gitlab.gnome.org/GNOME/libadwaita/-/issues/753
Comment 1 Yuri N. Sedunov 2023-11-03 19:33:47 MSK
Спасибо. Очень интересно и подробно, но скорого решения не обещаю. Понаблюдаем пока за апстримом.
Comment 2 Алексей 2023-11-03 20:15:24 MSK
Пересоздал issue в правильном разделе https://gitlab.gnome.org/GNOME/gtk/-/issues/6193
Comment 3 Yuri N. Sedunov 2023-11-05 06:04:40 MSK
commit deb8a35ea0c8c8448ac29095f49de5f1f210b7f1
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sun Nov 5 00:59:32 2023 +0200

    print dialog: Improve local fallback
    
    We need to set embed-page-setup for the paper size and orientation
    combos to work.

diff --git a/gtk/gtkprintdialog.c b/gtk/gtkprintdialog.c
index 8ff6aed80f..c06368d1e4 100644
--- a/gtk/gtkprintdialog.c
+++ b/gtk/gtkprintdialog.c
@@ -1269,6 +1269,8 @@ create_print_dialog (GtkPrintDialog   *self,
   if (page_setup)
     gtk_print_unix_dialog_set_page_setup (dialog, page_setup);
 
+  gtk_print_unix_dialog_set_embed_page_setup (dialog, TRUE);
+
   return dialog;
 }