gimp r24814 - in trunk: . app/core



Author: martinn
Date: Tue Feb  5 19:15:13 2008
New Revision: 24814
URL: http://svn.gnome.org/viewvc/gimp?rev=24814&view=rev

Log:
2008-02-05  Martin Nordholts  <martinn svn gnome org>

	Applied patch from Olof Frahm which makes loading of data
	files (brushes and so on) happen recursively (bug #514160).

	* app/core/gimpdatafactory.c
	(gimp_data_factory_data_load): Recursively search sub directories
	for data files using the new helper function
	(gimp_data_factory_load_data_recursive)


Modified:
   trunk/ChangeLog
   trunk/app/core/gimpdatafactory.c

Modified: trunk/app/core/gimpdatafactory.c
==============================================================================
--- trunk/app/core/gimpdatafactory.c	(original)
+++ trunk/app/core/gimpdatafactory.c	Tue Feb  5 19:15:13 2008
@@ -57,6 +57,8 @@
 static void    gimp_data_factory_load_data  (const GimpDatafileData *file_data,
                                              gpointer                data);
 
+static void    gimp_data_factory_load_data_recursive (const GimpDatafileData *file_data,
+                                                      gpointer                data);
 
 G_DEFINE_TYPE (GimpDataFactory, gimp_data_factory, GIMP_TYPE_OBJECT)
 
@@ -311,6 +313,10 @@
       gimp_datafiles_read_directories (path, G_FILE_TEST_EXISTS,
                                        gimp_data_factory_load_data, &context);
 
+      gimp_datafiles_read_directories (path, G_FILE_TEST_IS_DIR,
+                                       gimp_data_factory_load_data_recursive,
+                                       &context);
+
       if (writable_path)
         {
           gimp_path_free (writable_list);
@@ -646,6 +652,20 @@
 }
 
 static void
+gimp_data_factory_load_data_recursive (const GimpDatafileData *file_data,
+                                       gpointer                data)
+{
+  GimpDataLoadContext *context = data;
+
+  gimp_datafiles_read_directories (file_data->filename, G_FILE_TEST_EXISTS,
+                                   gimp_data_factory_load_data, context);
+
+  gimp_datafiles_read_directories (file_data->filename, G_FILE_TEST_IS_DIR,
+                                   gimp_data_factory_load_data_recursive,
+                                   context);
+}
+
+static void
 gimp_data_factory_load_data (const GimpDatafileData *file_data,
                              gpointer                data)
 {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]