Deallocating plug-ins upon exit

This commit is contained in:
Pierre Pronchery 2011-10-23 12:20:23 +00:00
parent 3c0c63c9cd
commit ce7e7ec2bb
2 changed files with 61 additions and 39 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Mailer 0.0.0\n" "Project-Id-Version: Mailer 0.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-10-23 13:06+0200\n" "POT-Creation-Date: 2011-10-23 14:18+0200\n"
"PO-Revision-Date: 2010-10-02 23:25+0200\n" "PO-Revision-Date: 2010-10-02 23:25+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n" "Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: French\n" "Language-Team: French\n"
@ -161,8 +161,8 @@ msgstr "Sujet: "
msgid "Attach file..." msgid "Attach file..."
msgstr "Joindre un fichier..." msgstr "Joindre un fichier..."
#: ../src/compose.c:674 ../src/compose.c:678 ../src/mailer.c:908 #: ../src/compose.c:674 ../src/compose.c:678 ../src/mailer.c:930
#: ../src/mailer.c:912 #: ../src/mailer.c:934
msgid "Error" msgid "Error"
msgstr "Erreur" msgstr "Erreur"
@ -346,7 +346,7 @@ msgstr " À: "
msgid " Date: " msgid " Date: "
msgstr " Date: " msgstr " Date: "
#: ../src/mailer.c:1040 #: ../src/mailer.c:1062
msgid "" msgid ""
"The messages selected will be deleted.\n" "The messages selected will be deleted.\n"
"Continue?" "Continue?"
@ -354,144 +354,144 @@ msgstr ""
"Les messages sélectionnés vont être effacés.\n" "Les messages sélectionnés vont être effacés.\n"
"Continuer?" "Continuer?"
#: ../src/mailer.c:1183 #: ../src/mailer.c:1205
msgid "Mailer - View source" msgid "Mailer - View source"
msgstr "Mailer - Source" msgstr "Mailer - Source"
#: ../src/mailer.c:1258 #: ../src/mailer.c:1280
msgid "Re: " msgid "Re: "
msgstr "Re: " msgstr "Re: "
#: ../src/mailer.c:1450 #: ../src/mailer.c:1472
msgid "Mailer preferences" msgid "Mailer preferences"
msgstr "Préférences de Mailer" msgstr "Préférences de Mailer"
#: ../src/mailer.c:1521 ../src/mailer.c:1604 #: ../src/mailer.c:1543 ../src/mailer.c:1626
msgid "Enabled" msgid "Enabled"
msgstr "Actif" msgstr "Actif"
#: ../src/mailer.c:1525 ../src/mailer.c:1610 #: ../src/mailer.c:1547 ../src/mailer.c:1632
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: ../src/mailer.c:1529 #: ../src/mailer.c:1551
msgid "Type" msgid "Type"
msgstr "Type" msgstr "Type"
#: ../src/mailer.c:1553 #: ../src/mailer.c:1575
msgid "Accounts" msgid "Accounts"
msgstr "Comptes" msgstr "Comptes"
#: ../src/mailer.c:1568 #: ../src/mailer.c:1590
msgid "Messages font:" msgid "Messages font:"
msgstr "Police des messages:" msgstr "Police des messages:"
#: ../src/mailer.c:1578 #: ../src/mailer.c:1600
msgid "Display" msgid "Display"
msgstr "Affichage" msgstr "Affichage"
#: ../src/mailer.c:1621 #: ../src/mailer.c:1643
msgid "Plug-ins" msgid "Plug-ins"
msgstr "Greffons" msgstr "Greffons"
#: ../src/mailer.c:1744 #: ../src/mailer.c:1766
msgid "No account plug-in available" msgid "No account plug-in available"
msgstr "Aucun greffon de compte disponible" msgstr "Aucun greffon de compte disponible"
#: ../src/mailer.c:1899 ../src/mailer.c:2187 #: ../src/mailer.c:1921 ../src/mailer.c:2209
msgid "Account name" msgid "Account name"
msgstr "Nom du compte" msgstr "Nom du compte"
#: ../src/mailer.c:1906 #: ../src/mailer.c:1928
msgid "Your name" msgid "Your name"
msgstr "Votre nom" msgstr "Votre nom"
#: ../src/mailer.c:1913 #: ../src/mailer.c:1935
msgid "e-mail address" msgid "e-mail address"
msgstr "Adresse e-mail" msgstr "Adresse e-mail"
#: ../src/mailer.c:1920 #: ../src/mailer.c:1942
msgid "Type of account" msgid "Type of account"
msgstr "Type de compte" msgstr "Type de compte"
#: ../src/mailer.c:2076 #: ../src/mailer.c:2098
msgid "Choose file" msgid "Choose file"
msgstr "Choisir un fichier" msgstr "Choisir un fichier"
#: ../src/mailer.c:2258 #: ../src/mailer.c:2280
msgid "hidden" msgid "hidden"
msgstr "masqué" msgstr "masqué"
#: ../src/mailer.c:2292 #: ../src/mailer.c:2314
msgid "Yes" msgid "Yes"
msgstr "Oui" msgstr "Oui"
#: ../src/mailer.c:2292 #: ../src/mailer.c:2314
msgid "No" msgid "No"
msgstr "Non" msgstr "Non"
#: ../src/mailer.c:2320 #: ../src/mailer.c:2342
msgid "Account type " msgid "Account type "
msgstr "Type de compte " msgstr "Type de compte "
#: ../src/mailer.c:2321 #: ../src/mailer.c:2343
msgid " active\n" msgid " active\n"
msgstr " actif\n" msgstr " actif\n"
#: ../src/mailer.c:2383 #: ../src/mailer.c:2405
msgid "Edit account: " msgid "Edit account: "
msgstr "Modification du compte: " msgstr "Modification du compte: "
#: ../src/mailer.c:2405 #: ../src/mailer.c:2427
msgid "Account name:" msgid "Account name:"
msgstr "Nom du compte :" msgstr "Nom du compte :"
#: ../src/mailer.c:2414 #: ../src/mailer.c:2436
msgid "Identity:" msgid "Identity:"
msgstr "Identité :" msgstr "Identité :"
#: ../src/mailer.c:2419 #: ../src/mailer.c:2441
msgid "Name:" msgid "Name:"
msgstr "Nom :" msgstr "Nom :"
#: ../src/mailer.c:2430 #: ../src/mailer.c:2452
msgid "Address:" msgid "Address:"
msgstr "Adresse :" msgstr "Adresse :"
#: ../src/mailer.c:2441 #: ../src/mailer.c:2463
msgid "Organization:" msgid "Organization:"
msgstr "Organisation :" msgstr "Organisation :"
#: ../src/mailer.c:2454 #: ../src/mailer.c:2476
msgid "Account" msgid "Account"
msgstr "Compte" msgstr "Compte"
#: ../src/mailer.c:2459 #: ../src/mailer.c:2481
msgid "Settings" msgid "Settings"
msgstr "Paramètres" msgstr "Paramètres"
#: ../src/mailer.c:2513 #: ../src/mailer.c:2535
msgid "An error occured while saving preferences" msgid "An error occured while saving preferences"
msgstr "Une erreur est survenue pendant la sauvegarde des préférences" msgstr "Une erreur est survenue pendant la sauvegarde des préférences"
#: ../src/mailer.c:2725 ../src/mailer.c:2729 #: ../src/mailer.c:2747 ../src/mailer.c:2751
msgid "Question" msgid "Question"
msgstr "Question" msgstr "Question"
#: ../src/mailer.c:2779 #: ../src/mailer.c:2801
#, c-format #, c-format
msgid "%s/%s: %d %s" msgid "%s/%s: %d %s"
msgstr "%s/%s: %d %s" msgstr "%s/%s: %d %s"
#: ../src/mailer.c:2782 #: ../src/mailer.c:2804
msgid "messages" msgid "messages"
msgstr "messages" msgstr "messages"
#: ../src/mailer.c:2782 #: ../src/mailer.c:2804
msgid "message" msgid "message"
msgstr "message" msgstr "message"
#: ../src/mailer.c:2785 #: ../src/mailer.c:2807
msgid "Ready" msgid "Ready"
msgstr "Prêt" msgstr "Prêt"

View File

@ -849,10 +849,13 @@ static void _idle_plugins_load(Mailer * mailer)
/* mailer_delete */ /* mailer_delete */
static void _delete_plugins(Mailer * mailer);
void mailer_delete(Mailer * mailer) void mailer_delete(Mailer * mailer)
{ {
unsigned int i; unsigned int i;
_delete_plugins(mailer);
if(mailer->source != 0) if(mailer->source != 0)
g_source_remove(mailer->source); g_source_remove(mailer->source);
for(i = 0; i < mailer->available_cnt; i++) for(i = 0; i < mailer->available_cnt; i++)
@ -865,6 +868,25 @@ void mailer_delete(Mailer * mailer)
object_delete(mailer); object_delete(mailer);
} }
static void _delete_plugins(Mailer * mailer)
{
GtkTreeModel * model = GTK_TREE_MODEL(mailer->pl_store);
GtkTreeIter iter;
gboolean valid;
MailerPlugin * mp;
Plugin * plugin;
for(valid = gtk_tree_model_get_iter_first(model, &iter); valid == TRUE;
valid = gtk_tree_model_iter_next(model, &iter))
{
gtk_tree_model_get(model, &iter, MPC_PLUGIN, &plugin,
MPC_MAILERPLUGIN, &mp, -1);
if(mp->destroy != NULL)
mp->destroy(mp);
plugin_delete(plugin);
}
}
/* accessors */ /* accessors */
/* mailer_get_config */ /* mailer_get_config */