# HG changeset patch # User Richard Laager # Date 1135760501 0 # Node ID cdbef02c91e914f19a600dd86df33da5981d2e5a # Parent 4669a779341cbde9665483d0c62137370513b0bb [gaim-migrate @ 15008] SF Patch #1390129 from Sadrul "I have never used this plugin. But I have been noticing a warning about this iconaway plugin in the debug-window for a long time. This patch at least gets rid of that. This patch may also make it work as was intended. But I am not sure." I don't use this plugin either. This looks correct to me. Someone that really uses it should verify. committer: Tailor Script diff -r 4669a779341c -r cdbef02c91e9 plugins/iconaway.c --- a/plugins/iconaway.c Tue Dec 27 20:42:24 2005 +0000 +++ b/plugins/iconaway.c Wed Dec 28 09:01:41 2005 +0000 @@ -30,47 +30,28 @@ #define ICONAWAY_PLUGIN_ID "gtk-iconaway" -#ifdef _WIN32 -__declspec(dllimport) GtkWidget *imaway; -#else -G_MODULE_IMPORT GtkWidget *imaway; -#endif - -#ifdef USE_APPLET -extern void applet_destroy_buddy(); -#endif +static void +iconify_windows(GaimAccount *account, GaimStatus *old, GaimStatus *newstatus) +{ + GaimPresence *presence; + GaimGtkWindow *win; + GList *windows; -static void -iconify_windows(GaimAccount *account, char *state, char *message, void *data) -{ -#if 0 /* XXX TODO STATUS */ - GaimConvWindow *win; - GList *windows; - GaimConnection *gc; + presence = gaim_status_get_presence(newstatus); - gc = gaim_account_get_connection(account); - - if (!imaway || !gc->away) + if (gaim_presence_is_available(presence)) return; - gtk_window_iconify(GTK_WINDOW(imaway)); gaim_blist_set_visible(FALSE); - for (windows = gaim_get_windows(); + for (windows = gaim_gtk_conv_windows_get_list(); windows != NULL; windows = windows->next) { - win = (GaimConvWindow *)windows->data; - - if (GAIM_IS_GTK_WINDOW(win)) { - GaimGtkWindow *gtkwin; + win = (GaimGtkWindow *)windows->data; - gtkwin = GAIM_GTK_WINDOW(win); - - gtk_window_iconify(GTK_WINDOW(gtkwin->window)); - } + gtk_window_iconify(GTK_WINDOW(win->window)); } -#endif /* XXX TODO STATUS */ } /* @@ -80,7 +61,7 @@ static gboolean plugin_load(GaimPlugin *plugin) { - gaim_signal_connect(gaim_accounts_get_handle(), "account-away", + gaim_signal_connect(gaim_accounts_get_handle(), "account-status-changed", plugin, GAIM_CALLBACK(iconify_windows), NULL); return TRUE;