Blame baresip-2.9.0-gtk-dial-segfault.patch

012ae19
From 7ee4a769aaa1e3899b536b724cc854dd327ae865 Mon Sep 17 00:00:00 2001
012ae19
From: mbattista <m0battista@gmail.com>
012ae19
Date: Mon, 7 Nov 2022 20:20:45 +0100
012ae19
Subject: [PATCH] gtk: fixes issue #2315 and GTK errors on quit (#2316)
012ae19
012ae19
---
012ae19
 modules/gtk/gtk_mod.c | 13 ++++++++-----
012ae19
 1 file changed, 8 insertions(+), 5 deletions(-)
012ae19
012ae19
diff --git a/modules/gtk/gtk_mod.c b/modules/gtk/gtk_mod.c
012ae19
index f3cf82603..c359a40f1 100644
012ae19
--- a/modules/gtk/gtk_mod.c
012ae19
+++ b/modules/gtk/gtk_mod.c
012ae19
@@ -131,9 +131,6 @@ static void menu_on_quit(GtkMenuItem *menuItem, gpointer arg)
012ae19
 	struct gtk_mod *mod = arg;
012ae19
 	(void)menuItem;
012ae19
 
012ae19
-	gtk_widget_destroy(GTK_WIDGET(mod->app_menu));
012ae19
-	g_object_unref(G_OBJECT(mod->status_icon));
012ae19
-
012ae19
 	mqueue_push(mod->mq, MQ_QUIT, 0);
012ae19
 	info("quit from gtk\n");
012ae19
 }
012ae19
@@ -772,12 +769,15 @@ static gboolean status_icon_on_button_press(GtkStatusIcon *status_icon,
012ae19
 int gtk_mod_connect(struct gtk_mod *mod, const char *uri)
012ae19
 {
012ae19
 	char *uric = NULL;
012ae19
+	struct pl url_pl;
012ae19
 	int err = 0;
012ae19
 
012ae19
+	pl_set_str(&url_pl, uri);
012ae19
 	if (!mod)
012ae19
 		return ENOMEM;
012ae19
 
012ae19
-	err = account_uri_complete_strdup(ua_account(mod->ua_cur), &uric, uri);
012ae19
+	err = account_uri_complete_strdup(ua_account(mod->ua_cur),
012ae19
+							&uric, &url_pl);
012ae19
 	if (err)
012ae19
 		goto out;
012ae19
 
012ae19
@@ -793,8 +793,10 @@ int gtk_mod_connect_attended(struct gtk_mod *mod, const char *uri,
012ae19
 {
012ae19
 	struct attended_transfer_store *ats;
012ae19
 	char *uric = NULL;
012ae19
+	struct pl url_pl;
012ae19
 	int err = 0;
012ae19
 
012ae19
+	pl_set_str(&url_pl, uri);
012ae19
 	if (!mod)
012ae19
 		return ENOMEM;
012ae19
 
012ae19
@@ -802,7 +804,8 @@ int gtk_mod_connect_attended(struct gtk_mod *mod, const char *uri,
012ae19
 	if (!ats)
012ae19
 		return ENOMEM;
012ae19
 
012ae19
-	err = account_uri_complete_strdup(ua_account(mod->ua_cur), &uric, uri);
012ae19
+	err = account_uri_complete_strdup(ua_account(mod->ua_cur),
012ae19
+							&uric, &url_pl);
012ae19
 	if (err)
012ae19
 		goto out;
012ae19