Mercurial > pidgin
comparison src/plugins.c @ 403:d6f02d7f78d8
[gaim-migrate @ 413]
Fixed plugin stuff.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Wed, 14 Jun 2000 01:52:10 +0000 |
parents | 0b5ecac8aa54 |
children | ae7c762775cd |
comparison
equal
deleted
inserted
replaced
402:943248245f32 | 403:d6f02d7f78d8 |
---|---|
60 static GtkWidget *pluglist; | 60 static GtkWidget *pluglist; |
61 static GtkWidget *plugtext; | 61 static GtkWidget *plugtext; |
62 static GtkWidget *plugwindow; | 62 static GtkWidget *plugwindow; |
63 | 63 |
64 static GtkWidget *config; | 64 static GtkWidget *config; |
65 static guint confighandle = 0; | |
65 | 66 |
66 /* --------------- Function Declarations --------------------- */ | 67 /* --------------- Function Declarations --------------------- */ |
67 | 68 |
68 void show_plugins (GtkWidget *, gpointer); | 69 void show_plugins (GtkWidget *, gpointer); |
69 void load_plugin (char *); | 70 void load_plugin (char *); |
421 gchar buffer[2048]; | 422 gchar buffer[2048]; |
422 guint text_len; | 423 guint text_len; |
423 void (*gaim_plugin_config)(); | 424 void (*gaim_plugin_config)(); |
424 char *error; | 425 char *error; |
425 | 426 |
427 if (confighandle) | |
428 gtk_signal_disconnect(GTK_OBJECT(config), confighandle); | |
426 text_len = gtk_text_get_length(GTK_TEXT(plugtext)); | 429 text_len = gtk_text_get_length(GTK_TEXT(plugtext)); |
427 gtk_text_set_point(GTK_TEXT(plugtext), 0); | 430 gtk_text_set_point(GTK_TEXT(plugtext), 0); |
428 gtk_text_forward_delete(GTK_TEXT(plugtext), text_len); | 431 gtk_text_forward_delete(GTK_TEXT(plugtext), text_len); |
429 | 432 |
430 g_snprintf(buffer, sizeof buffer, "%s\n%s", p->name, p->description); | 433 g_snprintf(buffer, sizeof buffer, "%s\n%s", p->name, p->description); |
431 gtk_text_insert(GTK_TEXT(plugtext), NULL, NULL, NULL, buffer, -1); | 434 gtk_text_insert(GTK_TEXT(plugtext), NULL, NULL, NULL, buffer, -1); |
432 | 435 |
433 gaim_plugin_config = dlsym(p->handle, "gaim_plugin_config"); | 436 gaim_plugin_config = dlsym(p->handle, "gaim_plugin_config"); |
434 if ((error = (char *)dlerror()) == NULL) { | 437 if ((error = (char *)dlerror()) == NULL) { |
435 gtk_signal_connect(GTK_OBJECT(config), "clicked", | 438 confighandle = gtk_signal_connect(GTK_OBJECT(config), "clicked", |
436 GTK_SIGNAL_FUNC(gaim_plugin_config), NULL); | 439 GTK_SIGNAL_FUNC(gaim_plugin_config), NULL); |
437 gtk_widget_set_sensitive(config, 1); | 440 gtk_widget_set_sensitive(config, 1); |
438 } else { | 441 } else { |
442 confighandle = 0; | |
439 gtk_widget_set_sensitive(config, 0); | 443 gtk_widget_set_sensitive(config, 0); |
440 } | 444 } |
441 } | 445 } |
442 | 446 |
443 void hide_plugins(GtkWidget *w, gpointer data) { | 447 void hide_plugins(GtkWidget *w, gpointer data) { |