aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/prefs.c3
-rw-r--r--epan/prefs.h1
-rw-r--r--ui/qt/capture_preferences_frame.cpp9
-rw-r--r--ui/qt/capture_preferences_frame.h2
-rw-r--r--ui/qt/capture_preferences_frame.ui7
-rw-r--r--ui/qt/main.cpp2
6 files changed, 22 insertions, 2 deletions
diff --git a/epan/prefs.c b/epan/prefs.c
index 1ecf050fe8..39d560bda5 100644
--- a/epan/prefs.c
+++ b/epan/prefs.c
@@ -3462,6 +3462,9 @@ prefs_register_modules(void)
prefs_register_bool_preference(capture_module, "real_time_update", "Update packet list in real time during capture",
"Update packet list in real time during capture?", &prefs.capture_real_time);
+ prefs_register_bool_preference(capture_module, "no_interface_load", "Don't load interfaces on startup",
+ "Don't automatically load capture interfaces on startup", &prefs.capture_no_interface_load);
+
prefs_register_bool_preference(capture_module, "no_extcap", "Disable external capture interfaces",
"Disable external capture modules (extcap)", &prefs.capture_no_extcap);
diff --git a/epan/prefs.h b/epan/prefs.h
index 15bff0759a..a52f75fb23 100644
--- a/epan/prefs.h
+++ b/epan/prefs.h
@@ -204,6 +204,7 @@ typedef struct _e_prefs {
gboolean capture_pcap_ng;
gboolean capture_real_time;
gboolean capture_auto_scroll; /* XXX - Move to recent */
+ gboolean capture_no_interface_load;
gboolean capture_no_extcap;
gboolean capture_show_info;
GList *capture_columns;
diff --git a/ui/qt/capture_preferences_frame.cpp b/ui/qt/capture_preferences_frame.cpp
index ca3c0df24f..08f1271b0e 100644
--- a/ui/qt/capture_preferences_frame.cpp
+++ b/ui/qt/capture_preferences_frame.cpp
@@ -38,6 +38,7 @@ CapturePreferencesFrame::CapturePreferencesFrame(QWidget *parent) :
pref_pcap_ng_ = prefFromPrefPtr(&prefs.capture_pcap_ng);
pref_real_time_ = prefFromPrefPtr(&prefs.capture_real_time);
pref_auto_scroll_ = prefFromPrefPtr(&prefs.capture_auto_scroll);
+ pref_no_interface_load_ = prefFromPrefPtr(&prefs.capture_no_interface_load);
pref_no_extcap_ = prefFromPrefPtr(&prefs.capture_no_extcap);
// Setting the left margin via a style sheet clobbers its
@@ -68,7 +69,7 @@ void CapturePreferencesFrame::updateWidgets()
default_device_string = prefs_get_string_value(pref_device_, pref_stashed);
}
ui->defaultInterfaceComboBox->clear();
- if (global_capture_opts.all_ifaces->len == 0) {
+ if (global_capture_opts.all_ifaces->len == 0 && !pref_no_interface_load_) {
/*
* No interfaces - try refreshing the local interfaces, to
* see whether any have showed up (or privileges have changed
@@ -106,6 +107,7 @@ void CapturePreferencesFrame::updateWidgets()
ui->captureRealTimeCheckBox->setChecked(prefs_get_bool_value(pref_real_time_, pref_stashed));
ui->captureAutoScrollCheckBox->setChecked(prefs_get_bool_value(pref_auto_scroll_, pref_stashed));
#endif // HAVE_LIBPCAP
+ ui->captureNoInterfaceLoad->setChecked(prefs_get_bool_value(pref_no_interface_load_, pref_stashed));
ui->captureNoExtcapCheckBox->setChecked(prefs_get_bool_value(pref_no_extcap_, pref_stashed));
}
@@ -134,6 +136,11 @@ void CapturePreferencesFrame::on_captureAutoScrollCheckBox_toggled(bool checked)
prefs_set_bool_value(pref_auto_scroll_, checked, pref_stashed);
}
+void CapturePreferencesFrame::on_captureNoInterfaceLoad_toggled(bool checked)
+{
+ prefs_set_bool_value(pref_no_interface_load_, checked, pref_stashed);
+}
+
void CapturePreferencesFrame::on_captureNoExtcapCheckBox_toggled(bool checked)
{
prefs_set_bool_value(pref_no_extcap_, checked, pref_stashed);
diff --git a/ui/qt/capture_preferences_frame.h b/ui/qt/capture_preferences_frame.h
index ab337cae6c..143d20ad49 100644
--- a/ui/qt/capture_preferences_frame.h
+++ b/ui/qt/capture_preferences_frame.h
@@ -35,6 +35,7 @@ private slots:
void on_capturePcapNgCheckBox_toggled(bool checked);
void on_captureRealTimeCheckBox_toggled(bool checked);
void on_captureAutoScrollCheckBox_toggled(bool checked);
+ void on_captureNoInterfaceLoad_toggled(bool checked);
void on_captureNoExtcapCheckBox_toggled(bool checked);
private:
@@ -45,6 +46,7 @@ private:
pref_t *pref_pcap_ng_;
pref_t *pref_real_time_;
pref_t *pref_auto_scroll_;
+ pref_t *pref_no_interface_load_;
pref_t *pref_no_extcap_;
void updateWidgets();
diff --git a/ui/qt/capture_preferences_frame.ui b/ui/qt/capture_preferences_frame.ui
index dade9f4531..93717df507 100644
--- a/ui/qt/capture_preferences_frame.ui
+++ b/ui/qt/capture_preferences_frame.ui
@@ -98,6 +98,13 @@
</widget>
</item>
<item>
+ <widget class="QCheckBox" name="captureNoInterfaceLoad">
+ <property name="text">
+ <string>Don't load interfaces on startup.</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QCheckBox" name="captureNoExtcapCheckBox">
<property name="text">
<string>Disable external capture interfaces</string>
diff --git a/ui/qt/main.cpp b/ui/qt/main.cpp
index ead8a9dc38..9826f64f00 100644
--- a/ui/qt/main.cpp
+++ b/ui/qt/main.cpp
@@ -705,7 +705,7 @@ int main(int argc, char *qt_argv[])
#endif
splash_update(RA_INTERFACES, NULL, NULL);
- if (!global_commandline_info.cf_name)
+ if (!global_commandline_info.cf_name && !prefs.capture_no_interface_load)
fill_in_local_interfaces(main_window_update);
if (global_commandline_info.list_link_layer_types)