mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Fix segfault on mouseOver at the Profile with an invalid dive selected ( trip )
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
parent
605f42daa4
commit
61373eaccf
4 changed files with 16 additions and 7 deletions
|
@ -140,8 +140,8 @@ void MainTab::updateDiveInfo(int dive)
|
||||||
* if we don't use the gtk widget to drive this?
|
* if we don't use the gtk widget to drive this?
|
||||||
* Maybe call process_selected_dives? Or re-write to query our Qt list view.
|
* Maybe call process_selected_dives? Or re-write to query our Qt list view.
|
||||||
*/
|
*/
|
||||||
qDebug("max temp %u",stats_selection.max_temp);
|
// qDebug("max temp %u",stats_selection.max_temp);
|
||||||
qDebug("min temp %u",stats_selection.min_temp);
|
// qDebug("min temp %u",stats_selection.min_temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainTab::on_addCylinder_clicked()
|
void MainTab::on_addCylinder_clicked()
|
||||||
|
|
|
@ -43,6 +43,8 @@ MainWindow::MainWindow() : ui(new Ui::MainWindow()),
|
||||||
ui->ListWidget->setCurrentIndex(sortModel->index(0,0, firstDiveOrTrip));
|
ui->ListWidget->setCurrentIndex(sortModel->index(0,0, firstDiveOrTrip));
|
||||||
else
|
else
|
||||||
ui->ListWidget->setCurrentIndex(firstDiveOrTrip);
|
ui->ListWidget->setCurrentIndex(firstDiveOrTrip);
|
||||||
|
|
||||||
|
#if 0
|
||||||
QAction *actionNextDive = new QAction(this);
|
QAction *actionNextDive = new QAction(this);
|
||||||
addAction(actionNextDive);
|
addAction(actionNextDive);
|
||||||
actionNextDive->setShortcut(Qt::Key_Down);
|
actionNextDive->setShortcut(Qt::Key_Down);
|
||||||
|
@ -51,6 +53,7 @@ MainWindow::MainWindow() : ui(new Ui::MainWindow()),
|
||||||
addAction(actionPreviousDive);
|
addAction(actionPreviousDive);
|
||||||
actionPreviousDive->setShortcut(Qt::Key_Up);
|
actionPreviousDive->setShortcut(Qt::Key_Up);
|
||||||
connect(actionPreviousDive, SIGNAL(triggered()), this, SLOT(previousDive_triggered()));
|
connect(actionPreviousDive, SIGNAL(triggered()), this, SLOT(previousDive_triggered()));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::redrawProfile()
|
void MainWindow::redrawProfile()
|
||||||
|
@ -58,6 +61,7 @@ void MainWindow::redrawProfile()
|
||||||
ui->ProfileWidget->plot(get_dive(selected_dive));
|
ui->ProfileWidget->plot(get_dive(selected_dive));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
void MainWindow::nextDive_triggered()
|
void MainWindow::nextDive_triggered()
|
||||||
{
|
{
|
||||||
// Get the current Selection:
|
// Get the current Selection:
|
||||||
|
@ -147,6 +151,7 @@ void MainWindow::previousDive_triggered()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void MainWindow::on_actionNew_triggered()
|
void MainWindow::on_actionNew_triggered()
|
||||||
{
|
{
|
||||||
|
|
|
@ -69,9 +69,11 @@ private Q_SLOTS:
|
||||||
void on_actionAboutSubsurface_triggered();
|
void on_actionAboutSubsurface_triggered();
|
||||||
void on_actionUserManual_triggered();
|
void on_actionUserManual_triggered();
|
||||||
|
|
||||||
|
#if 0
|
||||||
/* keyboard actions */
|
/* keyboard actions */
|
||||||
void nextDive_triggered();
|
void nextDive_triggered();
|
||||||
void previousDive_triggered();
|
void previousDive_triggered();
|
||||||
|
#endif
|
||||||
|
|
||||||
void dive_selection_changed(const QItemSelection& newSelection,
|
void dive_selection_changed(const QItemSelection& newSelection,
|
||||||
const QItemSelection& oldSelection);
|
const QItemSelection& oldSelection);
|
||||||
|
|
|
@ -214,15 +214,13 @@ void ProfileGraphicsView::plot(struct dive *d)
|
||||||
resetTransform();
|
resetTransform();
|
||||||
zoomLevel = 0;
|
zoomLevel = 0;
|
||||||
dive = d;
|
dive = d;
|
||||||
|
toolTip = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isVisible()){
|
if(!isVisible() || !dive){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!dive)
|
|
||||||
return;
|
|
||||||
|
|
||||||
scene()->setSceneRect(0,0, viewport()->width()-50, viewport()->height()-50);
|
scene()->setSceneRect(0,0, viewport()->width()-50, viewport()->height()-50);
|
||||||
|
|
||||||
QSettings s;
|
QSettings s;
|
||||||
|
@ -1278,8 +1276,12 @@ void ToolTipItem::collapse()
|
||||||
|
|
||||||
void ToolTipItem::expand()
|
void ToolTipItem::expand()
|
||||||
{
|
{
|
||||||
QRectF nextRectangle;
|
|
||||||
|
|
||||||
|
if (!title){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QRectF nextRectangle;
|
||||||
double width = 0, height = title->boundingRect().height() + SPACING;
|
double width = 0, height = title->boundingRect().height() + SPACING;
|
||||||
Q_FOREACH(ToolTip t, toolTips) {
|
Q_FOREACH(ToolTip t, toolTips) {
|
||||||
if (t.second->boundingRect().width() > width)
|
if (t.second->boundingRect().width() > width)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue