[gthumb] do not load extensions with a different api version



commit 4d9fdfda1faed705d65451c9b0d031a434a7cbf6
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Sat Apr 21 12:11:22 2012 +0200

    do not load extensions with a different api version

 extensions/23hq/23hq.extension.in.in               |    1 +
 extensions/bookmarks/bookmarks.extension.in.in     |    1 +
 extensions/burn_disc/burn_disc.extension.in.in     |    5 +++--
 extensions/cairo_io/cairo_io.extension.in.in       |    1 +
 extensions/catalogs/catalogs.extension.in.in       |    1 +
 extensions/change_date/change_date.extension.in.in |    1 +
 extensions/comments/comments.extension.in.in       |    1 +
 .../contact_sheet/contact_sheet.extension.in.in    |    1 +
 .../convert_format/convert_format.extension.in.in  |    1 +
 .../desktop_background.extension.in.in             |    1 +
 .../edit_metadata/edit_metadata.extension.in.in    |    1 +
 extensions/example/src/example.extension.in.in     |    3 ++-
 extensions/exiv2_tools/exiv2_tools.extension.in.in |    1 +
 .../export_tools/export_tools.extension.in.in      |    1 +
 extensions/facebook/facebook.extension.in.in       |    3 ++-
 .../file_manager/file_manager.extension.in.in      |    1 +
 extensions/file_tools/file_tools.extension.in.in   |    1 +
 extensions/file_viewer/file_viewer.extension.in.in |    1 +
 .../find_duplicates.extension.in.in                |    1 +
 extensions/flicker/flicker.extension.in.in         |    1 +
 .../flicker_utils/flicker_utils.extension.in.in    |    1 +
 .../gstreamer_tools.extension.in.in                |    3 ++-
 .../gstreamer_utils.extension.in.in                |    1 +
 extensions/image_print/image_print.extension.in.in |    1 +
 .../image_rotation/image_rotation.extension.in.in  |    1 +
 .../image_viewer/image_viewer.extension.in.in      |    3 ++-
 extensions/importer/importer.extension.in.in       |    1 +
 extensions/jpeg_utils/jpeg_utils.extension.in.in   |    1 +
 extensions/list_tools/list_tools.extension.in.in   |    1 +
 extensions/map_view/map_view.extension.in.in       |    1 +
 extensions/oauth/oauth.extension.in.in             |    1 +
 .../photo_importer/photo_importer.extension.in.in  |    1 +
 extensions/photobucket/photobucket.extension.in.in |    1 +
 extensions/picasaweb/picasaweb.extension.in.in     |    1 +
 .../pixbuf_savers/pixbuf_savers.extension.in.in    |    1 +
 extensions/raw_files/raw_files.extension.in.in     |    1 +
 .../red_eye_removal.extension.in.in                |    1 +
 .../rename_series/rename_series.extension.in.in    |    1 +
 .../resize_images/resize_images.extension.in.in    |    3 ++-
 extensions/search/search.extension.in.in           |    1 +
 extensions/selections/selections.extension.in.in   |    1 +
 extensions/slideshow/slideshow.extension.in.in     |    3 ++-
 extensions/webalbums/webalbums.extension.in.in     |    1 +
 gthumb/gth-extensions.c                            |   10 ++++++++++
 m4/gthumb.m4                                       |    2 +-
 45 files changed, 62 insertions(+), 9 deletions(-)
---
diff --git a/extensions/23hq/23hq.extension.in.in b/extensions/23hq/23hq.extension.in.in
index e2e3230..4a12a2a 100644
--- a/extensions/23hq/23hq.extension.in.in
+++ b/extensions/23hq/23hq.extension.in.in
@@ -10,4 +10,5 @@ Category=Exporter
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=importer;export_tools;flicker_utils
diff --git a/extensions/bookmarks/bookmarks.extension.in.in b/extensions/bookmarks/bookmarks.extension.in.in
index 25757f3..1e42fca 100644
--- a/extensions/bookmarks/bookmarks.extension.in.in
+++ b/extensions/bookmarks/bookmarks.extension.in.in
@@ -10,3 +10,4 @@ Category=Browser
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/burn_disc/burn_disc.extension.in.in b/extensions/burn_disc/burn_disc.extension.in.in
index 7ff4823..642f3f1 100644
--- a/extensions/burn_disc/burn_disc.extension.in.in
+++ b/extensions/burn_disc/burn_disc.extension.in.in
@@ -8,6 +8,7 @@ Icon=brasero
 Category=Exporter
 
 [Loader]
-Requires=export_tools
 Type=module
-File=%LIBRARY%
\ No newline at end of file
+File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
+Requires=export_tools
diff --git a/extensions/cairo_io/cairo_io.extension.in.in b/extensions/cairo_io/cairo_io.extension.in.in
index 1115df3..5dc53c6 100644
--- a/extensions/cairo_io/cairo_io.extension.in.in
+++ b/extensions/cairo_io/cairo_io.extension.in.in
@@ -4,4 +4,5 @@ Hidden=true
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 After=jpeg_utils
diff --git a/extensions/catalogs/catalogs.extension.in.in b/extensions/catalogs/catalogs.extension.in.in
index 800f72f..be241fd 100644
--- a/extensions/catalogs/catalogs.extension.in.in
+++ b/extensions/catalogs/catalogs.extension.in.in
@@ -11,3 +11,4 @@ Category=Browser
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/change_date/change_date.extension.in.in b/extensions/change_date/change_date.extension.in.in
index 9fa7c35..e4d8eaf 100644
--- a/extensions/change_date/change_date.extension.in.in
+++ b/extensions/change_date/change_date.extension.in.in
@@ -9,3 +9,4 @@ Category=List-Tool
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/comments/comments.extension.in.in b/extensions/comments/comments.extension.in.in
index fe8f62b..0667102 100644
--- a/extensions/comments/comments.extension.in.in
+++ b/extensions/comments/comments.extension.in.in
@@ -9,3 +9,4 @@ Category=Metadata
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/contact_sheet/contact_sheet.extension.in.in b/extensions/contact_sheet/contact_sheet.extension.in.in
index bd30d79..78a4342 100644
--- a/extensions/contact_sheet/contact_sheet.extension.in.in
+++ b/extensions/contact_sheet/contact_sheet.extension.in.in
@@ -9,4 +9,5 @@ Category=Exporter
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=export_tools
diff --git a/extensions/convert_format/convert_format.extension.in.in b/extensions/convert_format/convert_format.extension.in.in
index 17ae336..802c81e 100644
--- a/extensions/convert_format/convert_format.extension.in.in
+++ b/extensions/convert_format/convert_format.extension.in.in
@@ -9,3 +9,4 @@ Category=List-Tool
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/desktop_background/desktop_background.extension.in.in b/extensions/desktop_background/desktop_background.extension.in.in
index 3fef5d3..ce58160 100644
--- a/extensions/desktop_background/desktop_background.extension.in.in
+++ b/extensions/desktop_background/desktop_background.extension.in.in
@@ -10,4 +10,5 @@ Category=List-Tool
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 After=image_viewer
diff --git a/extensions/edit_metadata/edit_metadata.extension.in.in b/extensions/edit_metadata/edit_metadata.extension.in.in
index c5358a6..f3f4634 100644
--- a/extensions/edit_metadata/edit_metadata.extension.in.in
+++ b/extensions/edit_metadata/edit_metadata.extension.in.in
@@ -10,4 +10,5 @@ Category=Metadata
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 After=list_tools
diff --git a/extensions/example/src/example.extension.in.in b/extensions/example/src/example.extension.in.in
index 88db3a6..615e11d 100644
--- a/extensions/example/src/example.extension.in.in
+++ b/extensions/example/src/example.extension.in.in
@@ -3,9 +3,10 @@ _Name=Example
 _Description=Extension example.
 Authors=gthumb development team
 Copyright=Copyright  2010 The Free Software Foundation, Inc.
-Version=%VERSION%
+Version=1.0
 Category=Browser
 
 [Loader]
 Type=module
 File=%LIBRARY%
+API=3.0
diff --git a/extensions/exiv2_tools/exiv2_tools.extension.in.in b/extensions/exiv2_tools/exiv2_tools.extension.in.in
index 8234157..af5a4a2 100644
--- a/extensions/exiv2_tools/exiv2_tools.extension.in.in
+++ b/extensions/exiv2_tools/exiv2_tools.extension.in.in
@@ -9,4 +9,5 @@ Category=Metadata
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 After=image_rotation;comments;edit_metadata
diff --git a/extensions/export_tools/export_tools.extension.in.in b/extensions/export_tools/export_tools.extension.in.in
index bb60f9b..ad8b8db 100644
--- a/extensions/export_tools/export_tools.extension.in.in
+++ b/extensions/export_tools/export_tools.extension.in.in
@@ -4,3 +4,4 @@ Hidden=true
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/facebook/facebook.extension.in.in b/extensions/facebook/facebook.extension.in.in
index 6523911..5be8ae0 100644
--- a/extensions/facebook/facebook.extension.in.in
+++ b/extensions/facebook/facebook.extension.in.in
@@ -9,5 +9,6 @@ Category=Exporter
 
 [Loader]
 Type=module
-Requires=export_tools
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
+Requires=export_tools
diff --git a/extensions/file_manager/file_manager.extension.in.in b/extensions/file_manager/file_manager.extension.in.in
index a6759e2..bf1c813 100644
--- a/extensions/file_manager/file_manager.extension.in.in
+++ b/extensions/file_manager/file_manager.extension.in.in
@@ -10,3 +10,4 @@ Category=Browser
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/file_tools/file_tools.extension.in.in b/extensions/file_tools/file_tools.extension.in.in
index 4c7bc3f..ae83205 100644
--- a/extensions/file_tools/file_tools.extension.in.in
+++ b/extensions/file_tools/file_tools.extension.in.in
@@ -10,4 +10,5 @@ Category=File-Tool
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=image_viewer
diff --git a/extensions/file_viewer/file_viewer.extension.in.in b/extensions/file_viewer/file_viewer.extension.in.in
index 9a557a4..f53d1be 100644
--- a/extensions/file_viewer/file_viewer.extension.in.in
+++ b/extensions/file_viewer/file_viewer.extension.in.in
@@ -4,3 +4,4 @@ Mandatory=true
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/find_duplicates/find_duplicates.extension.in.in b/extensions/find_duplicates/find_duplicates.extension.in.in
index 92f3652..55df1a0 100644
--- a/extensions/find_duplicates/find_duplicates.extension.in.in
+++ b/extensions/find_duplicates/find_duplicates.extension.in.in
@@ -9,4 +9,5 @@ Category=Browser
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=catalogs
diff --git a/extensions/flicker/flicker.extension.in.in b/extensions/flicker/flicker.extension.in.in
index 4d39bb7..cc00d2b 100644
--- a/extensions/flicker/flicker.extension.in.in
+++ b/extensions/flicker/flicker.extension.in.in
@@ -10,4 +10,5 @@ Category=Exporter
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=importer;export_tools;flicker_utils
diff --git a/extensions/flicker_utils/flicker_utils.extension.in.in b/extensions/flicker_utils/flicker_utils.extension.in.in
index 9c4130e..d8fce03 100644
--- a/extensions/flicker_utils/flicker_utils.extension.in.in
+++ b/extensions/flicker_utils/flicker_utils.extension.in.in
@@ -4,4 +4,5 @@ Hidden=true
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=importer;export_tools
diff --git a/extensions/gstreamer_tools/gstreamer_tools.extension.in.in b/extensions/gstreamer_tools/gstreamer_tools.extension.in.in
index 5fa73a0..62405ed 100644
--- a/extensions/gstreamer_tools/gstreamer_tools.extension.in.in
+++ b/extensions/gstreamer_tools/gstreamer_tools.extension.in.in
@@ -10,4 +10,5 @@ Category=Viewer
 [Loader]
 Type=module
 File=%LIBRARY%
-Requires=gstreamer_utils
\ No newline at end of file
+API=%GTHUMB_API_VERSION%
+Requires=gstreamer_utils
diff --git a/extensions/gstreamer_utils/gstreamer_utils.extension.in.in b/extensions/gstreamer_utils/gstreamer_utils.extension.in.in
index bb60f9b..ad8b8db 100644
--- a/extensions/gstreamer_utils/gstreamer_utils.extension.in.in
+++ b/extensions/gstreamer_utils/gstreamer_utils.extension.in.in
@@ -4,3 +4,4 @@ Hidden=true
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/image_print/image_print.extension.in.in b/extensions/image_print/image_print.extension.in.in
index 19fdaad..573199e 100644
--- a/extensions/image_print/image_print.extension.in.in
+++ b/extensions/image_print/image_print.extension.in.in
@@ -10,3 +10,4 @@ Category=List-Tool
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/image_rotation/image_rotation.extension.in.in b/extensions/image_rotation/image_rotation.extension.in.in
index 85dd674..a248501 100644
--- a/extensions/image_rotation/image_rotation.extension.in.in
+++ b/extensions/image_rotation/image_rotation.extension.in.in
@@ -9,4 +9,5 @@ Category=List-Tool
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=jpeg_utils
diff --git a/extensions/image_viewer/image_viewer.extension.in.in b/extensions/image_viewer/image_viewer.extension.in.in
index 58fd417..b09e58f 100644
--- a/extensions/image_viewer/image_viewer.extension.in.in
+++ b/extensions/image_viewer/image_viewer.extension.in.in
@@ -8,6 +8,7 @@ Icon=image-x-generic
 Category=Viewer
 
 [Loader]
-After=file_viewer;jpeg_utils
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
+After=file_viewer;jpeg_utils
diff --git a/extensions/importer/importer.extension.in.in b/extensions/importer/importer.extension.in.in
index 4c27d27..8c34ed6 100644
--- a/extensions/importer/importer.extension.in.in
+++ b/extensions/importer/importer.extension.in.in
@@ -4,4 +4,5 @@ Hidden=true
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 After=catalogs
diff --git a/extensions/jpeg_utils/jpeg_utils.extension.in.in b/extensions/jpeg_utils/jpeg_utils.extension.in.in
index bb60f9b..ad8b8db 100644
--- a/extensions/jpeg_utils/jpeg_utils.extension.in.in
+++ b/extensions/jpeg_utils/jpeg_utils.extension.in.in
@@ -4,3 +4,4 @@ Hidden=true
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/list_tools/list_tools.extension.in.in b/extensions/list_tools/list_tools.extension.in.in
index 0b16814..5ce9e33 100644
--- a/extensions/list_tools/list_tools.extension.in.in
+++ b/extensions/list_tools/list_tools.extension.in.in
@@ -10,3 +10,4 @@ Category=List-Tool
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/map_view/map_view.extension.in.in b/extensions/map_view/map_view.extension.in.in
index 4d2e275..2bbe252 100644
--- a/extensions/map_view/map_view.extension.in.in
+++ b/extensions/map_view/map_view.extension.in.in
@@ -10,3 +10,4 @@ Category=Viewer
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/oauth/oauth.extension.in.in b/extensions/oauth/oauth.extension.in.in
index bb60f9b..ad8b8db 100644
--- a/extensions/oauth/oauth.extension.in.in
+++ b/extensions/oauth/oauth.extension.in.in
@@ -4,3 +4,4 @@ Hidden=true
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/photo_importer/photo_importer.extension.in.in b/extensions/photo_importer/photo_importer.extension.in.in
index 5b2fc43..4353c5d 100644
--- a/extensions/photo_importer/photo_importer.extension.in.in
+++ b/extensions/photo_importer/photo_importer.extension.in.in
@@ -10,4 +10,5 @@ Category=Importer
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=importer
diff --git a/extensions/photobucket/photobucket.extension.in.in b/extensions/photobucket/photobucket.extension.in.in
index da43242..1fa90e5 100644
--- a/extensions/photobucket/photobucket.extension.in.in
+++ b/extensions/photobucket/photobucket.extension.in.in
@@ -10,4 +10,5 @@ Category=Exporter
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=oauth;export_tools
diff --git a/extensions/picasaweb/picasaweb.extension.in.in b/extensions/picasaweb/picasaweb.extension.in.in
index 13c02dc..1cc53d3 100644
--- a/extensions/picasaweb/picasaweb.extension.in.in
+++ b/extensions/picasaweb/picasaweb.extension.in.in
@@ -10,4 +10,5 @@ Category=Exporter
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=importer;export_tools
diff --git a/extensions/pixbuf_savers/pixbuf_savers.extension.in.in b/extensions/pixbuf_savers/pixbuf_savers.extension.in.in
index e8012b7..1f5accc 100644
--- a/extensions/pixbuf_savers/pixbuf_savers.extension.in.in
+++ b/extensions/pixbuf_savers/pixbuf_savers.extension.in.in
@@ -9,4 +9,5 @@ Category=Browser
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=jpeg_utils
diff --git a/extensions/raw_files/raw_files.extension.in.in b/extensions/raw_files/raw_files.extension.in.in
index e628324..625695b 100644
--- a/extensions/raw_files/raw_files.extension.in.in
+++ b/extensions/raw_files/raw_files.extension.in.in
@@ -9,3 +9,4 @@ Category=Viewer
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/red_eye_removal/red_eye_removal.extension.in.in b/extensions/red_eye_removal/red_eye_removal.extension.in.in
index 994d662..191e858 100644
--- a/extensions/red_eye_removal/red_eye_removal.extension.in.in
+++ b/extensions/red_eye_removal/red_eye_removal.extension.in.in
@@ -9,4 +9,5 @@ Category=File-Tool
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=image_viewer;file_tools
diff --git a/extensions/rename_series/rename_series.extension.in.in b/extensions/rename_series/rename_series.extension.in.in
index 54d8593..ed01adb 100644
--- a/extensions/rename_series/rename_series.extension.in.in
+++ b/extensions/rename_series/rename_series.extension.in.in
@@ -9,4 +9,5 @@ Category=List-Tool
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=file_manager
diff --git a/extensions/resize_images/resize_images.extension.in.in b/extensions/resize_images/resize_images.extension.in.in
index c55db18..291a688 100644
--- a/extensions/resize_images/resize_images.extension.in.in
+++ b/extensions/resize_images/resize_images.extension.in.in
@@ -7,6 +7,7 @@ Version=%VERSION%
 Category=List-Tool
 
 [Loader]
-Requires=image_viewer
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
+Requires=image_viewer
diff --git a/extensions/search/search.extension.in.in b/extensions/search/search.extension.in.in
index a98706c..fed554c 100644
--- a/extensions/search/search.extension.in.in
+++ b/extensions/search/search.extension.in.in
@@ -10,4 +10,5 @@ Category=Browser
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=catalogs
diff --git a/extensions/selections/selections.extension.in.in b/extensions/selections/selections.extension.in.in
index b72197f..17860e7 100644
--- a/extensions/selections/selections.extension.in.in
+++ b/extensions/selections/selections.extension.in.in
@@ -11,3 +11,4 @@ Category=Browser
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
diff --git a/extensions/slideshow/slideshow.extension.in.in b/extensions/slideshow/slideshow.extension.in.in
index 6f29786..241982b 100644
--- a/extensions/slideshow/slideshow.extension.in.in
+++ b/extensions/slideshow/slideshow.extension.in.in
@@ -10,4 +10,5 @@ Category=Browser
 [Loader]
 Type=module
 File=%LIBRARY%
-After=catalogs;image_viewer
\ No newline at end of file
+API=%GTHUMB_API_VERSION%
+After=catalogs;image_viewer
diff --git a/extensions/webalbums/webalbums.extension.in.in b/extensions/webalbums/webalbums.extension.in.in
index 6b4c299..05621c6 100644
--- a/extensions/webalbums/webalbums.extension.in.in
+++ b/extensions/webalbums/webalbums.extension.in.in
@@ -9,4 +9,5 @@ Category=Exporter
 [Loader]
 Type=module
 File=%LIBRARY%
+API=%GTHUMB_API_VERSION%
 Requires=export_tools
diff --git a/gthumb/gth-extensions.c b/gthumb/gth-extensions.c
index f0d1c75..fcfb463 100644
--- a/gthumb/gth-extensions.c
+++ b/gthumb/gth-extensions.c
@@ -448,6 +448,7 @@ gth_extension_description_load_from_file (GthExtensionDescription *desc,
 {
 	GKeyFile *key_file;
 	char     *file_path;
+	char     *api;
 	char     *basename;
 
 	key_file = g_key_file_new ();
@@ -458,6 +459,14 @@ gth_extension_description_load_from_file (GthExtensionDescription *desc,
 		return FALSE;
 	}
 
+	api = g_key_file_get_string (key_file, "Loader", "API", NULL);
+	if (g_strcmp0 (api, GTHUMB_API_VERSION) != 0) {
+		g_free (api);
+		g_free (file_path);
+		g_key_file_free (key_file);
+		return FALSE;
+	}
+
 	basename = g_file_get_basename (file);
 	desc->id = _g_uri_remove_extension (basename);
 	desc->name = g_key_file_get_locale_string (key_file, "Extension", "Name", NULL, NULL);
@@ -476,6 +485,7 @@ gth_extension_description_load_from_file (GthExtensionDescription *desc,
 	desc->loader_after = g_key_file_get_string_list (key_file, "Loader", "After", NULL, NULL);
 
 	g_free (basename);
+	g_free (api);
 	g_free (file_path);
 	g_key_file_free (key_file);
 
diff --git a/m4/gthumb.m4 b/m4/gthumb.m4
index 0b62eda..4782323 100644
--- a/m4/gthumb.m4
+++ b/m4/gthumb.m4
@@ -78,7 +78,7 @@ dnl like the INTLTOOL_XML_RULE does for xml files
 GTHUMB_EXTENSION_RULE='%.extension: %.extension.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
 AC_SUBST(GTHUMB_EXTENSION_RULE)
 
-GTHUMB_EXTENSION_IN_RULE='%.extension.in: %.extension.in.in $(extension_LTLIBRARIES) ; sed -e "s|%LIBRARY%|`. ./$(extension_LTLIBRARIES) && echo $$dlname`|" -e "s|%VERSION%|$(VERSION)|" $< > [$]@'
+GTHUMB_EXTENSION_IN_RULE='%.extension.in: %.extension.in.in $(extension_LTLIBRARIES) ; sed -e "s|%LIBRARY%|`. ./$(extension_LTLIBRARIES) && echo $$dlname`|" -e "s|%VERSION%|$(VERSION)|" -e "s|%GTHUMB_API_VERSION%|$(GTHUMB_API_VERSION)|" $< > [$]@'
 AC_SUBST(GTHUMB_EXTENSION_IN_RULE)
 
 ])
\ No newline at end of file



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