Mercurial > pidgin
diff src/gtkblist.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 | 37160dd563fa |
children | e63fb8e9f4ac |
line wrap: on
line diff
--- a/src/gtkblist.c Wed Dec 21 13:37:18 2005 +0000 +++ b/src/gtkblist.c Wed Dec 21 18:36:19 2005 +0000 @@ -294,12 +294,13 @@ { GtkTreeIter iter; GtkTreePath *path; - GValue val = {0,}; + GValue val; GaimBlistNode *node; path = gtk_tree_path_new_from_string (arg1); gtk_tree_model_get_iter (GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); gtk_tree_path_free (path); + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); gtk_tree_view_set_enable_search (GTK_TREE_VIEW(gtkblist->treeview), TRUE); @@ -737,8 +738,9 @@ static void gtk_blist_row_expanded_cb(GtkTreeView *tv, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) { GaimBlistNode *node; - GValue val = {0,}; - + GValue val; + + val.g_type = 0; gtk_tree_model_get_value(GTK_TREE_MODEL(gtkblist->treemodel), iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -750,8 +752,9 @@ static void gtk_blist_row_collapsed_cb(GtkTreeView *tv, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) { GaimBlistNode *node; - GValue val = {0,}; - + GValue val; + + val.g_type = 0; gtk_tree_model_get_value(GTK_TREE_MODEL(gtkblist->treemodel), iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -766,10 +769,11 @@ static void gtk_blist_row_activated_cb(GtkTreeView *tv, GtkTreePath *path, GtkTreeViewColumn *col, gpointer data) { GaimBlistNode *node; GtkTreeIter iter; - GValue val = { 0, }; + GValue val; gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -1076,7 +1080,7 @@ static gboolean gtk_blist_key_press_cb(GtkWidget *tv, GdkEventKey *event, gpointer data) { GaimBlistNode *node; - GValue val = { 0, }; + GValue val; GtkTreeIter iter; GtkTreeSelection *sel; @@ -1084,6 +1088,7 @@ if(!gtk_tree_selection_get_selected(sel, NULL, &iter)) return FALSE; + val.g_type = 0; gtk_tree_model_get_value(GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -1309,7 +1314,7 @@ { GtkTreePath *path; GaimBlistNode *node; - GValue val = { 0, }; + GValue val; GtkTreeIter iter; GtkTreeSelection *sel; GaimPlugin *prpl = NULL; @@ -1321,6 +1326,7 @@ if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv), event->x, event->y, &path, NULL, NULL, NULL)) return FALSE; gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); + val.g_type = 0; gtk_tree_model_get_value(GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); gtknode = (struct _gaim_gtk_blist_node *)node->ui_data; @@ -1381,7 +1387,7 @@ gaim_gtk_blist_popup_menu_cb(GtkWidget *tv, void *user_data) { GaimBlistNode *node; - GValue val = { 0, }; + GValue val; GtkTreeIter iter; GtkTreeSelection *sel; gboolean handled = FALSE; @@ -1390,6 +1396,7 @@ if (!gtk_tree_selection_get_selected(sel, NULL, &iter)) return FALSE; + val.g_type = 0; gtk_tree_model_get_value(GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -1639,10 +1646,11 @@ GtkTreePath *sourcerow = gtk_tree_row_reference_get_path(ref); GtkTreeIter iter; GaimBlistNode *node = NULL; - GValue val = {0}; + GValue val; if(!sourcerow) return; gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, sourcerow); + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); gtk_selection_data_set (data, @@ -1661,7 +1669,7 @@ GaimBlistNode *node = NULL; GaimBuddy *buddy; GaimConnection *gc; - GValue val = {0}; + GValue val; GString *str; const char *protocol; char *mime_str; @@ -1674,6 +1682,7 @@ gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, sourcerow); + val.g_type = 0; gtk_tree_model_get_value(GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); @@ -1748,11 +1757,12 @@ /* if we're here, I think it means the drop is ok */ GtkTreeIter iter; GaimBlistNode *node; - GValue val = {0}; + GValue val; struct _gaim_gtk_blist_node *gtknode; gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -1903,10 +1913,11 @@ { GtkTreeIter iter; GaimBlistNode *node; - GValue val = {0}; + GValue val; gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -1964,10 +1975,11 @@ { GtkTreeIter iter; GaimBlistNode *node; - GValue val = {0}; + GValue val; gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -1999,10 +2011,11 @@ { GtkTreeIter iter; GaimBlistNode *node; - GValue val = {0}; + GValue val; gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -2212,12 +2225,13 @@ GtkTreePath *path; GtkTreeIter iter; GaimBlistNode *node; - GValue val = {0}; + GValue val; struct _gaim_gtk_blist_node *gtknode; if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv), gtkblist->tip_rect.x, gtkblist->tip_rect.y, &path, NULL, NULL, NULL)) return FALSE; gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -2269,7 +2283,7 @@ GtkTreePath *path; GtkTreeIter iter; GaimBlistNode *node; - GValue val = {0}; + GValue val; int scr_w, scr_h, w, h, x, y; #if GTK_CHECK_VERSION(2,2,0) int mon_num; @@ -2288,6 +2302,7 @@ if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tv), gtkblist->tip_rect.x, gtkblist->tip_rect.y, &path, NULL, NULL, NULL)) return FALSE; gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, path); + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); node = g_value_get_pointer(&val); @@ -2497,42 +2512,42 @@ static GtkItemFactoryEntry blist_menu[] = { /* Buddies menu */ - { N_("/_Buddies"), NULL, NULL, 0, "<Branch>" }, + { N_("/_Buddies"), NULL, NULL, 0, "<Branch>", NULL }, { N_("/Buddies/New Instant _Message..."), "<CTL>M", gaim_gtkdialogs_im, 0, "<StockItem>", GAIM_STOCK_IM }, { N_("/Buddies/Join a _Chat..."), "<CTL>C", gaim_gtk_blist_joinchat_show, 0, "<StockItem>", GAIM_STOCK_CHAT }, { N_("/Buddies/Get User _Info..."), "<CTL>I", gaim_gtkdialogs_info, 0, "<StockItem>", GAIM_STOCK_INFO }, { N_("/Buddies/View User _Log..."), "<CTL>L", gaim_gtkdialogs_log, 0, "<StockItem>", GAIM_STOCK_LOG }, - { "/Buddies/sep1", NULL, NULL, 0, "<Separator>" }, - { N_("/Buddies/Show _Offline Buddies"), NULL, gaim_gtk_blist_edit_mode_cb, 1, "<CheckItem>"}, - { N_("/Buddies/Show _Empty Groups"), NULL, gaim_gtk_blist_show_empty_groups_cb, 1, "<CheckItem>"}, - { N_("/Buddies/Show Buddy _Details"), NULL, gaim_gtk_blist_buddy_details_cb, 1, "<CheckItem>"}, - { N_("/Buddies/_Sort Buddies"), NULL, NULL, 0, "<Branch>" }, - { "/Buddies/sep2", NULL, NULL, 0, "<Separator>" }, + { "/Buddies/sep1", NULL, NULL, 0, "<Separator>", NULL }, + { N_("/Buddies/Show _Offline Buddies"), NULL, gaim_gtk_blist_edit_mode_cb, 1, "<CheckItem>", NULL }, + { N_("/Buddies/Show _Empty Groups"), NULL, gaim_gtk_blist_show_empty_groups_cb, 1, "<CheckItem>", NULL }, + { N_("/Buddies/Show Buddy _Details"), NULL, gaim_gtk_blist_buddy_details_cb, 1, "<CheckItem>", NULL }, + { N_("/Buddies/_Sort Buddies"), NULL, NULL, 0, "<Branch>", NULL }, + { "/Buddies/sep2", NULL, NULL, 0, "<Separator>", NULL }, { N_("/Buddies/_Add Buddy..."), "<CTL>B", gaim_gtk_blist_add_buddy_cb, 0, "<StockItem>", GTK_STOCK_ADD }, { N_("/Buddies/Add C_hat..."), NULL, gaim_gtk_blist_add_chat_cb, 0, "<StockItem>", GTK_STOCK_ADD }, { N_("/Buddies/Add _Group..."), NULL, gaim_blist_request_add_group, 0, "<StockItem>", GTK_STOCK_ADD }, - { "/Buddies/sep2", NULL, NULL, 0, "<Separator>" }, + { "/Buddies/sep2", NULL, NULL, 0, "<Separator>", NULL }, { N_("/Buddies/_Quit"), "<CTL>Q", gaim_core_quit, 0, "<StockItem>", GTK_STOCK_QUIT }, /* Accounts menu */ - { N_("/_Accounts"), NULL, NULL, 0, "<Branch>" }, + { N_("/_Accounts"), NULL, NULL, 0, "<Branch>", NULL }, { N_("/Accounts/Add\\/Edit"), "<CTL>A", gaim_gtk_accounts_window_show, 0, "<StockItem>", GAIM_STOCK_ACCOUNTS }, /* Tools */ - { N_("/_Tools"), NULL, NULL, 0, "<Branch>" }, + { N_("/_Tools"), NULL, NULL, 0, "<Branch>", NULL }, { N_("/Tools/Buddy _Pounces"), NULL, gaim_gtk_pounces_manager_show, 0, "<StockItem>", GAIM_STOCK_POUNCE }, { N_("/Tools/Plu_gins"), "<CTL>U", gaim_gtk_plugin_dialog_show, 0, "<StockItem>", GAIM_STOCK_PLUGIN }, { N_("/Tools/Pr_eferences"), "<CTL>P", gaim_gtk_prefs_show, 0, "<StockItem>", GTK_STOCK_PREFERENCES }, { N_("/Tools/Pr_ivacy"), NULL, gaim_gtk_privacy_dialog_show, 0, "<StockItem>", GTK_STOCK_DIALOG_ERROR }, - { "/Tools/sep2", NULL, NULL, 0, "<Separator>" }, + { "/Tools/sep2", NULL, NULL, 0, "<Separator>", NULL }, { N_("/Tools/_File Transfers"), "<CTL>T", gaim_show_xfer_dialog, 0, "<StockItem>", GAIM_STOCK_FILE_TRANSFER }, { N_("/Tools/R_oom List"), NULL, gaim_gtk_roomlist_dialog_show, 0, "<StockItem>", GTK_STOCK_INDEX }, { N_("/Tools/System _Log"), NULL, gtk_blist_show_systemlog_cb, 0, "<StockItem>", GAIM_STOCK_LOG }, - { "/Tools/sep3", NULL, NULL, 0, "<Separator>" }, - { N_("/Tools/Mute _Sounds"), "<CTL>S", gaim_gtk_blist_mute_sounds_cb, 0, "<CheckItem>"}, + { "/Tools/sep3", NULL, NULL, 0, "<Separator>", NULL }, + { N_("/Tools/Mute _Sounds"), "<CTL>S", gaim_gtk_blist_mute_sounds_cb, 0, "<CheckItem>", NULL }, /* Help */ - { N_("/_Help"), NULL, NULL, 0, "<Branch>" }, + { N_("/_Help"), NULL, NULL, 0, "<Branch>", NULL }, { N_("/Help/Online _Help"), "F1", gtk_blist_show_onlinehelp_cb, 0, "<StockItem>", GTK_STOCK_HELP }, { N_("/Help/_Debug Window"), NULL, toggle_debug, 0, "<StockItem>", GAIM_STOCK_DEBUG }, { N_("/Help/_About"), NULL, gaim_gtkdialogs_about, 0, "<StockItem>", GAIM_STOCK_ABOUT }, @@ -5096,8 +5111,6 @@ static void sort_method_alphabetical(GaimBlistNode *node, GaimBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter) { GtkTreeIter more_z; - GaimBlistNode *n; - GValue val = {0,}; const char *my_name; @@ -5117,9 +5130,12 @@ } do { + GValue val; + GaimBlistNode *n; const char *this_name; int cmp; + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &more_z, NODE_COLUMN, &val); n = g_value_get_pointer(&val); @@ -5160,8 +5176,6 @@ static void sort_method_status(GaimBlistNode *node, GaimBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter) { GtkTreeIter more_z; - GaimBlistNode *n; - GValue val = {0,}; GaimBuddy *my_buddy, *this_buddy; @@ -5187,9 +5201,12 @@ } do { + GValue val; + GaimBlistNode *n; gint name_cmp; gint presence_cmp; + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &more_z, NODE_COLUMN, &val); n = g_value_get_pointer(&val); @@ -5248,8 +5265,6 @@ static void sort_method_log(GaimBlistNode *node, GaimBuddyList *blist, GtkTreeIter groupiter, GtkTreeIter *cur, GtkTreeIter *iter) { GtkTreeIter more_z; - GaimBlistNode *n = NULL, *n2; - GValue val = {0,}; int log_size = 0, this_log_size = 0; const char *buddy_name, *this_buddy_name; @@ -5260,6 +5275,7 @@ } if(GAIM_BLIST_NODE_IS_CONTACT(node)) { + GaimBlistNode *n; for (n = node->child; n; n = n->next) log_size += gaim_log_get_total_size(GAIM_LOG_IM, ((GaimBuddy*)(n))->name, ((GaimBuddy*)(n))->account); buddy_name = gaim_contact_get_alias((GaimContact*)node); @@ -5285,8 +5301,12 @@ } do { + GValue val; + GaimBlistNode *n; + GaimBlistNode *n2; int cmp; + val.g_type = 0; gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &more_z, NODE_COLUMN, &val); n = g_value_get_pointer(&val); this_log_size = 0;