$ git clone https://tcclient.ion.nu/tc_client.git
commit b82f6248a1a9b83411b57036519e3990ce800cdd
Author: Alicia <...>
Date: Mon Oct 17 20:34:44 2016 +0200
tc_client-gtk: bugfix: don't rely on stack allocated variables for GUI callbacks.
diff --git a/ChangeLog b/ChangeLog
index 629efdb..eb066c0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5 @@
+0.41:
+tc_client-gtk: bugfix: don't rely on stack allocated variables for GUI callbacks.
0.40:
Moved the backward compatibility code for avcodec_{send,receive}_{frame,packet} into a separate source file to avoid pulling libavcodec into utilities that don't use it.
Improved the RTMP acknowledgement code: counting the format 3 headers which were previously skipped, setting a more reasonable acknowledgement interval at startup and giving the server some margin before dropping outgoing video packets.
diff --git a/utilities/gtk/gui.c b/utilities/gtk/gui.c
index 27cd624..7c5e632 100644
--- a/utilities/gtk/gui.c
+++ b/utilities/gtk/gui.c
@@ -850,6 +850,8 @@ void handleresizepane(GObject* obj, GParamSpec* spec, void* data)
}
}
+static struct channelopts cc_connect={-1,0};
+static struct channelopts cc_add={-1,1};
void gui_init(char frombuild)
{
if(frombuild)
@@ -950,11 +952,9 @@ void gui_init(char frombuild)
GtkWidget* startwindow=GTK_WIDGET(gtk_builder_get_object(gui, "startwindow"));
// Connect signal for quick connect
item=GTK_WIDGET(gtk_builder_get_object(gui, "start_menu_connect"));
- struct channelopts cc_connect={-1,0};
g_signal_connect(item, "activate", G_CALLBACK(channeldialog), &cc_connect);
// Connect signal for the add option
item=GTK_WIDGET(gtk_builder_get_object(gui, "start_menu_add"));
- struct channelopts cc_add={-1,1};
g_signal_connect(item, "activate", G_CALLBACK(channeldialog), &cc_add);
// Connect signal for tab changing (to un-highlight)
item=GTK_WIDGET(gtk_builder_get_object(gui, "tabs"));