$ git clone https://tcclient.ion.nu/tc_client.git
commit ac97ab85c7a870f3e3f08ea247666f1eac90db9c
Author: Alicia <...>
Date: Thu Dec 8 16:04:31 2016 +0100
tc_client-gtk: disable the input field and the broadcast menu when in "lurker" mode.
diff --git a/ChangeLog b/ChangeLog
index 4fca712..056db41 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,7 @@ tc_client-gtk: build fixes for windows.
tc_client-gtk: tweaks for windows compatibility.
tc_client-gtk: bugfix: hiding your own camera caused a segfault.
tc_client-gtk: added an icon to mark moderators in the user list.
+tc_client-gtk: disable the input field and the broadcast menu when in "lurker" mode.
dist/appimage.sh: fix audio in appimages by building ffmpeg with support for nellymoser and speex, and depending on the system's libao and libpulse instead of including it in the appimage.
libcamera(escapi): handle failure to open camera more gracefully.
irchack: pass along "<user> cammed up" notifications.
diff --git a/utilities/gtk/camviewer.c b/utilities/gtk/camviewer.c
index b9bdcf7..b17d68f 100644
--- a/utilities/gtk/camviewer.c
+++ b/utilities/gtk/camviewer.c
@@ -568,6 +568,12 @@ gboolean handledata(GIOChannel* iochannel, GIOCondition condition, gpointer x)
printchat(buf, 0, 0, 0);
return 1;
}
+ if(!strncmp(buf, "Captcha not completed,", 22))
+ {
+ printchat(buf, 0, 0, 0);
+ gui_disableinputs();
+ return 1;
+ }
if(!strcmp(buf, "Server disconnected"))
{
printchat(buf, 0, 0, 0);
diff --git a/utilities/gtk/gui.c b/utilities/gtk/gui.c
index ad04b36..c4b12d0 100644
--- a/utilities/gtk/gui.c
+++ b/utilities/gtk/gui.c
@@ -1100,3 +1100,9 @@ void gui_init(char frombuild)
}
gtk_widget_show_all(startwindow);
}
+
+void gui_disableinputs(void)
+{
+ gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(gui, "inputfield")), 0);
+ gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(gui, "menuitem_broadcast")), 0);
+}
diff --git a/utilities/gtk/gui.h b/utilities/gtk/gui.h
index e75ed65..aab6905 100644
--- a/utilities/gtk/gui.h
+++ b/utilities/gtk/gui.h
@@ -69,6 +69,7 @@ extern void stopbroadcasting(GtkMenuItem* x, void* y);
extern gboolean handleresize(GtkWidget* widget, GdkEventConfigure* event, void* data);
extern void handleresizepane(GObject* obj, GParamSpec* spec, void* data);
extern void gui_init(char frombuild);
+extern void gui_disableinputs(void);
extern GtkBuilder* gui;
extern GdkCursor* gui_cursor_text;