From: <sa...@us...> - 2006-08-02 06:24:42
|
Revision: 16615 Author: sadrul Date: 2006-08-01 23:24:38 -0700 (Tue, 01 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16615&view=rev Log Message: ----------- Fix a crash. Modified Paths: -------------- trunk/console/gntrequest.c Modified: trunk/console/gntrequest.c =================================================================== --- trunk/console/gntrequest.c 2006-08-02 06:22:33 UTC (rev 16614) +++ trunk/console/gntrequest.c 2006-08-02 06:24:38 UTC (rev 16615) @@ -158,7 +158,8 @@ gpointer data = g_object_get_data(G_OBJECT(button), "activate-userdata"); int id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(button), "activate-id")); - callback(data, id); + if (callback) + callback(data, id); gaim_request_close(GAIM_REQUEST_ACTION, window); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sa...@us...> - 2006-08-07 03:24:44
|
Revision: 16661 Author: sadrul Date: 2006-08-06 20:24:39 -0700 (Sun, 06 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16661&view=rev Log Message: ----------- Allow multi-select to work for requests. Modified Paths: -------------- trunk/console/gntrequest.c Modified: trunk/console/gntrequest.c =================================================================== --- trunk/console/gntrequest.c 2006-08-07 02:15:58 UTC (rev 16660) +++ trunk/console/gntrequest.c 2006-08-07 03:24:39 UTC (rev 16661) @@ -252,8 +252,27 @@ else if (type == GAIM_REQUEST_FIELD_LIST) { GntWidget *tree = field->ui_data; - gpointer data = gnt_tree_get_selection_data(GNT_TREE(tree)); - GList *list = g_list_append(NULL, data); /* XXX: Update when multi-select is allowed */ + GList *list = NULL; + + if (gaim_request_field_list_get_multi_select(field)) + { + const GList *iter; + + iter = gaim_request_field_list_get_items(field); + for (; iter; iter = iter->next) + { + const char *text = list->data; + gpointer key = gaim_request_field_list_get_data(field, text); + if (gnt_tree_get_choice(GNT_TREE(tree), key)) + list = g_list_prepend(list, key); + } + } + else + { + gpointer data = gnt_tree_get_selection_data(GNT_TREE(tree)); + list = g_list_append(list, data); + } + gaim_request_field_list_set_selected(field, list); g_list_free(list); } @@ -355,8 +374,8 @@ } else if (type == GAIM_REQUEST_FIELD_LIST) { - /* XXX: Yet to allow multi-select, because the feature is absent in GntTree */ const GList *list; + gboolean multi = gaim_request_field_list_get_multi_select(field); GntWidget *tree = gnt_tree_new(); gnt_box_add_widget(GNT_BOX(hbox), tree); field->ui_data = tree; @@ -366,10 +385,20 @@ { const char *text = list->data; gpointer key = gaim_request_field_list_get_data(field, text); - gnt_tree_add_row_after(GNT_TREE(tree), key, - gnt_tree_create_row(GNT_TREE(tree), text), NULL, NULL); - if (gaim_request_field_list_is_selected(field, text)) - gnt_tree_set_selected(GNT_TREE(tree), key); + if (multi) + { + gnt_tree_add_choice(GNT_TREE(tree), key, + gnt_tree_create_row(GNT_TREE(tree), text), NULL, NULL); + if (gaim_request_field_list_is_selected(field, text)) + gnt_tree_set_choice(GNT_TREE(tree), key, TRUE); + } + else + { + gnt_tree_add_row_after(GNT_TREE(tree), key, + gnt_tree_create_row(GNT_TREE(tree), text), NULL, NULL); + if (gaim_request_field_list_is_selected(field, text)) + gnt_tree_set_selected(GNT_TREE(tree), key); + } } } #if 0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nos...@us...> - 2006-08-20 17:10:21
|
Revision: 16907 Author: nosnilmot Date: 2006-08-20 10:10:15 -0700 (Sun, 20 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16907&view=rev Log Message: ----------- Fix a warning: gntrequest.c:250: warning: ISO C90 forbids mixed declarations and code Amazing what a stray semicolon can do Modified Paths: -------------- trunk/console/gntrequest.c Modified: trunk/console/gntrequest.c =================================================================== --- trunk/console/gntrequest.c 2006-08-20 17:00:38 UTC (rev 16906) +++ trunk/console/gntrequest.c 2006-08-20 17:10:15 UTC (rev 16907) @@ -246,7 +246,7 @@ } else if (type == GAIM_REQUEST_FIELD_CHOICE) { - GntWidget *combo = field->ui_data;; + GntWidget *combo = field->ui_data; int id; id = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(combo))); gaim_request_field_choice_set_value(field, id); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nos...@us...> - 2006-10-07 17:21:35
|
Revision: 17442 http://svn.sourceforge.net/gaim/?rev=17442&view=rev Author: nosnilmot Date: 2006-10-07 10:21:31 -0700 (Sat, 07 Oct 2006) Log Message: ----------- Fix Coverity CID 276 - variable "list" tracked as NULL was dereferenced. Modified Paths: -------------- trunk/console/gntrequest.c Modified: trunk/console/gntrequest.c =================================================================== --- trunk/console/gntrequest.c 2006-10-07 17:15:58 UTC (rev 17441) +++ trunk/console/gntrequest.c 2006-10-07 17:21:31 UTC (rev 17442) @@ -286,7 +286,7 @@ iter = gaim_request_field_list_get_items(field); for (; iter; iter = iter->next) { - const char *text = list->data; + const char *text = iter->data; gpointer key = gaim_request_field_list_get_data(field, text); if (gnt_tree_get_choice(GNT_TREE(tree), key)) list = g_list_prepend(list, key); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |