Hello, While trying to test different scaling factors for monitors with Qt5 I receive a crash in qtwidgets:5 $ QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_SCREEN_SCALE_FACTORS='eDP-1=1.25;HDMI-2=1.0;' gdb qdbusviewer Thread 1 "qdbusviewer" received signal SIGSEGV, Segmentation fault. QWidget::hide (this=0x747865746e6f430a) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:7942 warning: 7942 /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp: Немає такого файла або каталогу (gdb) bt #0 QWidget::hide (this=0x747865746e6f430a) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:7942 #1 0x00007ffff7c8fb80 in QMenuBarPrivate::updateGeometries (this=this@entry=0x6e7d60) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qmenubar.cpp:256 #2 0x00007ffff7c92951 in QMenuBar::changeEvent (this=0x6e4fe0, e=0x7fffffffcc50) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qmenubar.cpp:1446 #3 0x00007ffff7b97d1b in QWidget::event (this=this@entry=0x6e4fe0, event=event@entry=0x7fffffffcc50) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:8926 #4 0x00007ffff7c92a99 in QMenuBar::event (this=0x6e4fe0, e=0x7fffffffcc50) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qmenubar.cpp:1512 #5 0x00007ffff7b66a04 in QApplicationPrivate::notify_helper (this=this@entry=0x43b9f0, receiver=receiver@entry=0x6e4fe0, e=e@entry=0x7fffffffcc50) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:3640 #6 0x00007ffff7b6bf19 in QApplication::notify (this=0x7fffffffd5b0, receiver=0x6e4fe0, e=0x7fffffffcc50) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:3590 #7 0x00007ffff71051e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #8 0x00007ffff7b8ca87 in QWidgetPrivate::updateFont (this=this@entry=0x6e7d60, font=...) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:4663 #9 0x00007ffff7b98302 in QWidget::event (this=this@entry=0x6e4fe0, event=event@entry=0x7fffffffd0f0) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:9081 #10 0x00007ffff7c92a99 in QMenuBar::event (this=0x6e4fe0, e=0x7fffffffd0f0) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qmenubar.cpp:1512 #11 0x00007ffff7b66a04 in QApplicationPrivate::notify_helper (this=this@entry=0x43b9f0, receiver=receiver@entry=0x6e4fe0, e=e@entry=0x7fffffffd0f0) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:3640 #12 0x00007ffff7b6bf19 in QApplication::notify (this=0x7fffffffd5b0, receiver=0x6e4fe0, e=0x7fffffffd0f0) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qapplication.cpp:3590 #13 0x00007ffff71051e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #14 0x00007ffff7ba9040 in sendScreenChangeRecursively (widget=0x6e4fe0) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidgetwindow.cpp:757 #15 0x00007ffff7ba907e in sendScreenChangeRecursively (widget=<optimized out>) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidgetwindow.cpp:762 #16 0x00007ffff7ba90a5 in QWidgetWindow::handleScreenChange (this=0x6d55b0) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidgetwindow.cpp:769 #17 0x00007ffff7ba90d2 in QWidgetWindow::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qwidgetwindow_p.cpp:77 #18 0x00007ffff7134a00 in ?? () from /usr/lib64/libQt5Core.so.5 #19 0x00007ffff75c151f in QWindow::screenChanged(QScreen*) () from /usr/lib64/libQt5Gui.so.5 #20 0x00007ffff75c1c73 in QWindowPrivate::emitScreenChangedRecursion(QScreen*) () from /usr/lib64/libQt5Gui.so.5 #21 0x00007ffff7b8dba7 in QWidgetPrivate::create (this=this@entry=0x44d180) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:1289 #22 0x00007ffff7b8ddce in QWidget::create (this=this@entry=0x7fffffffd5c0, window=window@entry=0, initializeWindow=initializeWindow@entry=true, destroyOldWindow=destroyOldWindow@entry=true) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:1181 --Type <RET> for more, q to quit, c to continue without paging-- #23 0x00007ffff7b8e23c in QWidgetPrivate::createWinId (this=<optimized out>) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:2388 #24 0x00007ffff7b8e4bd in QWidget::createWinId (this=this@entry=0x7fffffffd5c0) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/kernel/qwidget.cpp:2444 #25 0x00007ffff7c90f82 in QMenuBarPrivate::handleReparent (this=this@entry=0x6e7d60) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qmenubar.cpp:1421 #26 0x00007ffff7c9107d in QMenuBarPrivate::init (this=0x6e7d60) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qmenubar.cpp:705 #27 0x00007ffff7c9114a in QMenuBar::QMenuBar (this=this@entry=0x6e4fe0, parent=parent@entry=0x7fffffffd5c0) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qmenubar.cpp:741 #28 0x00007ffff7c671b3 in QMainWindow::menuBar (this=0x7fffffffd5c0) at /var/tmp/portage/dev-qt/qtwidgets-5.15.12-r1/work/qtbase-everywhere-src-5.15.12/src/widgets/widgets/qmainwindow.cpp:508 #29 0x00000000004187c5 in ?? () #30 0x000000000040e180 in ?? () #31 0x00007ffff6ae1af7 in ?? () from /lib64/libc.so.6 #32 0x00007ffff6ae1bb5 in __libc_start_main () from /lib64/libc.so.6 #33 0x000000000040e511 in ?? () Same happens with any Qt5 or KDE5 GUI application. Reproducible: Always Steps to Reproduce: 1. You need a multi-monitor system 2. Set environment variable QT_AUTO_SCREEN_SCALE_FACTOR=0 3. Set environment variable QT_SCREEN_SCALE_FACTORS='eDP-1=1.25;HDMI-2=1.0;'. Scale factor should be different and you need to put output names specific to your system. 4. Run any Qt5/KDE5 GUI application 3. Actual Results: Application crashed with SIGSEGV Expected Results: Application running correctly Scale factors for the monitors should be different