И это всё МОЁ

Всем здравствуйте.


После обновления на Devuan 3 (Beowulf, эквивалент Debian 10 Buster) перестал запускаться vlc. Причём проблема именно в Qt UI, т. е. cvlc запускается нормально, а vlc – нет.


При запуске пишет:


VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7)

(vlc:1215): GLib-GObject-WARNING **: 15:54:22.365: cannot register existing type 'GtkBuildable'

(vlc:1215): GLib-GObject-CRITICAL **: 15:54:22.365: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(vlc:1215): GLib-CRITICAL **: 15:54:22.365: g_once_init_leave: assertion 'result != 0' failed

(vlc:1215): GLib-GObject-WARNING **: 15:54:22.365: cannot register existing type 'GtkWidget'

(vlc:1215): GLib-GObject-WARNING **: 15:54:22.365: cannot add class private field to invalid type '<invalid>'

(vlc:1215): GLib-GObject-WARNING **: 15:54:22.365: cannot add private field to invalid (non-instantiatable) type '<invalid>'


– и никакого UI не появляется. В Debian Stretch/Devuan ASCII всё норм.


Выяснилось, что всему виной QT_STYLE_OVERRIDE и QT_QPA_PLATFORMTHEME, выставленные в gtk2.


Причём, что характерно:



  1. При любом другом значении QT_STYLE_OVERRIDE (plastique, fusion, qtcurve, gtk3, cde, motif, windows, cleanlooks) интерфейс vlc таки отрисовывается.

  2. Проблема не зависит от фактической темы оформления GTK2.

  3. Другие сложные интерфейсы (Qt Assistant, Qt Designer) работают без проблем.


Всё это на qt5-style-plugins 5.0.0+git23.g335dbec-2+b17 и Qt 5.11.3+dfsg1-1+deb10u2.


Народ, у кого 10-й Debian – можете протестировать у себя (QT_STYLE_OVERRIDE=gtk2 QT_QPA_PLATFORMTHEME=gtk2 vlc)?









 , , , ,