Correzioni per ooo in windows.
authorAndrea Zagli <a.zagli@comune.scandicci.fi.it>
Tue, 16 Aug 2011 13:21:34 +0000 (15:21 +0200)
committerAndrea Zagli <a.zagli@comune.scandicci.fi.it>
Tue, 16 Aug 2011 13:21:34 +0000 (15:21 +0200)
src/ooo.c

index 58f3f156881505dad5ea8c6553728de976977d82..4846a5afe1f58bc4cbd14fa7d86b1693f5e047c8 100644 (file)
--- a/src/ooo.c
+++ b/src/ooo.c
@@ -230,6 +230,11 @@ solipa_ooo_dispose (GObject *gobject)
        SolipaOOO *solipa_ooo = (SolipaOOO *)gobject;
        SolipaOOOPrivate *priv = SOLIPA_OOO_GET_PRIVATE (solipa_ooo);
 
+       if (Py_IsInitialized ())
+               {
+                       Py_Finalize ();
+               }
+
        /*if (priv->gdaex)
                {
                        g_object_unref (priv->gdaex);
@@ -318,10 +323,11 @@ solipa_ooo_apri_openoffice (SolipaOOO *ooo)
                        /* controllo se OpenOffice è già in esecuzione */
                        in_esecuzione = FALSE;
 
+                       /* TODO parametrizzare il nome del processo da cercare */
 #ifdef G_OS_WIN32
-                       pipa = popen (g_strdup_printf ("tasklist|>nul find /i %s.bin", priv->ooo_soffice), "r");
+                       pipa = popen (g_strdup_printf ("tasklist | findstr /i soffice.bin"), "r");
 #else
-                       pipa = popen (g_strdup_printf ("pidof %s.bin", priv->ooo_soffice), "r");
+                       pipa = popen (g_strdup_printf ("pidof soffice.bin", priv->ooo_soffice), "r");
 #endif
 
                        if (pipa != NULL)
@@ -367,10 +373,11 @@ solipa_ooo_apri_openoffice (SolipaOOO *ooo)
                        if (in_esecuzione)
                                {
                                        /* chiudo le eventuali sessioni di openoffice attive */
+                                       /* TODO parametrizzare il nome del processo da cercare */
 #ifdef G_OS_WIN32
-                                       pipa = popen (g_strdup_printf ("taskkill /T /F /IM %s.bin", priv->ooo_soffice), "r");
+                                       pipa = popen (g_strdup_printf ("taskkill /T /F /IM soffice.bin"), "r");
 #else
-                                       pipa = popen (g_strdup_printf ("killall %s.bin", priv->ooo_soffice), "r");
+                                       pipa = popen (g_strdup_printf ("killall soffice.bin"), "r");
 #endif
                                        pclose (pipa);
                                }