Mercurial > pidgin.yaz
comparison src/gtkroomlist.c @ 12600:e856f985a0b9
[gaim-migrate @ 14934]
Enable the extra warnings regardless of --enable-debug.
Enable FORTIFY_SOURCE regardless of --enable-debug, adding a --disable-fortify flag to configure.
Enable (well, stop disabling) the missing initializer warnings.
This leads to warnings with: GValue v = {0,}; that must be worked around.
Basically, instead of:
GValue v = {0,};
...
g_value_init(&v, G_TYPE_FOO); /* or other use of the GValue */
We'd need to do:
GValue v;
...
v.g_type = 0;
g_value_init(&v, G_TYPE_FOO); /* or other use of the GValue */
Fix several cases of missing initializers. I don't think any of these are bugs, but having this warning seems like a good idea. It might prevent us from making a mistake in the future.
While I was fixing missing initializers, I optimized substitute_simple_word in plugins/spellchk.c, in the same way as I did substitute_word before. Yes, I'm bad for committing these together.
Added a --enable-fatal-asserts flag to configure. As the name implies, this makes g_return_... guards fatal. This is a useful flag to run on a debug copy of Gaim. It will make it very clear if your changes have triggered one of these guards. It's also useful in detecting g_return_... abuse, which helps prevent crashes if Gaim is compiled with G_DISABLE_ASSERT defined.
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Wed, 21 Dec 2005 18:36:19 +0000 |
parents | 255e6912607b |
children | 82fd52867ffc |
comparison
equal
deleted
inserted
replaced
12599:e94c33909aa6 | 12600:e856f985a0b9 |
---|---|
164 } | 164 } |
165 | 165 |
166 static void | 166 static void |
167 selection_changed_cb(GtkTreeSelection *selection, GaimGtkRoomlist *grl) { | 167 selection_changed_cb(GtkTreeSelection *selection, GaimGtkRoomlist *grl) { |
168 GtkTreeIter iter; | 168 GtkTreeIter iter; |
169 GValue val = { 0, }; | 169 GValue val; |
170 GaimRoomlistRoom *room; | 170 GaimRoomlistRoom *room; |
171 static struct _menu_cb_info *info; | 171 static struct _menu_cb_info *info; |
172 GaimGtkRoomlistDialog *dialog; | 172 GaimGtkRoomlistDialog *dialog; |
173 | 173 |
174 dialog = grl->dialog; | 174 dialog = grl->dialog; |
175 | 175 |
176 if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { | 176 if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { |
177 val.g_type = 0; | |
177 gtk_tree_model_get_value(GTK_TREE_MODEL(grl->model), &iter, ROOM_COLUMN, &val); | 178 gtk_tree_model_get_value(GTK_TREE_MODEL(grl->model), &iter, ROOM_COLUMN, &val); |
178 room = g_value_get_pointer(&val); | 179 room = g_value_get_pointer(&val); |
179 if (!room || !(room->type & GAIM_ROOMLIST_ROOMTYPE_ROOM)) { | 180 if (!room || !(room->type & GAIM_ROOMLIST_ROOMTYPE_ROOM)) { |
180 gtk_widget_set_sensitive(dialog->join_button, FALSE); | 181 gtk_widget_set_sensitive(dialog->join_button, FALSE); |
181 return; | 182 return; |
215 GaimRoomlist *list) | 216 GaimRoomlist *list) |
216 { | 217 { |
217 GaimGtkRoomlist *grl = list->ui_data; | 218 GaimGtkRoomlist *grl = list->ui_data; |
218 GtkTreeIter iter; | 219 GtkTreeIter iter; |
219 GaimRoomlistRoom *room; | 220 GaimRoomlistRoom *room; |
220 GValue val = { 0, }; | 221 GValue val; |
221 struct _menu_cb_info info; | 222 struct _menu_cb_info info; |
222 | 223 |
223 gtk_tree_model_get_iter(GTK_TREE_MODEL(grl->model), &iter, path); | 224 gtk_tree_model_get_iter(GTK_TREE_MODEL(grl->model), &iter, path); |
225 val.g_type = 0; | |
224 gtk_tree_model_get_value(GTK_TREE_MODEL(grl->model), &iter, ROOM_COLUMN, &val); | 226 gtk_tree_model_get_value(GTK_TREE_MODEL(grl->model), &iter, ROOM_COLUMN, &val); |
225 room = g_value_get_pointer(&val); | 227 room = g_value_get_pointer(&val); |
226 if (!room || !(room->type & GAIM_ROOMLIST_ROOMTYPE_ROOM)) | 228 if (!room || !(room->type & GAIM_ROOMLIST_ROOMTYPE_ROOM)) |
227 return; | 229 return; |
228 | 230 |
234 | 236 |
235 static gboolean room_click_cb(GtkWidget *tv, GdkEventButton *event, GaimRoomlist *list) | 237 static gboolean room_click_cb(GtkWidget *tv, GdkEventButton *event, GaimRoomlist *list) |
236 { | 238 { |
237 GtkTreePath *path; | 239 GtkTreePath *path; |
238 GaimGtkRoomlist *grl = list->ui_data; | 240 GaimGtkRoomlist *grl = list->ui_data; |
239 GValue val = { 0, }; | 241 GValue val; |
240 GaimRoomlistRoom *room; | 242 GaimRoomlistRoom *room; |
241 GtkTreeIter iter; | 243 GtkTreeIter iter; |
242 GtkWidget *menu; | 244 GtkWidget *menu; |
243 static struct _menu_cb_info info; /* XXX? */ | 245 static struct _menu_cb_info info; /* XXX? */ |
244 | 246 |
248 /* Here we figure out which room was clicked */ | 250 /* Here we figure out which room was clicked */ |
249 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv), event->x, event->y, &path, NULL, NULL, NULL)) | 251 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv), event->x, event->y, &path, NULL, NULL, NULL)) |
250 return FALSE; | 252 return FALSE; |
251 gtk_tree_model_get_iter(GTK_TREE_MODEL(grl->model), &iter, path); | 253 gtk_tree_model_get_iter(GTK_TREE_MODEL(grl->model), &iter, path); |
252 gtk_tree_path_free(path); | 254 gtk_tree_path_free(path); |
255 val.g_type = 0; | |
253 gtk_tree_model_get_value (GTK_TREE_MODEL(grl->model), &iter, ROOM_COLUMN, &val); | 256 gtk_tree_model_get_value (GTK_TREE_MODEL(grl->model), &iter, ROOM_COLUMN, &val); |
254 room = g_value_get_pointer(&val); | 257 room = g_value_get_pointer(&val); |
255 | 258 |
256 if (!room || !(room->type & GAIM_ROOMLIST_ROOMTYPE_ROOM)) | 259 if (!room || !(room->type & GAIM_ROOMLIST_ROOMTYPE_ROOM)) |
257 return FALSE; | 260 return FALSE; |
273 | 276 |
274 static void row_expanded_cb(GtkTreeView *treeview, GtkTreeIter *arg1, GtkTreePath *arg2, gpointer user_data) | 277 static void row_expanded_cb(GtkTreeView *treeview, GtkTreeIter *arg1, GtkTreePath *arg2, gpointer user_data) |
275 { | 278 { |
276 GaimRoomlist *list = user_data; | 279 GaimRoomlist *list = user_data; |
277 GaimRoomlistRoom *category; | 280 GaimRoomlistRoom *category; |
278 GValue val = { 0, }; | 281 GValue val; |
279 | 282 |
283 val.g_type = 0; | |
280 gtk_tree_model_get_value(gtk_tree_view_get_model(treeview), arg1, ROOM_COLUMN, &val); | 284 gtk_tree_model_get_value(gtk_tree_view_get_model(treeview), arg1, ROOM_COLUMN, &val); |
281 category = g_value_get_pointer(&val); | 285 category = g_value_get_pointer(&val); |
282 | 286 |
283 if (!category->expanded_once) { | 287 if (!category->expanded_once) { |
284 gaim_roomlist_expand_category(list, category); | 288 gaim_roomlist_expand_category(list, category); |