diff options
-rw-r--r-- | ui/qt/main_window.cpp | 9 | ||||
-rw-r--r-- | ui/qt/wireshark_application.cpp | 6 | ||||
-rw-r--r-- | ui/qt/wireshark_application.h | 3 |
3 files changed, 17 insertions, 1 deletions
diff --git a/ui/qt/main_window.cpp b/ui/qt/main_window.cpp index ef59ae124a..b053c0c1cf 100644 --- a/ui/qt/main_window.cpp +++ b/ui/qt/main_window.cpp @@ -396,6 +396,15 @@ MainWindow::MainWindow(QWidget *parent) : connect(&capture_file_, SIGNAL(captureCaptureUpdateContinue(capture_session*)), main_ui_->statusBar, SLOT(updateCaptureStatistics(capture_session*))); + connect(&capture_file_, SIGNAL(captureCaptureUpdateStarted(capture_session *)), + wsApp, SLOT(captureStarted())); + connect(&capture_file_, SIGNAL(captureCaptureUpdateFinished(capture_session *)), + wsApp, SLOT(captureFinished())); + connect(&capture_file_, SIGNAL(captureCaptureFixedStarted(capture_session *)), + wsApp, SLOT(captureStarted())); + connect(&capture_file_, SIGNAL(captureCaptureFixedFinished(capture_session *)), + wsApp, SLOT(captureFinished())); + connect(&capture_file_, SIGNAL(captureFileOpened()), this, SLOT(captureFileOpened())); connect(&capture_file_, SIGNAL(captureFileReadStarted()), diff --git a/ui/qt/wireshark_application.cpp b/ui/qt/wireshark_application.cpp index 3d5f983d7f..3607ced737 100644 --- a/ui/qt/wireshark_application.cpp +++ b/ui/qt/wireshark_application.cpp @@ -188,6 +188,9 @@ void WiresharkApplication::refreshRecentFiles(void) { recent_item_status *ri; RecentFileStatus *rf_status; + // We're in the middle of a capture. Don't create traffic. + if (active_captures_ > 0) return; + foreach (ri, recent_items_) { if (ri->in_thread) { continue; @@ -478,7 +481,8 @@ void WiresharkApplication::itemStatusFinished(const QString filename, qint64 siz WiresharkApplication::WiresharkApplication(int &argc, char **argv) : QApplication(argc, argv), initialized_(false), - is_reloading_lua_(false) + is_reloading_lua_(false), + active_captures_(0) { wsApp = this; setApplicationName("Wireshark"); diff --git a/ui/qt/wireshark_application.h b/ui/qt/wireshark_application.h index 807fb84a80..dc1ba99f40 100644 --- a/ui/qt/wireshark_application.h +++ b/ui/qt/wireshark_application.h @@ -129,6 +129,7 @@ private: QIcon capture_icon_; static QString window_title_separator_; QList<AppSignal> app_signals_; + int active_captures_; protected: bool event(QEvent *event); @@ -156,6 +157,8 @@ signals: public slots: void clearRecentItems(); void captureFileReadStarted(); + void captureStarted() { active_captures_++; } + void captureFinished() { active_captures_--; } void updateTaps(); private slots: |