[Gpg4win-commits] r306 - in trunk: . patches patches/sylpheed-claws-2.2.0

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon May 29 03:07:14 CEST 2006


Author: marcus
Date: 2006-05-29 03:07:14 +0200 (Mon, 29 May 2006)
New Revision: 306

Added:
   trunk/patches/sylpheed-claws-2.2.0/
   trunk/patches/sylpheed-claws-2.2.0/01-locale-dir.patch
   trunk/patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch
   trunk/patches/sylpheed-claws-2.2.0/03-std-plugins.patch
   trunk/patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch
Modified:
   trunk/ChangeLog
   trunk/Makefile.am
Log:
2006-05-29  Marcus Brinkmann  <marcus at g10code.de>

	* Makefile.am (DIST): Add
	patches/sylpheed-claws-2.2.0/01-locale-dir.patch,
	patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch,
	patches/sylpheed-claws-2.2.0/03-std-plugins.patch and
	patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch.
	* patches/sylpheed-claws-2.2.0/01-locale-dir.patch,
	patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch,
	patches/sylpheed-claws-2.2.0/03-std-plugins.patch,
	patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch: New file.


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-05-28 23:42:23 UTC (rev 305)
+++ trunk/ChangeLog	2006-05-29 01:07:14 UTC (rev 306)
@@ -1,5 +1,15 @@
 2006-05-29  Marcus Brinkmann  <marcus at g10code.de>
 
+	* Makefile.am (DIST): Add
+	patches/sylpheed-claws-2.2.0/01-locale-dir.patch,
+	patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch,
+	patches/sylpheed-claws-2.2.0/03-std-plugins.patch and
+	patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch.
+	* patches/sylpheed-claws-2.2.0/01-locale-dir.patch,
+	patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch,
+	patches/sylpheed-claws-2.2.0/03-std-plugins.patch,
+	patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch: New file.
+
 	* Makefile.am (EXTRA_DIST): Add
 	patches/glib-2.9.2-wk1/03-gspawn-w32-fixup.patch and
 	patches/glib-2.9.2-wk1/04-gspawn-w32-buffering.patch.

Modified: trunk/Makefile.am
===================================================================
--- trunk/Makefile.am	2006-05-28 23:42:23 UTC (rev 305)
+++ trunk/Makefile.am	2006-05-29 01:07:14 UTC (rev 306)
@@ -33,4 +33,8 @@
         patches/glib-2.9.2-wk1/03-gspawn-w32-fixup.patch \
         patches/glib-2.9.2-wk1/04-gspawn-w32-buffering.patch \
 	patches/sylpheed-claws-1.9.100cvs124/01-fix-plugin-dir.patch \
-	patches/sylpheed-claws-1.9.100cvs124/02-std-plugins.patch
+	patches/sylpheed-claws-1.9.100cvs124/02-std-plugins.patch \
+	patches/sylpheed-claws-2.2.0/01-locale-dir.patch \
+	patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch \
+	patches/sylpheed-claws-2.2.0/03-std-plugins.patch \
+	patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch

Added: trunk/patches/sylpheed-claws-2.2.0/01-locale-dir.patch
===================================================================
--- trunk/patches/sylpheed-claws-2.2.0/01-locale-dir.patch	2006-05-28 23:42:23 UTC (rev 305)
+++ trunk/patches/sylpheed-claws-2.2.0/01-locale-dir.patch	2006-05-29 01:07:14 UTC (rev 306)
@@ -0,0 +1,87 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+2006-01-05  Werner Koch  <wk at g10code.com>
+
+        * src/common/utils.c (w32_get_locale_dir, get_locale_dir): New.
+        (get_plugin_dir) [W32]: Use it here.
+        * src/common/sylpheed.c (sylpheed_init): Use it here.
+
+--- sylpheed-claws-2.0.0/src/common/utils.c	2006-01-13 18:11:38.000000000 +0100
++++ sylpheed-claws-2.0.0/src/common/utils.c	2006-01-05 16:36:51.000000000 +0100
+@@ -1979,16 +1979,51 @@
+   else
+     return -1;
+ }
++
++/* Return a malloced string with the locale dir.  Return NULL on
++   error. */
++static char *w32_get_locale_dir(void)
++{
++        char name[MAX_PATH+35];
++        char *p;
++
++        if ( !GetModuleFileNameA (0, name, sizeof (name)-30) )
++                return NULL;
++        p = strrchr (name, '\\');
++        if (!p)
++        {
++                *name = '\\';
++                p = name;
++        }
++        p++;
++        strcpy (p, "\\share\\locale");
++        return g_strdup (name);
++}
++#endif /* G_OS_WIN32 */
++
++/* Return a static string with the locale dir. */
++const gchar *get_locale_dir(void)
++{
++	static gchar *loc_dir;
++
++#ifdef G_OS_WIN32
++	if (!loc_dir)
++                loc_dir = w32_get_locale_dir();
+ #endif
++	if (!loc_dir)
++		loc_dir = LOCALEDIR;
++        
++	return loc_dir;
++}
++
+ 
+ const gchar *get_home_dir(void)
+ {
+ #ifdef G_OS_WIN32
+ 	static char home_dir[MAX_PATH] = "";
+ 
+-	if (home_dir[0] == '\0')
+-		{
+-			if (w32_shgetfolderpath
++	if (home_dir[0] == '\0') {
++                if (w32_shgetfolderpath
+ 			    (NULL, CSIDL_APPDATA|CSIDL_FLAG_CREATE,
+ 			     NULL, 0, home_dir) < 0)
+ 				strcpy (home_dir, "C:\\Sylpheed");
+@@ -2098,7 +2133,7 @@
+ 	static gchar *plugin_dir = NULL;
+ 
+ 	if (!plugin_dir)
+-                plugin_dir = g_strconcat(sylpheed_get_startup_dir(),
++                plugin_dir = g_strconcat(get_locale_dir(),
+                                          "\\lib\\sylpheed-claws\\plugins\\",
+                                          NULL);
+ 	return plugin_dir;
+--- sylpheed-claws-2.0.0/src/common/sylpheed.c	2006-01-13 18:11:38.000000000 +0100
++++ sylpheed-claws-2.0.0/src/common/sylpheed.c	2006-01-05 16:32:59.000000000 +0100
+@@ -100,7 +100,7 @@
+ 
+ 	setlocale(LC_ALL, "");
+ #ifdef ENABLE_NLS
+-	bindtextdomain(PACKAGE, LOCALEDIR);
++	bindtextdomain(PACKAGE, get_locale_dir () );
+ 	bind_textdomain_codeset (PACKAGE, "UTF-8");
+ 	textdomain(PACKAGE);
+ #endif /*ENABLE_NLS*/


Property changes on: trunk/patches/sylpheed-claws-2.2.0/01-locale-dir.patch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch
===================================================================
--- trunk/patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch	2006-05-28 23:42:23 UTC (rev 305)
+++ trunk/patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch	2006-05-29 01:07:14 UTC (rev 306)
@@ -0,0 +1,84 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+Fix a bug in the W32 plugin directory handling.
+
+2006-01-09  Werner Koch  <wk at g10code.com>
+
+	* src/common/utils.c (w32_get_locale_dir): Removed.
+	(w32_get_module_dir): New.
+	(get_local_dir): Use new function.
+	(get_plugin_dir): Ditto.
+
+
+diff -ru sylpheed-claws.orig/src/common/utils.c sylpheed-claws/src/common/utils.c
+--- sylpheed-claws.orig/src/common/utils.c	2006-01-05 16:36:51.000000000 +0100
++++ sylpheed-claws/src/common/utils.c	2006-01-09 18:59:18.000000000 +0100
+@@ -1980,24 +1980,28 @@
+     return -1;
+ }
+ 
+-/* Return a malloced string with the locale dir.  Return NULL on
+-   error. */
+-static char *w32_get_locale_dir(void)
+-{
+-        char name[MAX_PATH+35];
+-        char *p;
+-
+-        if ( !GetModuleFileNameA (0, name, sizeof (name)-30) )
+-                return NULL;
+-        p = strrchr (name, '\\');
+-        if (!p)
+-        {
+-                *name = '\\';
+-                p = name;
++/* Returns a static string with the directroy from which the module
++   has been loaded.  Returns an empty string on error. */
++static char *w32_get_module_dir(void)
++{
++        static char *moddir;
++
++        if (!moddir) {
++                char name[MAX_PATH+10];
++                char *p;
++
++                if ( !GetModuleFileNameA (0, name, sizeof (name)-10) )
++                        *name = 0;
++                else {
++                        p = strrchr (name, '\\');
++                        if (p)
++                                *p = 0;
++                        else
++                                *name = 0;
++                }
++                moddir = g_strdup (name);
+         }
+-        p++;
+-        strcpy (p, "\\share\\locale");
+-        return g_strdup (name);
++        return moddir;
+ }
+ #endif /* G_OS_WIN32 */
+ 
+@@ -2008,7 +2012,8 @@
+ 
+ #ifdef G_OS_WIN32
+ 	if (!loc_dir)
+-                loc_dir = w32_get_locale_dir();
++		loc_dir = g_strconcat(w32_get_module_dir(), G_DIR_SEPARATOR_S,
++                                      "\\share\\locale", NULL);
+ #endif
+ 	if (!loc_dir)
+ 		loc_dir = LOCALEDIR;
+@@ -2133,7 +2138,7 @@
+ 	static gchar *plugin_dir = NULL;
+ 
+ 	if (!plugin_dir)
+-                plugin_dir = g_strconcat(get_locale_dir(),
++                plugin_dir = g_strconcat(w32_get_module_dir(),
+                                          "\\lib\\sylpheed-claws\\plugins\\",
+                                          NULL);
+ 	return plugin_dir;
+
+


Property changes on: trunk/patches/sylpheed-claws-2.2.0/02-fix-plugin-dir.patch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/patches/sylpheed-claws-2.2.0/03-std-plugins.patch
===================================================================
--- trunk/patches/sylpheed-claws-2.2.0/03-std-plugins.patch	2006-05-28 23:42:23 UTC (rev 305)
+++ trunk/patches/sylpheed-claws-2.2.0/03-std-plugins.patch	2006-05-29 01:07:14 UTC (rev 306)
@@ -0,0 +1,110 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+Force loading of the PGP plugins.
+
+
+2006-01-13  Werner Koch  <wk at g10code.com>
+
+	* src/common/plugin.c (plugin_load_standard_plugins): New.
+	(plugin_load_deps): Made more robust.
+	* src/main.c (main): Call it here.
+
+diff -rup sylpheed-claws-2.2.0/src/common/plugin.c sylpheed-claws-2.2.0-new/src/common/plugin.c
+--- sylpheed-claws-2.2.0/src/common/plugin.c	2006-05-08 09:09:55.000000000 +0200
++++ sylpheed-claws-2.2.0-new/src/common/plugin.c	2006-05-29 01:24:48.000000000 +0200
+@@ -64,6 +64,11 @@ static gint list_find_by_string(gconstpo
+ 
+ static gint list_find_by_plugin_filename(const Plugin *plugin, const gchar *filename)
+ {
++        /* FIXME: There is a problem in case of symlinks or when a
++           user tries to load a plugin with the same name from a
++           different directory.  I think it would be better to compare
++           only the basename of the filename here (case-insensitive on
++           W32). */
+         g_return_val_if_fail(plugin, 1);
+         g_return_val_if_fail(plugin->filename, 1);
+         g_return_val_if_fail(filename, 1);
+@@ -146,9 +151,11 @@ static gint plugin_load_deps(const gchar
+ 	gchar *deps_file = NULL;
+ 	FILE *fp = NULL;
+ 	gchar buf[BUFFSIZE];
++        gchar *p;
+ 
+         tmp = g_strdup(filename);
+-	*strrchr(tmp, '.') = '\0';
++	if( (p = strrchr(tmp, '.')) )
++          *p = '\0';
+ 	deps_file = g_strconcat(tmp, ".deps", NULL);
+ 	g_free(tmp);
+ 	
+@@ -390,6 +397,43 @@ void plugin_unload_all(const gchar *type
+ 	}
+ }
+ 
++
++/* Load those plugins we always want to use.  No error output; just
++ * try. */
++void plugin_load_standard_plugins (void)
++{
++        static const char *names[] = {
++                "pgpmime",
++                "pgpinline",
++                NULL
++        };
++        int i;
++        gchar *error, *filename;
++        
++        for (i=0; names[i]; i++) {
++                /* Simple hack to check whether the plugin has already
++                 * been loaded but checking only for the basename. */
++                GSList *cur = plugins;
++                for(; cur; cur = cur->next) {
++                        Plugin *p = (Plugin *)cur->data;
++                        if (strstr(p->filename, names[i]))
++                                break;
++                }
++                if (!cur) { /* Not yet loaded. */
++                        /* FIXME: get_plugin_dir () returns with a trailing
++                         * (back)slash; this should be fixed so that we can use
++                         * g_module_build_path here. */
++                        filename = g_strconcat (get_plugin_dir(),
++                                                names[i], NULL);
++                        error = NULL;
++                        plugin_load(filename, &error);
++                        g_free (error);
++                        g_free(filename);
++                }
++        }
++}
++
++
+ GSList *plugin_get_list(void)
+ {
+ 	return g_slist_copy(plugins);
+diff -rup sylpheed-claws-2.2.0/src/common/plugin.h sylpheed-claws-2.2.0-new/src/common/plugin.h
+--- sylpheed-claws-2.2.0/src/common/plugin.h	2006-05-08 09:09:55.000000000 +0200
++++ sylpheed-claws-2.2.0-new/src/common/plugin.h	2006-05-29 01:24:48.000000000 +0200
+@@ -38,6 +38,7 @@ void plugin_unload		(Plugin		 *plugin);
+ void plugin_load_all		(const gchar	 *type);
+ void plugin_unload_all		(const gchar	 *type);
+ void plugin_save_list		(void);
++void plugin_load_standard_plugins (void);
+ 
+ GSList *plugin_get_list		(void);
+ GSList *plugin_get_unloaded_list(void);
+diff -rup sylpheed-claws-2.2.0/src/main.c sylpheed-claws-2.2.0-new/src/main.c
+--- sylpheed-claws-2.2.0/src/main.c	2006-05-08 09:09:55.000000000 +0200
++++ sylpheed-claws-2.2.0-new/src/main.c	2006-05-29 01:25:35.000000000 +0200
+@@ -543,7 +543,9 @@ int main(int argc, char *argv[])
+ 				     "Check the Plugins configuration "
+ 				     "for more information."));
+ 	}
+-	
++
++ 	plugin_load_standard_plugins ();
++       
+ 	if (!folder_have_mailbox()) {
+ 		alertpanel_error(_("Sylpheed-Claws has detected a configured "
+ 				   "mailbox, but could not load it. It is "


Property changes on: trunk/patches/sylpheed-claws-2.2.0/03-std-plugins.patch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch
===================================================================
--- trunk/patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch	2006-05-28 23:42:23 UTC (rev 305)
+++ trunk/patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch	2006-05-29 01:07:14 UTC (rev 306)
@@ -0,0 +1,19 @@
+#! /bin/sh
+patch -p1 -f $* < $0
+exit $?
+
+2006-05-29  Marcus Brinkmann  <marcus at g10code.com>
+
+	* src/plugins/pgpcore/sylpheed.def: Add alertpanel_error.
+
+diff -rup sylpheed-claws-2.2.0/src/plugins/pgpcore/sylpheed.def sylpheed-claws-2.2.0-new/src/plugins/pgpcore/sylpheed.def
+--- sylpheed-claws-2.2.0/src/plugins/pgpcore/sylpheed.def	2006-05-08 09:09:56.000000000 +0200
++++ sylpheed-claws-2.2.0-new/src/plugins/pgpcore/sylpheed.def	2006-05-29 02:30:32.000000000 +0200
+@@ -1,6 +1,7 @@
+ LIBRARY SYLPHEED-CLAWS.EXE
+ EXPORTS
+ alertpanel
++alertpanel_error
+ alertpanel_full
+ copy_file_part
+ debug_print_real


Property changes on: trunk/patches/sylpheed-claws-2.2.0/04-pgpcore-def.patch
___________________________________________________________________
Name: svn:executable
   + *



More information about the Gpg4win-commits mailing list