https://bugs.kde.org/show_bug.cgi?id=356310

            Bug ID: 356310
           Summary: Deleting all tracks possible and crashes Kdenlive
           Product: kdenlive
           Version: unspecified
          Platform: Compiled Sources
                OS: Linux
            Status: UNCONFIRMED
          Severity: minor
          Priority: NOR
         Component: User Interface
          Assignee: [email protected]
          Reporter: [email protected]

In the unlikely event that the user deletes all tracks, Kdenlive crashes.

Steps to reproduce:
1. Start kdenlive
2. Delete all tracks by right-clicking on the track info panel and selecting
"delete track", repeat for each track

Expected result:
1. The last track (when only one track remains in the timeline) should not
allow getting deleted (grayed out option in context menu) or gets deleted but
kdenlive remains functional

Actual result:
1. When the last track is deleted, Kdenlive crashes with a Segmentation fault.

GDB:

Program received signal SIGSEGV, Segmentation fault.
0x0000000000480a80 in QString::isEmpty() const ()

BT:

#0  0x0000000000480a80 in QString::isEmpty() const ()
#1  0x000000000050b419 in TransitionSettings::updateTrackList()
    ()
#2  0x000000000050b126 in TransitionSettings::updateProjectFormat() ()
#3  0x000000000082b69c in MainWindow::slotDeleteTrack() ()
#4  0x000000000083990a in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (MainWindow::*)()>::call(void (MainWindow::*)(),
MainWindow*, void**) ()
#5  0x0000000000839077 in void QtPrivate::FunctionPointer<void
(MainWindow::*)()>::call<QtPrivate::List<>, void>(void (MainWindow::*)(),
MainWindow*, void**) ()
#6  0x0000000000838589 in QtPrivate::QSlotObject<void (MainWindow::*)(),
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*,
void**, bool*) ()
#7  0x00007fffef5f4fb7 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/libQt5Core.so.5
#8  0x00007ffff13b3402 in QAction::triggered(bool) ()
   from /usr/lib/libQt5Widgets.so.5
#9  0x00007ffff13b5888 in QAction::activate(QAction::ActionEvent)
    () from /usr/lib/libQt5Widgets.so.5
#10 0x00007ffff15381b2 in ?? () from /usr/lib/libQt5Widgets.so.5
#11 0x00007ffff153e47c in ?? () from /usr/lib/libQt5Widgets.so.5
#12 0x00007ffff1542380 in QMenu::mouseReleaseEvent(QMouseEvent*)
    () from /usr/lib/libQt5Widgets.so.5
#13 0x00007ffff1400038 in QWidget::event(QEvent*) ()
   from /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff1542dc3 in QMenu::event(QEvent*) ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff13bd01c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff13c2bf9 in QApplication::notify(QObject*, QEvent*)
    () from /usr/lib/libQt5Widgets.so.5
#17 0x00007fffef5c69ab in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#18 0x00007ffff13c1b02 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from
/usr/lib/libQt5Widgets.so.5
#19 0x00007ffff141a8fd in ?? () from /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff141cb5b in ?? () from /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff13bd01c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff13c24f6 in QApplication::notify(QObject*, QEvent*)
    () from /usr/lib/libQt5Widgets.so.5
#23 0x00007fffef5c69ab in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#24 0x00007fffefb26111 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
()
   from /usr/lib/libQt5Gui.so.5
#25 0x00007fffefb27de5 in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
()
   from /usr/lib/libQt5Gui.so.5
#26 0x00007fffefb0d208 in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
   from /usr/lib/libQt5Gui.so.5
#27 0x00007fffe43bd3c0 in ?? () from /usr/lib/libQt5XcbQpa.so.5
---Type <return> to continue, or q <return> to quit---
#28 0x00007fffeb7a0dc7 in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
#29 0x00007fffeb7a1020 in ?? () from /usr/lib/libglib-2.0.so.0
#30 0x00007fffeb7a10cc in g_main_context_iteration ()
   from /usr/lib/libglib-2.0.so.0
#31 0x00007fffef61d34f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Core.so.5
#32 0x00007fffef5c437a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt5Core.so.5
#33 0x00007ffff153d1c0 in QMenu::exec(QPoint const&, QAction*) ()
   from /usr/lib/libQt5Widgets.so.5
#34 0x00007ffff153d331 in QMenu::exec(QList<QAction*>, QPoint const&, QAction*,
QWidget*) () from /usr/lib/libQt5Widgets.so.5
#35 0x00007ffff1400a10 in QWidget::event(QEvent*) ()
   from /usr/lib/libQt5Widgets.so.5
#36 0x00007ffff13bd01c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#37 0x00007ffff13c2fac in QApplication::notify(QObject*, QEvent*)
    () from /usr/lib/libQt5Widgets.so.5
#38 0x00007fffef5c69ab in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#39 0x00007ffff141a6d2 in ?? () from /usr/lib/libQt5Widgets.so.5
#40 0x00007ffff141cb5b in ?? () from /usr/lib/libQt5Widgets.so.5
#41 0x00007ffff13bd01c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt5Widgets.so.5
#42 0x00007ffff13c24f6 in QApplication::notify(QObject*, QEvent*)
    () from /usr/lib/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#43 0x00007fffef5c69ab in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib/libQt5Core.so.5
#44 0x00007fffefb26111 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
()
   from /usr/lib/libQt5Gui.so.5
#45 0x00007fffefb27de5 in
QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
()
   from /usr/lib/libQt5Gui.so.5
#46 0x00007fffefb0d208 in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
   from /usr/lib/libQt5Gui.so.5
#47 0x00007fffe43bd3c0 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#48 0x00007fffeb7a0dc7 in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
#49 0x00007fffeb7a1020 in ?? () from /usr/lib/libglib-2.0.so.0
#50 0x00007fffeb7a10cc in g_main_context_iteration ()
   from /usr/lib/libglib-2.0.so.0
#51 0x00007fffef61d34f in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Core.so.5
#52 0x00007fffef5c437a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt5Core.so.5
#53 0x00007fffef5cc33c in QCoreApplication::exec() ()
   from /usr/lib/libQt5Core.so.5
#54 0x000000000080eca0 in main ()

In 15.08.3 you can select "delete track" but then nothing happens and kdenlive
doesn't crash.

This is unlikely to happen so I'll set minor severity.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to