diff -r c6d76b49c206 -r e10c4ea18f7c pidgin/gtklog.c --- a/pidgin/gtklog.c Fri Nov 16 23:30:03 2007 +0000 +++ b/pidgin/gtklog.c Fri Nov 16 23:32:17 2007 +0000 @@ -523,7 +523,7 @@ } } -static PidginLogViewer *display_log_viewer(GtkWindow *parent, struct log_viewer_hash_t *ht, GList *logs, +static PidginLogViewer *display_log_viewer(struct log_viewer_hash_t *ht, GList *logs, const char *title, GtkWidget *icon, int log_size) { PidginLogViewer *lv; @@ -569,7 +569,7 @@ g_hash_table_insert(log_viewers, ht, lv); /* Window ***********/ - lv->window = gtk_dialog_new_with_buttons(title, parent, 0, + lv->window = gtk_dialog_new_with_buttons(title, NULL, 0, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); #ifdef _WIN32 /* Steal the "HELP" response and use it to trigger browsing to the logs folder */ @@ -676,14 +676,11 @@ } void pidgin_log_show(PurpleLogType type, const char *screenname, PurpleAccount *account) { - pidgin_log_show_with_parent(NULL, type, screenname, account); -} - -void pidgin_log_show_with_parent(GtkWindow *parent, PurpleLogType type, const char *screenname, PurpleAccount *account) { struct log_viewer_hash_t *ht; PidginLogViewer *lv = NULL; const char *name = screenname; char *title; + GdkPixbuf *prpl_icon; g_return_if_fail(account != NULL); g_return_if_fail(screenname != NULL); @@ -721,17 +718,18 @@ title = g_strdup_printf(_("Conversations with %s"), name); } - display_log_viewer(parent, ht, purple_log_get_logs(type, screenname, account), - title, gtk_image_new_from_pixbuf(pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_MEDIUM)), + prpl_icon = pidgin_create_prpl_icon(account, PIDGIN_PRPL_ICON_MEDIUM); + + display_log_viewer(ht, purple_log_get_logs(type, screenname, account), + title, gtk_image_new_from_pixbuf(prpl_icon), purple_log_get_total_size(type, screenname, account)); + + if (prpl_icon) + g_object_unref(prpl_icon); g_free(title); } void pidgin_log_show_contact(PurpleContact *contact) { - pidgin_log_show_contact_with_parent(NULL, contact); -} - -void pidgin_log_show_contact_with_parent(GtkWindow *parent, PurpleContact *contact) { struct log_viewer_hash_t *ht = g_new0(struct log_viewer_hash_t, 1); PurpleBlistNode *child; PidginLogViewer *lv = NULL; @@ -785,16 +783,11 @@ } title = g_strdup_printf(_("Conversations with %s"), name); - display_log_viewer(parent, ht, logs, title, image, total_log_size); + display_log_viewer(ht, logs, title, image, total_log_size); g_free(title); } -void pidgin_syslog_show(void) -{ - pidgin_syslog_show_with_parent(NULL); -} - -void pidgin_syslog_show_with_parent(GtkWindow *parent) +void pidgin_syslog_show() { GList *accounts = NULL; GList *logs = NULL; @@ -814,7 +807,7 @@ } logs = g_list_sort(logs, purple_log_compare); - syslog_viewer = display_log_viewer(parent, NULL, logs, _("System Log"), NULL, 0); + syslog_viewer = display_log_viewer(NULL, logs, _("System Log"), NULL, 0); } /****************************************************************************