Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
1e0561e8
Commit
1e0561e8
authored
Apr 15, 2009
by
dt
Browse files
Crash on removing RunConfigurations by editing the pro file
Task: 250759
parent
e39d006f
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/plugins/projectexplorer/project.cpp
View file @
1e0561e8
...
...
@@ -453,6 +453,7 @@ void Project::addRunConfiguration(QSharedPointer<RunConfiguration> runConfigurat
return
;
}
m_runConfigurations
.
push_back
(
runConfiguration
);
emit
addedRunConfiguration
(
runConfiguration
->
name
());
}
void
Project
::
removeRunConfiguration
(
QSharedPointer
<
RunConfiguration
>
runConfiguration
)
...
...
@@ -460,14 +461,19 @@ void Project::removeRunConfiguration(QSharedPointer<RunConfiguration> runConfigu
if
(
!
m_runConfigurations
.
contains
(
runConfiguration
))
{
qWarning
()
<<
"Not removing runConfiguration"
<<
runConfiguration
->
name
()
<<
"becasue it doesn't exist"
;
return
;
}
m_runConfigurations
.
removeOne
(
runConfiguration
);
}
if
(
m_activeRunConfiguration
==
runConfiguration
)
{
if
(
m_runConfigurations
.
isEmpty
()
)
if
(
m_runConfigurations
.
size
()
<=
1
)
setActiveRunConfiguration
(
QSharedPointer
<
RunConfiguration
>
(
0
));
else
if
(
m_runConfigurations
.
at
(
0
)
==
m_activeRunConfiguration
)
setActiveRunConfiguration
(
m_runConfigurations
.
at
(
1
));
else
setActiveRunConfiguration
(
m_runConfigurations
.
at
(
0
));
}
m_runConfigurations
.
removeOne
(
runConfiguration
);
emit
removedRunConfiguration
(
runConfiguration
->
name
());
}
QSharedPointer
<
RunConfiguration
>
Project
::
activeRunConfiguration
()
const
...
...
src/plugins/projectexplorer/project.h
View file @
1e0561e8
...
...
@@ -140,6 +140,8 @@ signals:
void
fileListChanged
();
void
activeBuildConfigurationChanged
();
void
activeRunConfigurationChanged
();
void
removedRunConfiguration
(
const
QString
&
name
);
void
addedRunConfiguration
(
const
QString
&
name
);
// This signal is jut there for updating the tree list in the buildsettings wizard
void
buildConfigurationDisplayNameChanged
(
const
QString
&
buildConfiguraiton
);
...
...
src/plugins/projectexplorer/runsettingspropertiespage.cpp
View file @
1e0561e8
...
...
@@ -189,6 +189,15 @@ RunSettingsWidget::RunSettingsWidget(Project *project)
connect
(
m_ui
->
removeToolButton
,
SIGNAL
(
clicked
(
bool
)),
this
,
SLOT
(
removeRunConfiguration
()));
connect
(
m_project
,
SIGNAL
(
removedRunConfiguration
(
QString
)),
this
,
SLOT
(
initRunConfigurationComboBox
()));
connect
(
m_project
,
SIGNAL
(
addedRunConfiguration
(
QString
)),
this
,
SLOT
(
initRunConfigurationComboBox
()));
connect
(
m_project
,
SIGNAL
(
activeRunConfigurationChanged
()),
this
,
SLOT
(
activeRunConfigurationChanged
()));
initRunConfigurationComboBox
();
const
QList
<
QSharedPointer
<
RunConfiguration
>
>
runConfigurations
=
m_project
->
runConfigurations
();
for
(
int
i
=
0
;
i
<
runConfigurations
.
size
();
++
i
)
{
...
...
@@ -285,6 +294,14 @@ void RunSettingsWidget::activateRunConfiguration(int index)
m_ui
->
groupBox
->
layout
()
->
addWidget
(
m_runConfigurationWidget
);
}
void
RunSettingsWidget
::
activeRunConfigurationChanged
()
{
QSharedPointer
<
RunConfiguration
>
active
=
m_project
->
activeRunConfiguration
();
delete
m_runConfigurationWidget
;
m_runConfigurationWidget
=
active
->
configurationWidget
();
m_ui
->
groupBox
->
layout
()
->
addWidget
(
m_runConfigurationWidget
);
}
void
RunSettingsWidget
::
nameChanged
()
{
RunConfiguration
*
rc
=
qobject_cast
<
RunConfiguration
*>
(
sender
());
...
...
src/plugins/projectexplorer/runsettingspropertiespage.h
View file @
1e0561e8
...
...
@@ -77,9 +77,9 @@ private slots:
void
addRunConfiguration
();
void
removeRunConfiguration
();
void
nameChanged
();
private:
void
initRunConfigurationComboBox
();
void
activeRunConfigurationChanged
();
private:
Project
*
m_project
;
RunConfigurationsModel
*
m_runConfigurationsModel
;
Ui
::
RunSettingsPropertiesPage
*
m_ui
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment