changeset 99:f810fc7d423f

[gaim-migrate @ 109] Autorecon reconnects you on signoff (kick). Made other small changes. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sun, 09 Apr 2000 20:29:25 +0000
parents c2d22261e281
children da0883dfa7db
files plugins/Makefile plugins/autorecon.c plugins/gaiminc.c
diffstat 3 files changed, 37 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/plugins/Makefile	Sun Apr 09 20:16:40 2000 +0000
+++ b/plugins/Makefile	Sun Apr 09 20:29:25 2000 +0000
@@ -2,7 +2,7 @@
 CFLAGS = -Wall `gnome-config --cflags gtk` -I../src
 LDFLAGS = -ggdb `gnome-config --libs gtk` -shared
 
-all: simple.so gaiminc.so file_control.so
+all: simple.so gaiminc.so autorecon.so
 
 .SUFFIXES: .c .so
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/autorecon.c	Sun Apr 09 20:29:25 2000 +0000
@@ -0,0 +1,31 @@
+#define GAIM_PLUGINS
+#include "gaim.h"
+#include <gtk/gtk.h>
+
+static int recon;
+
+char *name() {
+	return "Auto Reconnect";
+}
+
+char *description() {
+	return "When AOL kicks you off, this auto-reconnects you.";
+}
+
+extern void dologin(GtkWidget *, GtkWidget *);
+
+void do_signon() {
+	dologin(NULL, NULL);
+	if (query_state() != STATE_OFFLINE) {
+		gtk_timeout_remove(recon);
+		return;
+	}
+}
+
+void reconnect(void *m) {
+	recon = gtk_timeout_add(2000, (GtkFunction)do_signon, NULL);
+}
+
+void gaim_plugin_init(void *handle) {
+	gaim_signal_connect(handle, event_signoff, reconnect, NULL);
+}
--- a/plugins/gaiminc.c	Sun Apr 09 20:16:40 2000 +0000
+++ b/plugins/gaiminc.c	Sun Apr 09 20:29:25 2000 +0000
@@ -17,6 +17,11 @@
 	 * the text of the message (HTML and all) will be reversed. */
 	int i, l;
 	char tmp;
+
+	/* this check is necessary in case bad plugins do bad things */
+	if (message == NULL || *message == NULL)
+		return;
+
 	l = strlen(*message);
 
 	if (!strcmp(*who, current_user->username))