qt: SIGSEGV with the filter dialog
Steps to reproduce:
- open a video with VLC (from command line)
- Ctrl-E to open the filter dialog
- Close the dialog
- Close the App => Crash
Thread 11 "vlc" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5dd4700 (LWP 2478806)]
PlayerController::getVout (this=0x0)
at ../../modules/gui/qt/player/player_controller.cpp:1449
1449 Q_D(PlayerController);
(gdb) bt
#0 PlayerController::getVout() (this=0x0)
at ../../modules/gui/qt/player/player_controller.cpp:1449
#1 0x00007ffff4f149cf in UpdateVFiltersString(qt_intf_t*, char const*, char const*)
(p_intf=<optimized out>, psz_filter_type=<optimized out>, value=0x7fffd55e4978 <QArrayData::shared_null+24> "") at ../../modules/gui/qt/dialogs/extended/extended_panels.cpp:329
#2 0x00007ffff4f1d450 in SyncControls::changeVFiltersString(char const*, bool)
(this=0x7fffc7ad6320, psz_name=0x7ffff5dd3a30 "`I^\325\377\177", b_add=<optimized out>)
at ../../modules/gui/qt/dialogs/extended/extended_panels.cpp:1612
#3 0x00007ffff4f1d6d9 in SyncControls::subsdelayClean() (this=0x7fffc7ad6320)
at ../../modules/gui/qt/dialogs/extended/extended_panels.cpp:1592
#4 SyncControls::~SyncControls() (this=<optimized out>, __in_chrg=<optimized out>)
at ../../modules/gui/qt/dialogs/extended/extended_panels.cpp:1493
#5 SyncControls::~SyncControls() (this=0x7fffc7ad6320, __in_chrg=<optimized out>)
at ../../modules/gui/qt/dialogs/extended/extended_panels.cpp:1494
#6 0x00007fffd5528b7e in QObjectPrivate::deleteChildren() ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007fffd5ffb726 in QWidget::~QWidget() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007fffd6168809 in QStackedWidget::~QStackedWidget() ()
at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9 0x00007fffd5528b7e in QObjectPrivate::deleteChildren() ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fffd5ffb726 in QWidget::~QWidget() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007fffd618abb9 in QTabWidget::~QTabWidget() ()
at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007fffd5528b7e in QObjectPrivate::deleteChildren() ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007fffd5ffb726 in QWidget::~QWidget() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff4f13119 in ExtendedDialog::~ExtendedDialog()
(this=0x7fff78e90480, __in_chrg=<optimized out>)
at ../../modules/gui/qt/dialogs/extended/extended.cpp:157
#15 0x00007fffd5528b7e in QObjectPrivate::deleteChildren() ()
at /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007fffd5ffb726 in QWidget::~QWidget() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff4fbe8e9 in MainInterface::~MainInterface()
(this=0x7fffc41274d0, __in_chrg=<optimized out>)
at ../../modules/gui/qt/maininterface/main_interface.cpp:276
#18 0x00007ffff4fbbcde in vlc::CompositorDummy::destroyMainInterface() (this=0x7fffc4000b80)
at ../../modules/gui/qt/maininterface/compositor_dummy.cpp:62
#19 0x00007ffff4efe735 in ThreadCleanup(qt_intf_t*, CleanupReason)
(p_intf=p_intf@entry=0x55555563d680, cleanupReason=cleanupReason@entry=CLEANUP_APP_TERMINATED) at ../../modules/gui/qt/qt.cpp:830
#20 0x00007ffff4eff6a3 in Thread(void*) (obj=0x55555563d680)
at ../../modules/gui/qt/qt.cpp:802
#21 0x00007ffff7f5dea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#22 0x00007ffff7e8ddef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95