diff options
author | David Woodhouse <dwmw2@infradead.org> | 2018-04-27 22:24:02 +0100 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2018-04-27 22:24:02 +0100 |
commit | 65954f6e91f374361478d95e7e33409301daa822 (patch) | |
tree | cb5abd156277403f1c042557682fa143c0b5517c | |
parent | 322868be5ca4eac14501781873b527f7db72f178 (diff) | |
download | pidgin-65954f6e91f374361478d95e7e33409301daa822.tar.gz |
Fix VV prefs segfault when prefs are missing
Install them at startup, and fix the comparison func to use g_strcmp0 too.
-rw-r--r-- | pidgin/gtkprefs.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/pidgin/gtkprefs.c b/pidgin/gtkprefs.c index 75a98147af..340dca40c4 100644 --- a/pidgin/gtkprefs.c +++ b/pidgin/gtkprefs.c @@ -3240,7 +3240,7 @@ make_vv_dropdown(GtkWidget *parent, GtkSizeGroup *size_group, devices = get_vv_device_menuitems(element_type); if (g_list_find_custom(devices, purple_prefs_get_string(preference_key), - (GCompareFunc)strcmp) == NULL) + (GCompareFunc)g_strcmp0) == NULL) { GList *next = g_list_next(devices); if (next) @@ -3504,6 +3504,22 @@ pidgin_prefs_init(void) purple_prefs_connect_callback(&prefs, PIDGIN_PREFS_ROOT "/smileys/theme", smiley_theme_pref_cb, NULL); +#ifdef USE_VV + /* Voice/Video */ + purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig"); + purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/audio"); + purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/audio/src"); + purple_prefs_add_string(PIDGIN_PREFS_ROOT "/vvconfig/audio/src/device", ""); + purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/audio/sink"); + purple_prefs_add_string(PIDGIN_PREFS_ROOT "/vvconfig/audio/sink/device", ""); + purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/video"); + purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/video/src"); + purple_prefs_add_string(PIDGIN_PREFS_ROOT "/vvconfig/video/src/device", ""); + purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/video"); + purple_prefs_add_none(PIDGIN_PREFS_ROOT "/vvconfig/video/sink"); + purple_prefs_add_string(PIDGIN_PREFS_ROOT "/vvconfig/video/sink/device", ""); +#endif + pidgin_prefs_update_old(); } |