Fix Join a Chat dialog from buddy list

Tue, 30 Aug 2022 02:19:30 -0500

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Tue, 30 Aug 2022 02:19:30 -0500
changeset 41632
7e3b0228a17d
parent 41631
4b178f1f0e1a
child 41633
162a1680c824

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);

mercurial