summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2016-01-20 15:15:23 +0100
committerAnders Broman <a.broman58@gmail.com>2016-01-20 23:39:15 +0000
commit06b75181a0a7033e270eae0b8009f5628048f0b5 (patch)
tree79bac6a2f1979a2c2176fb24e6990c441b05e835
parent4b35048af377ffe7379d3bbf041a91740129e080 (diff)
downloadwireshark-06b75181a0a7033e270eae0b8009f5628048f0b5.tar.gz
Qt: fix a crash when trying to open TCP stream graph on a truncated TCP packet
Do not try to show TCP stream graph window if it was rejected in constructor Change-Id: I4d1401e2c356391ceb8c8e3d37a668fc2a9fc92f Reviewed-on: https://code.wireshark.org/review/13454 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r--ui/qt/main_window_slots.cpp4
-rw-r--r--ui/qt/tcp_stream_dialog.cpp1
-rw-r--r--ui/tap-tcp-stream.c2
3 files changed, 5 insertions, 2 deletions
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp
index 06abeb5ae4..bf59333d8e 100644
--- a/ui/qt/main_window_slots.cpp
+++ b/ui/qt/main_window_slots.cpp
@@ -2838,7 +2838,9 @@ void MainWindow::openTcpStreamDialog(int graph_type)
packet_list_, SLOT(goToPacket(int)));
connect(this, SIGNAL(setCaptureFile(capture_file*)),
stream_dialog, SLOT(setCaptureFile(capture_file*)));
- stream_dialog->show();
+ if (stream_dialog->result() == QDialog::Accepted) {
+ stream_dialog->show();
+ }
}
void MainWindow::on_actionStatisticsTcpStreamStevens_triggered()
diff --git a/ui/qt/tcp_stream_dialog.cpp b/ui/qt/tcp_stream_dialog.cpp
index 9eda3a5954..9f3fa9d91c 100644
--- a/ui/qt/tcp_stream_dialog.cpp
+++ b/ui/qt/tcp_stream_dialog.cpp
@@ -224,6 +224,7 @@ TCPStreamDialog::TCPStreamDialog(QWidget *parent, capture_file *cf, tcp_graph_ty
this, SLOT(axisClicked(QCPAxis*,QCPAxis::SelectablePart,QMouseEvent*)));
connect(sp->yAxis, SIGNAL(rangeChanged(QCPRange)), this, SLOT(transformYRange(QCPRange)));
disconnect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+ this->setResult(QDialog::Accepted);
}
TCPStreamDialog::~TCPStreamDialog()
diff --git a/ui/tap-tcp-stream.c b/ui/tap-tcp-stream.c
index cd14076360..71840a506e 100644
--- a/ui/tap-tcp-stream.c
+++ b/ui/tap-tcp-stream.c
@@ -330,7 +330,7 @@ select_tcpip_session(capture_file *cf, struct segment *hdrs)
* segment, as tcp_graph_selected_packet_enabled() is used
* to determine whether to enable any of our menu items. */
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
- "Selected packet isn't a TCP segment");
+ "Selected packet isn't a TCP segment or is truncated");
return NULL;
}
/* XXX fix this later, we should show a dialog allowing the user