[gimp/gtk3-port: 440/460] app: plug-ins must now be installed as subdirectories.



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]