Mercurial > pidgin
comparison pidgin/gtkdialogs.c @ 31762:eaa0c30d58ca
Bj«Órn Voigt pointed out that my plugin info dialog doesn't show the e-mail
addresses included in plugins' author strings. This should fix that. I opted
to escape the plugin's name too because I recall seeing a plugin with characters
in its displayed name that would need to be escaped to display in the dialog.
Fixes <4E353E4E.3040707@chemnitz.dialup.cs.tu-berlin.de>.
author | John Bailey <rekkanoryo@rekkanoryo.org> |
---|---|
date | Sat, 06 Aug 2011 04:52:18 +0000 |
parents | 4bdf4e5e6d67 |
children | 9e9efd1a09a2 866333145443 |
comparison
equal
deleted
inserted
replaced
31761:e1f1e7b927c3 | 31762:eaa0c30d58ca |
---|---|
792 { | 792 { |
793 GString *str; | 793 GString *str; |
794 GList *l = NULL; | 794 GList *l = NULL; |
795 PurplePlugin *plugin = NULL; | 795 PurplePlugin *plugin = NULL; |
796 char *title = g_strdup_printf(_("%s Plugin Information"), PIDGIN_NAME); | 796 char *title = g_strdup_printf(_("%s Plugin Information"), PIDGIN_NAME); |
797 const char *pname, *pauthor, *pver, *pwebsite, *pid; | 797 char *pname = NULL, *pauthor = NULL; |
798 const char *pver, *pwebsite, *pid; | |
798 gboolean ploaded, punloadable; | 799 gboolean ploaded, punloadable; |
799 static GtkWidget *plugins_info = NULL; | 800 static GtkWidget *plugins_info = NULL; |
800 | 801 |
801 str = g_string_sized_new(4096); | 802 str = g_string_sized_new(4096); |
802 | 803 |
804 _("Plugin Information")); | 805 _("Plugin Information")); |
805 | 806 |
806 for(l = purple_plugins_get_all(); l; l = l->next) { | 807 for(l = purple_plugins_get_all(); l; l = l->next) { |
807 plugin = (PurplePlugin *)l->data; | 808 plugin = (PurplePlugin *)l->data; |
808 | 809 |
809 pname = purple_plugin_get_name(plugin); | 810 pname = g_markup_escape_text(purple_plugin_get_name(plugin), -1); |
810 pauthor = purple_plugin_get_author(plugin); | 811 pauthor = g_markup_escape_text(purple_plugin_get_author(plugin), -1); |
811 pver = purple_plugin_get_version(plugin); | 812 pver = purple_plugin_get_version(plugin); |
812 pwebsite = purple_plugin_get_homepage(plugin); | 813 pwebsite = purple_plugin_get_homepage(plugin); |
813 pid = purple_plugin_get_id(plugin); | 814 pid = purple_plugin_get_id(plugin); |
814 punloadable = purple_plugin_is_unloadable(plugin); | 815 punloadable = purple_plugin_is_unloadable(plugin); |
815 ploaded = purple_plugin_is_loaded(plugin); | 816 ploaded = purple_plugin_is_loaded(plugin); |
827 | 828 |
828 plugins_info = pidgin_build_help_dialog(title, "plugins_info", str); | 829 plugins_info = pidgin_build_help_dialog(title, "plugins_info", str); |
829 g_signal_connect(G_OBJECT(plugins_info), "destroy", | 830 g_signal_connect(G_OBJECT(plugins_info), "destroy", |
830 G_CALLBACK(gtk_widget_destroyed), &plugins_info); | 831 G_CALLBACK(gtk_widget_destroyed), &plugins_info); |
831 g_free(title); | 832 g_free(title); |
833 g_free(pname); | |
834 g_free(pauthor); | |
832 } | 835 } |
833 | 836 |
834 static void | 837 static void |
835 pidgin_dialogs_im_cb(gpointer data, PurpleRequestFields *fields) | 838 pidgin_dialogs_im_cb(gpointer data, PurpleRequestFields *fields) |
836 { | 839 { |