[evolution-patches] patch for bug 348679
- From: Parthasarathi Susarla <ajaysusarla gmail com>
- To: evolution-patches gnome org
- Subject: [evolution-patches] patch for bug 348679
- Date: Thu, 19 Oct 2006 01:01:18 +0530
Accessing the structure members directly (as was the case) is the reason for
the crash.
The cameldatawrapper class provides methods to determine mime type, use that
instead of trying to access the member variable.
The attached patch fixes the issue.
Find the patch attached at : http://bugzilla.gnome.org/show_bug.cgi?id=348679
Thanks,
partha
--
Parthasarathi S A
ajaysusarla at gmail dot com
Where I go, I dont need a road.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/plugins/import-ics-attachments/ChangeLog,v
retrieving revision 1.5
diff -u -p -r1.5 ChangeLog
--- ChangeLog 16 Oct 2006 13:55:02 -0000 1.5
+++ ChangeLog 18 Oct 2006 19:26:55 -0000
@@ -1,3 +1,11 @@
+2006-10-19 Parthasarathi Susarla <ajaysusarla gmail com>
+
+ ** Fix bug #348679
+
+ * icsimporter.c: (org_gnome_evolution_import_ics_attachment):
+ Do not access structure elements directly. Use the methods of the
+ class in the CamelDataWrapper Class
+
2006-08-28 Kjartan Maraas <kmaraas gnome org>
* org-gnome-evolution-mail-attachments-import-ics.eplug.xml: Mark
Index: icsimporter.c
===================================================================
RCS file: /cvs/gnome/evolution/plugins/import-ics-attachments/icsimporter.c,v
retrieving revision 1.5
diff -u -p -r1.5 icsimporter.c
--- icsimporter.c 23 Aug 2006 14:05:21 -0000 1.5
+++ icsimporter.c 18 Oct 2006 19:26:55 -0000
@@ -95,23 +95,28 @@ void org_gnome_evolution_import_ics_atta
icalcomponent_kind kind;
int len = 0;
int i = 0;
+ CamelContentType *type;
len = g_slist_length(t->attachments);
- if (len !=1 || !camel_content_type_is(((CamelDataWrapper *) ((EAttachment *) t->attachments->data)->body)->mime_type, "text", "calendar"))
+ if (len != 1)
return;
-
+
+ type = camel_data_wrapper_get_mime_type_field (((CamelDataWrapper *) ((EAttachment *) t->attachments->data)->body));
+ if (type && camel_content_type_is(type, "text", "calendar")) {
+
kind = get_menu_type (t);
- if (kind == ICAL_VTODO_COMPONENT ) {
- for (i = 0; i < sizeof (popup_tasks_items) / sizeof (popup_tasks_items[0]); i++)
- menus = g_slist_prepend (menus, &popup_tasks_items[i]);
- } else if ( kind == ICAL_VEVENT_COMPONENT) {
- for (i = 0; i < sizeof (popup_calendar_items) / sizeof (popup_calendar_items[0]); i++)
- menus = g_slist_prepend (menus, &popup_calendar_items[i]);
- }
+ if (kind == ICAL_VTODO_COMPONENT ) {
+ for (i = 0; i < sizeof (popup_tasks_items) / sizeof (popup_tasks_items[0]); i++)
+ menus = g_slist_prepend (menus, &popup_tasks_items[i]);
+ } else if ( kind == ICAL_VEVENT_COMPONENT) {
+ for (i = 0; i < sizeof (popup_calendar_items) / sizeof (popup_calendar_items[0]); i++)
+ menus = g_slist_prepend (menus, &popup_calendar_items[i]);
+ }
- e_popup_add_items (t->target.popup, menus, NULL, popup_free, t);
+ e_popup_add_items (t->target.popup, menus, NULL, popup_free, t);
+ }
}
void org_gnome_evolution_import_ics_part (EPlugin*ep, EMPopupTargetPart *t)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]