[goffice] go_file_saver_for_mime_type: fix crash.
- From: Morten Welinder <mortenw src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [goffice] go_file_saver_for_mime_type: fix crash.
- Date: Tue, 27 Oct 2009 20:06:23 +0000 (UTC)
commit 2dcac89e74c0438fea74b3e89c15716573cc7184
Author: Morten Welinder <terra gnome org>
Date: Tue Oct 27 16:05:53 2009 -0400
go_file_saver_for_mime_type: fix crash.
ChangeLog | 5 +++++
goffice/app/file.c | 21 ++++++++++++++-------
2 files changed, 19 insertions(+), 7 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index c5b012b..f02173b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-27 Morten Welinder <terra gnome org>
+
+ * goffice/app/file.c (go_file_saver_for_mime_type): Ignore file
+ savers with no mime type instead of crashing.
+
2009-10-19 Jean Brefort <jean brefort normalesup org>
* goffice/graph/gog-chart-map.c (polar_map_view_to_2D): take radar plot
diff --git a/goffice/app/file.c b/goffice/app/file.c
index d9bc3e0..b6dee4a 100644
--- a/goffice/app/file.c
+++ b/goffice/app/file.c
@@ -998,15 +998,22 @@ go_file_saver_for_mime_type (gchar const *mime_type)
g_return_val_if_fail (mime_type != NULL, NULL);
- for (l = default_file_saver_list ; l != NULL; l = l->next)
- if (!strcmp (go_file_saver_get_mime_type (((DefaultFileSaver *)(l->data))->saver), mime_type))
- return ((DefaultFileSaver *)(l->data))->saver;
+ for (l = default_file_saver_list ; l != NULL; l = l->next) {
+ DefaultFileSaver *dfs = l->data;
+ GOFileSaver *fs = dfs->saver;
+ const char *this_type = go_file_saver_get_mime_type (fs);
+ if (this_type && !strcmp (this_type, mime_type))
+ return fs;
+ }
- for (l = file_saver_list; l != NULL; l = l->next)
- if (!strcmp (go_file_saver_get_mime_type (l->data), mime_type))
- return l->data;
+ for (l = file_saver_list; l != NULL; l = l->next) {
+ GOFileSaver *fs = l->data;
+ const char *this_type = go_file_saver_get_mime_type (fs);
+ if (this_type && !strcmp (this_type, mime_type))
+ return fs;
+ }
- return (NULL);
+ return NULL;
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]