Tue, 30 Aug 2022 02:19:30 -0500
Fix Join a Chat dialog from buddy list
It was previously empty.
Testing Done:
Clicked `Join a Chat`, changed around accounts and saw that the fields updated.
Reviewed at https://reviews.imfreedom.org/r/1697/
| pidgin/gtkblist.c | file | annotate | diff | comparison | revisions |
--- a/pidgin/gtkblist.c Tue Aug 30 02:17:47 2022 -0500 +++ b/pidgin/gtkblist.c Tue Aug 30 02:19:30 2022 -0500 @@ -977,7 +977,7 @@ return FALSE; } -static GtkWidget * +static void make_blist_request_dialog(PidginBlistRequestData *data, PurpleAccount *account, const char *title, const char *window_role, const char *label_text, GCallback callback_func, PurpleFilterAccountFunc filter_func, @@ -985,6 +985,7 @@ { GtkWidget *label; GtkWidget *img; + GtkWidget *content_area; GtkWidget *hbox; GtkWidget *vbox; GtkWindow *blist_window; @@ -993,9 +994,6 @@ data->account = account; - img = gtk_image_new_from_icon_name("dialog-question"); - gtk_image_set_icon_size(GTK_IMAGE(img), GTK_ICON_SIZE_LARGE); - gtkblist = PIDGIN_BUDDY_LIST(purple_blist_get_default()); blist_window = gtkblist ? GTK_WINDOW(gtkblist->window) : NULL; @@ -1004,10 +1002,14 @@ gtk_window_set_transient_for(GTK_WINDOW(data->window), blist_window); gtk_dialog_set_default_response(GTK_DIALOG(data->window), GTK_RESPONSE_OK); gtk_window_set_resizable(GTK_WINDOW(data->window), FALSE); - gtk_box_set_spacing(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(data->window))), - 12); + content_area = gtk_dialog_get_content_area(GTK_DIALOG(data->window)); + gtk_box_set_spacing(GTK_BOX(content_area), 12); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12); + gtk_box_append(GTK_BOX(content_area), hbox); + + img = gtk_image_new_from_icon_name("dialog-question"); + gtk_image_set_icon_size(GTK_IMAGE(img), GTK_ICON_SIZE_LARGE); gtk_box_append(GTK_BOX(hbox), img); gtk_widget_set_halign(img, GTK_ALIGN_START); gtk_widget_set_valign(img, GTK_ALIGN_START); @@ -1050,8 +1052,6 @@ g_signal_connect(G_OBJECT(data->window), "response", response_cb, data); g_object_unref(data->sg); - - return vbox; } static void @@ -1079,6 +1079,10 @@ g_list_free(data->entries); data->entries = NULL; + if(!PURPLE_IS_PROTOCOL_CHAT(protocol)) { + return; + } + list = purple_protocol_chat_info(PURPLE_PROTOCOL_CHAT(protocol), gc); defaults = purple_protocol_chat_info_defaults(PURPLE_PROTOCOL_CHAT(protocol), gc, default_chat_name);