Mercurial > pidgin
comparison pidgin/gtkprefs.c @ 32737:2efee7ca90be
Fix some boring asserts when using the Default conversation theme.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sun, 04 Mar 2012 03:49:49 +0000 |
parents | cc361e897c41 |
children | 8404c5b75e99 |
comparison
equal
deleted
inserted
replaced
32736:cc361e897c41 | 32737:2efee7ca90be |
---|---|
1095 | 1095 |
1096 pidgin_blist_set_theme(theme); | 1096 pidgin_blist_set_theme(theme); |
1097 } | 1097 } |
1098 } | 1098 } |
1099 | 1099 |
1100 /* sets the current conversation theme variant */ | |
1101 static void | |
1102 prefs_set_conv_variant_cb(GtkComboBox *combo_box, gpointer user_data) | |
1103 { | |
1104 PidginConvTheme *theme = NULL; | |
1105 GtkTreeIter iter; | |
1106 gchar *name = NULL; | |
1107 | |
1108 if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(prefs_conv_themes_combo_box), &iter)) { | |
1109 gtk_tree_model_get(GTK_TREE_MODEL(prefs_conv_themes), &iter, 2, &name, -1); | |
1110 theme = PIDGIN_CONV_THEME(purple_theme_manager_find_theme(name, "conversation")); | |
1111 g_free(name); | |
1112 | |
1113 if (gtk_combo_box_get_active_iter(combo_box, &iter)) { | |
1114 gtk_tree_model_get(GTK_TREE_MODEL(prefs_conv_variants), &iter, 0, &name, -1); | |
1115 pidgin_conversation_theme_set_variant(theme, name); | |
1116 g_free(name); | |
1117 } | |
1118 } | |
1119 } | |
1120 | |
1100 /* sets the current conversation theme */ | 1121 /* sets the current conversation theme */ |
1101 static void | 1122 static void |
1102 prefs_set_conv_theme_cb(GtkComboBox *combo_box, gpointer user_data) | 1123 prefs_set_conv_theme_cb(GtkComboBox *combo_box, gpointer user_data) |
1103 { | 1124 { |
1104 GtkTreeIter iter; | 1125 GtkTreeIter iter; |
1107 gchar *name = NULL; | 1128 gchar *name = NULL; |
1108 | 1129 |
1109 gtk_tree_model_get(GTK_TREE_MODEL(prefs_conv_themes), &iter, 2, &name, -1); | 1130 gtk_tree_model_get(GTK_TREE_MODEL(prefs_conv_themes), &iter, 2, &name, -1); |
1110 | 1131 |
1111 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/theme", name); | 1132 purple_prefs_set_string(PIDGIN_PREFS_ROOT "/conversations/theme", name); |
1133 | |
1134 g_signal_handlers_block_by_func(prefs_conv_variants_combo_box, | |
1135 prefs_set_conv_variant_cb, NULL); | |
1112 | 1136 |
1113 /* Update list of variants */ | 1137 /* Update list of variants */ |
1114 gtk_list_store_clear(prefs_conv_variants); | 1138 gtk_list_store_clear(prefs_conv_variants); |
1115 | 1139 |
1116 if (name && *name) { | 1140 if (name && *name) { |
1135 | 1159 |
1136 if (unset) | 1160 if (unset) |
1137 gtk_combo_box_set_active(GTK_COMBO_BOX(prefs_conv_variants_combo_box), 0); | 1161 gtk_combo_box_set_active(GTK_COMBO_BOX(prefs_conv_variants_combo_box), 0); |
1138 } | 1162 } |
1139 | 1163 |
1164 g_signal_handlers_unblock_by_func(prefs_conv_variants_combo_box, | |
1165 prefs_set_conv_variant_cb, NULL); | |
1140 g_free(name); | 1166 g_free(name); |
1141 } | |
1142 } | |
1143 | |
1144 /* sets the current conversation theme variant */ | |
1145 static void | |
1146 prefs_set_conv_variant_cb(GtkComboBox *combo_box, gpointer user_data) | |
1147 { | |
1148 PidginConvTheme *theme = NULL; | |
1149 GtkTreeIter iter; | |
1150 gchar *name = NULL; | |
1151 | |
1152 if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(prefs_conv_themes_combo_box), &iter)) { | |
1153 gtk_tree_model_get(GTK_TREE_MODEL(prefs_conv_themes), &iter, 2, &name, -1); | |
1154 theme = PIDGIN_CONV_THEME(purple_theme_manager_find_theme(name, "conversation")); | |
1155 g_free(name); | |
1156 | |
1157 if (gtk_combo_box_get_active_iter(combo_box, &iter)) { | |
1158 gtk_tree_model_get(GTK_TREE_MODEL(prefs_conv_variants), &iter, 0, &name, -1); | |
1159 pidgin_conversation_theme_set_variant(theme, name); | |
1160 g_free(name); | |
1161 } | |
1162 } | 1167 } |
1163 } | 1168 } |
1164 | 1169 |
1165 /* sets the current icon theme */ | 1170 /* sets the current icon theme */ |
1166 static void | 1171 static void |