[gimp/gtk3-port: 440/460] app: plug-ins must now be installed as subdirectories.
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gtk3-port: 440/460] app: plug-ins must now be installed as subdirectories.
- Date: Sun, 20 May 2018 15:48:35 +0000 (UTC)
commit f052721f0d97282ea1479a100c3f8c3e52549ab8
Author: Jehan <jehan girinstud io>
Date: Sun May 13 01:22:34 2018 +0200
app: plug-ins must now be installed as subdirectories.
This will in particular fix the whole DLL hell problem since various
plug-ins are now asked to install all their mess (and in particular
their embedded DLLs on Windows) inside their subfolder, hence not
disturbing the correct functionning of other plug-ins installed side by
side.
app/plug-in/gimppluginmanager-restore.c | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
---
diff --git a/app/plug-in/gimppluginmanager-restore.c b/app/plug-in/gimppluginmanager-restore.c
index 1263713..f856486 100644
--- a/app/plug-in/gimppluginmanager-restore.c
+++ b/app/plug-in/gimppluginmanager-restore.c
@@ -274,18 +274,9 @@ gimp_plug_in_manager_search_directory (GimpPlugInManager *manager,
child = g_file_enumerator_get_child (enumerator, info);
- if (gimp_file_is_executable (child))
- {
- guint64 mtime;
-
- mtime = g_file_info_get_attribute_uint64 (info,
- G_FILE_ATTRIBUTE_TIME_MODIFIED);
-
- gimp_plug_in_manager_add_from_file (manager, child, mtime);
- }
- else if (g_file_query_file_type (child,
- G_FILE_QUERY_INFO_NONE,
- NULL) == G_FILE_TYPE_DIRECTORY)
+ if (g_file_query_file_type (child,
+ G_FILE_QUERY_INFO_NONE,
+ NULL) == G_FILE_TYPE_DIRECTORY)
{
/* Search in subdirectory the first executable file with
* the same name as the directory (except extension).
@@ -348,6 +339,17 @@ gimp_plug_in_manager_search_directory (GimpPlugInManager *manager,
g_object_unref (enumerator2);
}
}
+ else if (gimp_file_is_executable (child))
+ {
+ g_printerr (_("Skipping potential plug-in '%s': "
+ "plug-ins must be installed in subdirectories.\n"),
+ g_file_peek_path (child));
+ }
+ else
+ {
+ g_printerr (_("Skipping unknown file '%s' in plug-in directory.\n"),
+ g_file_peek_path (child));
+ }
g_object_unref (child);
g_object_unref (info);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]