| Summary: | Crash when adding env var to launch configuration | ||
|---|---|---|---|
| Product: | [Applications] kdevelop | Reporter: | Christoph Haag <haagch.christoph> |
| Component: | general | Assignee: | kdevelop-bugs-null |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | igorkuo, jonathan.verner |
| Priority: | NOR | Keywords: | drkonqi |
| Version First Reported In: | 5.6.0 | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/kdevelop/kdevelop/commit/77e503c74a3ef5fbf3b163da4a0e71b6a9255bce | Version Fixed/Implemented In: | 5.11.230400 |
| Sentry Crash Report: | |||
| Attachments: | New crash information added by DrKonqi | ||
|
Description
Christoph Haag
2020-11-01 13:17:50 UTC
Created attachment 142143 [details]
New crash information added by DrKonqi
kdevelop (5.6.40) using Qt 5.15.2
- What I was doing when the application crashed:
Opened the Configure Environment Variables dialog from the Launch Configurations dialog. Updated the code of an open project via git command line while the dialogs were open. Added an environment variable to an environment profile of a non-current launch configuration and clicked OK.
-- Backtrace (Reduced):
#4 0x00007f1ab916318b in KDevelop::LaunchConfigurationsModel::data(QModelIndex const&, int) const (this=<optimized out>, index=..., role=<optimized out>) at /usr/src/debug/kdevelop/kdevplatform/shell/launchconfigurationdialog.cpp:620
#5 0x00007f1ab87ae722 in QStyledItemDelegate::initStyleOption(QStyleOptionViewItem*, QModelIndex const&) const () at /usr/lib/libQt5Widgets.so.5
#6 0x00007f1ab87ad3c1 in QStyledItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () at /usr/lib/libQt5Widgets.so.5
#7 0x00007f1ab87f6a00 in QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const () at /usr/lib/libQt5Widgets.so.5
#8 0x00007f1ab87fa974 in QTreeView::drawTree(QPainter*, QRegion const&) const () at /usr/lib/libQt5Widgets.so.5
Git commit 77e503c74a3ef5fbf3b163da4a0e71b6a9255bce by Igor Kushnir.
Committed on 27/12/2022 at 09:24.
Pushed by igorkushnir into branch 'master'.
RunController: ignore projectConfigurationChanged signal
No settings within the Configure Project dialog affect launch
configurations. So no need to reread the configs and recreate the
launches and their actions. I suppose project configuration did affect
launch configurations in the past, but I don't see this in current code.
Project target combobox on the native app config page and available
targets in suggestion submenus of "Add a new launch configuration"
button are populated when a Launch Configurations dialog is created
(each time it is shown).
Since 62ae1929c5a5d1a6a200a07579a4cca635cd9364 the
projectConfigurationChanged signal is also emitted when a CMake import
job finishes without error. This was done for the benefit of
CompilerProvider and is useless to RunController. The same argument
applies to emitting this signal when a Meson import job finishes without
error (the code has been copied from cmake plugin to meson plugin).
Recreating the launches and their actions caused a crash when a folder
that contained a target was excluded (filtered out) from the project and
the Launch Configurations dialog with this target as the Project target
of an existing configuration was shown before the CMake import job
finished:
#0 KDevelop::LaunchConfigurationsModel::data() at kdevelop/kdevplatform/shell/launchconfigurationdialog.cpp:611
#1 QStyledItemDelegate::initStyleOption(QStyleOptionViewItem*, QModelIndex const&) const() at /usr/lib/libQt5Widgets.so.5
#2 QStyledItemDelegate::paint(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const() at /usr/lib/libQt5Widgets.so.5
#3 QTreeView::drawRow(QPainter*, QStyleOptionViewItem const&, QModelIndex const&) const() at /usr/lib/libQt5Widgets.so.5
#4 QTreeView::drawTree(QPainter*, QRegion const&) const() at /usr/lib/libQt5Widgets.so.5
#5 QTreeView::paintEvent(QPaintEvent*)() at /usr/lib/libQt5Widgets.so.5
FIXED-IN: 5.11.230400
M +0 -8 kdevplatform/shell/runcontroller.cpp
M +0 -1 kdevplatform/shell/runcontroller.h
https://invent.kde.org/kdevelop/kdevelop/commit/77e503c74a3ef5fbf3b163da4a0e71b6a9255bce
|