--- a/libpurple/protocols/silc/silc.c Sun Feb 14 20:21:16 2021 -0600
+++ b/libpurple/protocols/silc/silc.c Thu Feb 18 07:55:09 2021 -0600
@@ -693,35 +693,47 @@
+silcpurple_get_quit_message(void) + const char *ui_name = NULL, *ui_website = NULL; + ui_info = purple_core_get_ui_info(); + if (PURPLE_IS_UI_INFO(ui_info)) { + ui_name = purple_ui_info_get_name(ui_info); + ui_website = purple_ui_info_get_website(ui_info); + if (!ui_name || !ui_website) { + ui_website = PURPLE_WEBSITE; + quit_msg = g_strdup_printf(_("Download %s: %s"), ui_name, ui_website); + if (PURPLE_IS_UI_INFO(ui_info)) { + g_object_unref(G_OBJECT(ui_info)); silcpurple_close(PurpleConnection *gc)
SilcPurple sg = purple_connection_get_protocol_data(gc);
- const char *ui_name = NULL, *ui_website = NULL;
g_return_if_fail(sg != NULL);
- ui_info = purple_core_get_ui_info();
- ui_name = g_hash_table_lookup(ui_info, "name");
- ui_website = g_hash_table_lookup(ui_info, "website");
- if(!ui_name || !ui_website) {
- ui_website = PURPLE_WEBSITE;
- quit_msg = g_strdup_printf(_("Download %s: %s"),
+ quit_msg = silcpurple_get_quit_message(); silc_client_command_call(sg->client, sg->conn, NULL,
+ "QUIT", quit_msg, NULL); @@ -1888,8 +1900,6 @@
- const char *ui_name = NULL, *ui_website = NULL;
gc = purple_conversation_get_connection(conv);
@@ -1902,22 +1912,14 @@
return PURPLE_CMD_RET_FAILED;
- ui_info = purple_core_get_ui_info();
- ui_name = g_hash_table_lookup(ui_info, "name");
- ui_website = g_hash_table_lookup(ui_info, "website");
+ quit_msg = g_strdup(args[0]); + quit_msg = silcpurple_get_quit_message(); - if(!ui_name || !ui_website) {
- ui_website = PURPLE_WEBSITE;
- quit_msg = g_strdup_printf(_("Download %s: %s"),
silc_client_command_call(sg->client, sg->conn, NULL,
- "QUIT", (args && args[0]) ? args[0] : quit_msg, NULL);
+ "QUIT", quit_msg, NULL); return PURPLE_CMD_RET_OK;
@@ -2137,10 +2139,7 @@
+ { NULL, NULL, NULL, NULL } --- a/libpurple/protocols/silc/wb.c Sun Feb 14 20:21:16 2021 -0600
+++ b/libpurple/protocols/silc/wb.c Thu Feb 18 07:55:09 2021 -0600
@@ -437,7 +437,7 @@
void silcpurple_wb_get_dimensions(const PurpleWhiteboard *wb, int *width, int *height)
- SilcPurpleWb wbs = purple_whiteboard_get_protocol_data(wb);
+ SilcPurpleWb wbs = purple_whiteboard_get_protocol_data((PurpleWhiteboard *)wb); @@ -456,7 +456,7 @@
void silcpurple_wb_get_brush(const PurpleWhiteboard *wb, int *size, int *color)
- SilcPurpleWb wbs = purple_whiteboard_get_protocol_data(wb);
+ SilcPurpleWb wbs = purple_whiteboard_get_protocol_data((PurpleWhiteboard *)wb); *color = wbs->brush_color;