aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog7
-rw-r--r--addressbook/gui/component/addressbook-migrate.c2
-rw-r--r--calendar/ChangeLog22
-rw-r--r--calendar/gui/calendar-config.c1
-rw-r--r--calendar/gui/comp-editor-factory.c1
-rw-r--r--calendar/gui/dialogs/comp-editor.c2
-rw-r--r--calendar/gui/e-cal-model.c5
-rw-r--r--calendar/gui/e-calendar-table.c1
-rw-r--r--calendar/gui/e-day-view-main-item.c40
-rw-r--r--calendar/gui/e-day-view-top-item.c9
-rw-r--r--calendar/gui/e-day-view.c5
-rw-r--r--calendar/gui/e-memo-table.c1
-rw-r--r--calendar/gui/e-week-view.c2
-rw-r--r--calendar/gui/migration.c1
-rw-r--r--calendar/gui/print.c4
-rw-r--r--composer/ChangeLog6
-rw-r--r--composer/e-msg-composer.c2
-rw-r--r--e-util/ChangeLog6
-rw-r--r--e-util/e-config.c2
-rw-r--r--mail/ChangeLog9
-rw-r--r--mail/em-folder-view.c1
-rw-r--r--mail/mail-component.c1
-rw-r--r--mail/message-list.c7
-rw-r--r--plugins/external-editor/ChangeLog7
-rw-r--r--plugins/external-editor/external-editor.c3
-rw-r--r--plugins/groupwise-features/ChangeLog9
-rw-r--r--plugins/groupwise-features/install-shared.c6
-rw-r--r--plugins/groupwise-features/send-options.c1
-rw-r--r--plugins/groupwise-features/share-folder-common.c5
-rw-r--r--plugins/itip-formatter/ChangeLog6
-rw-r--r--plugins/itip-formatter/itip-formatter.c9
-rw-r--r--widgets/misc/ChangeLog8
-rw-r--r--widgets/misc/e-calendar-item.c5
-rw-r--r--widgets/misc/e-cursors.c7
34 files changed, 174 insertions, 29 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 4bc276a345..ca13fc437b 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-18 Milan Crha <mcrha@redhat.com>
+
+ ** Part of fix for bug #515744
+
+ * gui/component/addressbook-migrate.c: (get_source_name):
+ Memory leak fix.
+
2008-02-18 Srinivasa Ragavan <sragavan@novell.com>
* gui/merging/eab-contact-merging.c: (mergeit): Upstream patch from
diff --git a/addressbook/gui/component/addressbook-migrate.c b/addressbook/gui/component/addressbook-migrate.c
index 1974ada536..f1169f7547 100644
--- a/addressbook/gui/component/addressbook-migrate.c
+++ b/addressbook/gui/component/addressbook-migrate.c
@@ -216,6 +216,8 @@ get_source_name (ESourceGroup *group, const char *path)
} while (conflict);
+ g_strfreev (p);
+
return g_string_free (s, FALSE);
}
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 58495a446d..9c004bf36b 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,25 @@
+2008-02-18 Milan Crha <mcrha@redhat.com>
+
+ ** Part of fix for bug #515744
+
+ * gui/dialogs/comp-editor.c: (drop_action):
+ * gui/calendar-config.c:
+ (calendar_config_get_hide_completed_tasks_sexp):
+ * gui/comp-editor-factory.c: (edit_existing):
+ * gui/e-day-view.c: (e_day_view_reshape_long_event),
+ (e_day_view_on_top_canvas_drag_data_received):
+ * gui/e-day-view-main-item.c:
+ (e_day_view_main_item_draw_events_in_vbars),
+ (e_day_view_main_item_draw_long_events_in_vbars):
+ * gui/e-day-view-top-item.c: (e_day_view_top_item_draw_long_event):
+ * gui/e-cal-model.c: (redo_queries):
+ * gui/e-calendar-table.c: (e_calendar_table_open_task):
+ * gui/e-memo-table.c: (open_memo):
+ * gui/print.c: (print_todo_details):
+ * gui/migration.c: (get_source_name):
+ Memory leak fix.
+ * gui/e-week-view.c: (e_week_view_reshape_events): Simplifies things.
+
2008-02-18 Srinivasa Ragavan <sragavan@novell.com>
** Fix for bnc #178778
diff --git a/calendar/gui/calendar-config.c b/calendar/gui/calendar-config.c
index e8cc126f5d..8599e5ffd8 100644
--- a/calendar/gui/calendar-config.c
+++ b/calendar/gui/calendar-config.c
@@ -1572,6 +1572,7 @@ calendar_config_get_hide_completed_tasks_sexp (gboolean get_completed)
sexp = g_strdup_printf ("(not (completed-before? (make-time \"%s\")))", isodate);
else
sexp = g_strdup_printf ("(completed-before? (make-time \"%s\"))", isodate);
+ g_free (isodate);
}
}
diff --git a/calendar/gui/comp-editor-factory.c b/calendar/gui/comp-editor-factory.c
index 6643d49ecd..99bc173e7b 100644
--- a/calendar/gui/comp-editor-factory.c
+++ b/calendar/gui/comp-editor-factory.c
@@ -281,6 +281,7 @@ edit_existing (OpenClient *oc, const char *uid)
/* Set the object on the editor */
comp_editor_edit_comp (editor, comp);
comp_editor_focus (editor);
+ g_object_unref (comp);
oc->editor_count++;
g_signal_connect (editor, "destroy", G_CALLBACK (editor_destroy_cb), oc);
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index b01667d6dd..5a8be391ee 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -310,7 +310,7 @@ drop_action(CompEditor *editor, GdkDragContext *context, guint32 action, GtkSele
}
}
- g_free (urls);
+ g_strfreev (urls);
success = TRUE;
break;
case DND_TYPE_TEXT_VCARD:
diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
index 9f2f3c4ada..3fda497431 100644
--- a/calendar/gui/e-cal-model.c
+++ b/calendar/gui/e-cal-model.c
@@ -1748,7 +1748,6 @@ static void
redo_queries (ECalModel *model)
{
ECalModelPrivate *priv;
- char *iso_start, *iso_end;
GList *l;
int len;
@@ -1758,6 +1757,8 @@ redo_queries (ECalModel *model)
g_free (priv->full_sexp);
if (priv->start != -1 && priv->end != -1) {
+ char *iso_start, *iso_end;
+
iso_start = isodate_from_time_t (priv->start);
iso_end = isodate_from_time_t (priv->end);
@@ -1766,6 +1767,8 @@ redo_queries (ECalModel *model)
" %s)",
iso_start, iso_end,
priv->search_sexp ? priv->search_sexp : "");
+ g_free (iso_start);
+ g_free (iso_end);
} else if (priv->search_sexp) {
priv->full_sexp = g_strdup (priv->search_sexp);
} else {
diff --git a/calendar/gui/e-calendar-table.c b/calendar/gui/e-calendar-table.c
index f649c1b17c..86703be736 100644
--- a/calendar/gui/e-calendar-table.c
+++ b/calendar/gui/e-calendar-table.c
@@ -1075,6 +1075,7 @@ e_calendar_table_open_task (ECalendarTable *cal_table, ECal *client, icalcompone
tedit = COMP_EDITOR (task_editor_new (client, flags));
comp_editor_edit_comp (tedit, comp);
+ g_object_unref (comp);
if (flags & COMP_EDITOR_IS_ASSIGNED)
task_editor_show_assignment (TASK_EDITOR (tedit));
diff --git a/calendar/gui/e-day-view-main-item.c b/calendar/gui/e-day-view-main-item.c
index 58212f0d8e..d9444c6b7e 100644
--- a/calendar/gui/e-day-view-main-item.c
+++ b/calendar/gui/e-day-view-main-item.c
@@ -373,21 +373,27 @@ e_day_view_main_item_draw_events_in_vbars (EDayViewMainItem *dvmitem,
/* If the event is TRANSPARENT, skip it. */
e_cal_component_get_transparency (comp, &transparency);
- if (transparency == E_CAL_COMPONENT_TRANSP_TRANSPARENT)
+ if (transparency == E_CAL_COMPONENT_TRANSP_TRANSPARENT) {
+ g_object_unref (comp);
continue;
+ }
/* We can skip the events in the first column since they will
draw over this anyway. */
- if (event->num_columns > 0 && event->start_row_or_col == 0)
+ if (event->num_columns > 0 && event->start_row_or_col == 0) {
+ g_object_unref (comp);
continue;
+ }
bar_y = event->start_minute * day_view->row_height / day_view->mins_per_row;
bar_h = event->end_minute * day_view->row_height / day_view->mins_per_row - bar_y;
bar_y -= y;
/* Skip it if it isn't visible. */
- if (bar_y >= height || bar_y + bar_h <= 0)
+ if (bar_y >= height || bar_y + bar_h <= 0) {
+ g_object_unref (comp);
continue;
+ }
gdk_draw_rectangle (drawable, gc, TRUE,
grid_x, bar_y,
@@ -427,14 +433,18 @@ e_day_view_main_item_draw_long_events_in_vbars (EDayViewMainItem *dvmitem,
/* If the event is TRANSPARENT, skip it. */
e_cal_component_get_transparency (comp, &transparency);
- if (transparency == E_CAL_COMPONENT_TRANSP_TRANSPARENT)
+ if (transparency == E_CAL_COMPONENT_TRANSP_TRANSPARENT) {
+ g_object_unref (comp);
continue;
+ }
if (!e_day_view_find_long_event_days (event,
day_view->days_shown,
day_view->day_starts,
- &start_day, &end_day))
+ &start_day, &end_day)) {
+ g_object_unref (comp);
continue;
+ }
for (day = start_day; day <= end_day; day++) {
grid_x = day_view->day_offsets[day] + 1 - x;
@@ -1099,21 +1109,27 @@ e_day_view_main_item_draw_events_in_vbars (EDayViewMainItem *dvmitem,
/* If the event is TRANSPARENT, skip it. */
e_cal_component_get_transparency (comp, &transparency);
- if (transparency == E_CAL_COMPONENT_TRANSP_TRANSPARENT)
+ if (transparency == E_CAL_COMPONENT_TRANSP_TRANSPARENT) {
+ g_object_unref (comp);
continue;
+ }
/* We can skip the events in the first column since they will
draw over this anyway. */
- if (event->num_columns > 0 && event->start_row_or_col == 0)
+ if (event->num_columns > 0 && event->start_row_or_col == 0) {
+ g_object_unref (comp);
continue;
+ }
bar_y = event->start_minute * day_view->row_height / day_view->mins_per_row;
bar_h = event->end_minute * day_view->row_height / day_view->mins_per_row - bar_y;
bar_y -= y;
/* Skip it if it isn't visible. */
- if (bar_y >= height || bar_y + bar_h <= 0)
+ if (bar_y >= height || bar_y + bar_h <= 0) {
+ g_object_unref (comp);
continue;
+ }
cairo_rectangle (cr, grid_x, bar_y,
E_DAY_VIEW_BAR_WIDTH - 2, bar_h);
@@ -1169,14 +1185,18 @@ e_day_view_main_item_draw_long_events_in_vbars (EDayViewMainItem *dvmitem,
/* If the event is TRANSPARENT, skip it. */
e_cal_component_get_transparency (comp, &transparency);
- if (transparency == E_CAL_COMPONENT_TRANSP_TRANSPARENT)
+ if (transparency == E_CAL_COMPONENT_TRANSP_TRANSPARENT) {
+ g_object_unref (comp);
continue;
+ }
if (!e_day_view_find_long_event_days (event,
day_view->days_shown,
day_view->day_starts,
- &start_day, &end_day))
+ &start_day, &end_day)) {
+ g_object_unref (comp);
continue;
+ }
for (day = start_day; day <= end_day; day++) {
grid_x = day_view->day_offsets[day] + 1 - x;
diff --git a/calendar/gui/e-day-view-top-item.c b/calendar/gui/e-day-view-top-item.c
index e04c3e2345..5f75237ec6 100644
--- a/calendar/gui/e-day-view-top-item.c
+++ b/calendar/gui/e-day-view-top-item.c
@@ -428,8 +428,10 @@ e_day_view_top_item_draw_long_event (EDayViewTopItem *dvtitem,
/* If we are editing the event we don't show the icons or the start
& end times. */
if (day_view->editing_event_day == E_DAY_VIEW_LONG_EVENT
- && day_view->editing_event_num == event_num)
+ && day_view->editing_event_num == event_num) {
+ g_object_unref (comp);
return;
+ }
/* Determine the position of the label, so we know where to place the
icons. Note that since the top canvas never scrolls we don't need
@@ -1048,8 +1050,11 @@ e_day_view_top_item_draw_long_event (EDayViewTopItem *dvtitem,
/* If we are editing the event we don't show the icons or the start
& end times. */
if (day_view->editing_event_day == E_DAY_VIEW_LONG_EVENT
- && day_view->editing_event_num == event_num)
+ && day_view->editing_event_num == event_num) {
+ g_object_unref (comp);
+ cairo_destroy (cr);
return;
+ }
/* Determine the position of the label, so we know where to place the
icons. Note that since the top canvas never scrolls we don't need
diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c
index 29468c30c8..bea06bc959 100644
--- a/calendar/gui/e-day-view.c
+++ b/calendar/gui/e-day-view.c
@@ -5795,6 +5795,7 @@ e_day_view_reshape_long_event (EDayView *day_view,
text_x, item_y);
g_object_unref (layout);
+ g_object_unref (comp);
}
@@ -9085,8 +9086,10 @@ e_day_view_on_top_canvas_drag_data_received (GtkWidget *widget,
e_cal_component_commit_sequence (comp);
if (e_cal_component_is_instance (comp)) {
- if (!recur_component_dialog (client, comp, &mod, NULL, FALSE))
+ if (!recur_component_dialog (client, comp, &mod, NULL, FALSE)) {
+ g_object_unref (comp);
return;
+ }
if (mod == CALOBJ_MOD_THIS) {
e_cal_component_set_rdate_list (comp, NULL);
diff --git a/calendar/gui/e-memo-table.c b/calendar/gui/e-memo-table.c
index b8e55c6aaf..e877ccd940 100644
--- a/calendar/gui/e-memo-table.c
+++ b/calendar/gui/e-memo-table.c
@@ -764,6 +764,7 @@ open_memo (EMemoTable *memo_table, ECalModelComponent *comp_data)
medit = COMP_EDITOR (memo_editor_new (comp_data->client, flags));
comp_editor_edit_comp (medit, comp);
+ g_object_unref (comp);
e_comp_editor_registry_add (comp_editor_registry, medit, FALSE);
}
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index e6dd84ad66..6dc8d0e73d 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -2525,9 +2525,9 @@ e_week_view_reshape_events (EWeekView *week_view)
e_week_view_reshape_event_span (week_view, event_num,
span_num);
- current_comp_string = icalcomponent_as_ical_string (event->comp_data->icalcomp);
if (week_view->last_edited_comp_string == NULL)
continue;
+ current_comp_string = icalcomponent_as_ical_string (event->comp_data->icalcomp);
if (strncmp (current_comp_string, week_view->last_edited_comp_string,50) == 0) {
EWeekViewEventSpan *span;
span = &g_array_index (week_view->spans, EWeekViewEventSpan, event->spans_index + span_num);
diff --git a/calendar/gui/migration.c b/calendar/gui/migration.c
index 3ed7d9fb5c..5a798c8e74 100644
--- a/calendar/gui/migration.c
+++ b/calendar/gui/migration.c
@@ -279,6 +279,7 @@ get_source_name (ESourceGroup *group, const char *path)
break;
} while (conflict);
+ g_strfreev (p);
return g_string_free (s, FALSE);
}
diff --git a/calendar/gui/print.c b/calendar/gui/print.c
index 7227cad3dc..af6f3b6978 100644
--- a/calendar/gui/print.c
+++ b/calendar/gui/print.c
@@ -1992,8 +1992,10 @@ print_todo_details (GtkPrintContext *context, GnomeCalendar *gcal,
x = left;
xend = right - 2;
- if (y > bottom)
+ if (y > bottom) {
+ g_object_unref (comp);
break;
+ }
/* Print the box to put the tick in. */
print_border (context, x + 2, x + 8, y + 6, y + 15, 0.1, -1.0);
diff --git a/composer/ChangeLog b/composer/ChangeLog
index 9f6e9f55ff..8e6555f207 100644
--- a/composer/ChangeLog
+++ b/composer/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-18 Milan Crha <mcrha@redhat.com>
+
+ ** Part of fix for bug #515744
+
+ * e-msg-composer.c: (drop_action): Memory leak fix.
+
2008-01-25 Johnny Jacob <jjohnny@novell.com>
** Fix for bug #371011
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 4d58b4b386..613b29a515 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -2962,7 +2962,7 @@ drop_action(EMsgComposer *composer, GdkDragContext *context, guint32 action, Gtk
g_free (str);
}
- g_free (urls);
+ g_strfreev (urls);
success = TRUE;
break;
case DND_TYPE_TEXT_VCARD:
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index 98cea5349d..148f7350fe 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-18 Milan Crha <mcrha@redhat.com>
+
+ ** Part of fix for bug #515744
+
+ * e-config.c: (ep_finalise): Use proper member to free.
+
2008-02-08 Matthew Barnes <mbarnes@redhat.com>
** Fixes part of bug #509741
diff --git a/e-util/e-config.c b/e-util/e-config.c
index 79e87c84b6..5918600000 100644
--- a/e-util/e-config.c
+++ b/e-util/e-config.c
@@ -135,7 +135,7 @@ ep_finalise(GObject *o)
g_free(wn);
}
- while ( (cn = (struct _check_node *)e_dlist_remhead(&p->widgets)) ) {
+ while ( (cn = (struct _check_node *)e_dlist_remhead(&p->checks)) ) {
g_free(cn->pageid);
g_free(cn);
}
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 3411d8356b..ed1bf8f535 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,12 @@
+2008-02-18 Milan Crha <mcrha@redhat.com>
+
+ ** Part of fix for bug #515744
+
+ * em-folder-view.c: (emfv_setup_view_instance):
+ * mail-component.c: (impl_finalize):
+ * message-list.c: (ml_tree_value_at):
+ Memory leak fix.
+
2008-02-18 Srinivasa Ragavan <sragavan@novell.com>
** Fix for bug #167638
diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c
index cd31926862..53ec53d526 100644
--- a/mail/em-folder-view.c
+++ b/mail/em-folder-view.c
@@ -664,6 +664,7 @@ emfv_setup_view_instance(EMFolderView *emfv)
g_free (filename);
filename = g_strdup_printf ("current_wide_view-%s.xml", safe_id);
p->view_instance->current_view_filename = g_build_filename (collection->local_dir, filename, NULL);
+ g_free (filename);
g_free (safe_id);
}
g_free (id);
diff --git a/mail/mail-component.c b/mail/mail-component.c
index eb9f9c8b59..879c346494 100644
--- a/mail/mail-component.c
+++ b/mail/mail-component.c
@@ -489,6 +489,7 @@ impl_finalize (GObject *object)
g_free (priv->context_path);
g_mutex_free(priv->lock);
+ g_object_unref (priv->model);
g_object_unref (priv->logger);
g_free (priv);
diff --git a/mail/message-list.c b/mail/message-list.c
index 68b59449fa..3f9a3644ae 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -1493,8 +1493,11 @@ ml_tree_value_at (ETreeModel *etm, ETreePath path, int col, void *model_data)
char **sender_name = NULL;
str = camel_message_info_from (msg_info);
if(str && str[0] != '\0'){
- sender_name=g_strsplit(str,"<",2);
- return (void *)(*sender_name);
+ char *res;
+ sender_name = g_strsplit (str,"<",2);
+ res = g_strdup (*sender_name);
+ g_strfreev (sender_name);
+ return (void *)(res);
}
else
return (void *)("");
diff --git a/plugins/external-editor/ChangeLog b/plugins/external-editor/ChangeLog
index d2afbc1aaa..4f8996ea79 100644
--- a/plugins/external-editor/ChangeLog
+++ b/plugins/external-editor/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-18 Milan Crha <mcrha@redhat.com>
+
+ ** Part of fix for bug #515744
+
+ * external-editor.c: (convert_to_camel_internet_address),
+ (org_gnome_external_editor): Memory leak fix.
+
2007-12-04 Sankar P <psankar@novell.com>
* Committed on behalf of Denis Washington <denisw@svn.gnome.org>
diff --git a/plugins/external-editor/external-editor.c b/plugins/external-editor/external-editor.c
index fecc6e8de2..b34cb0717d 100644
--- a/plugins/external-editor/external-editor.c
+++ b/plugins/external-editor/external-editor.c
@@ -41,6 +41,7 @@ static CamelInternetAddress * convert_to_camel_internet_address (char * emails)
camel_internet_address_add (cia, " ", address_tokens [i]);
d(printf ("\nAdding camel_internet_address[%s] \n", address_tokens [i]));
}
+ g_strfreev (address_tokens);
return cia;
}
@@ -139,6 +140,8 @@ void org_gnome_external_editor (EPlugin *ep, EMMenuTargetSelect *select)
g_signal_connect (GTK_OBJECT (composer), "save-draft", G_CALLBACK (em_utils_composer_save_draft_cb), NULL);
gtk_widget_show (GTK_WIDGET (composer));
+
+ g_strfreev (tokens);
}
}
#else
diff --git a/plugins/groupwise-features/ChangeLog b/plugins/groupwise-features/ChangeLog
index 075bd3661a..2aa572f794 100644
--- a/plugins/groupwise-features/ChangeLog
+++ b/plugins/groupwise-features/ChangeLog
@@ -1,3 +1,12 @@
+2008-02-18 Milan Crha <mcrha@redhat.com>
+
+ ** Part of fix for bug #515744
+
+ * send-options.c: (get_source):
+ * share-folder-common.c: (get_container_id):
+ * install-shared.c: (install_folder_response):
+ Memory leak fix.
+
2008-01-28 Andre Klapper <a9016009@gmx.de>
* proxy-add-dialog.glade: string "Read" needs gettext context,
diff --git a/plugins/groupwise-features/install-shared.c b/plugins/groupwise-features/install-shared.c
index c0bffb23e0..0b12c39983 100644
--- a/plugins/groupwise-features/install-shared.c
+++ b/plugins/groupwise-features/install-shared.c
@@ -97,6 +97,7 @@ install_folder_response (EMFolderSelector *emfs, int response, gpointer *data)
camel_exception_init (&ex);
if (!(store = (CamelStore *) camel_session_get_service (mail_component_peek_session(NULL), uri, CAMEL_PROVIDER_STORE, &ex))) {
camel_exception_clear (&ex);
+ g_strfreev (names);
return;
}
@@ -122,12 +123,15 @@ install_folder_response (EMFolderSelector *emfs, int response, gpointer *data)
camel_exception_init (&ex);
if (!(provider = camel_provider_get(uri, &ex))) {
camel_exception_clear (&ex);
+ g_strfreev (names);
return;
}
/* make sure the new store belongs in the tree */
- if (!(provider->flags & CAMEL_PROVIDER_IS_STORAGE))
+ if (!(provider->flags & CAMEL_PROVIDER_IS_STORAGE)) {
+ g_strfreev (names);
return;
+ }
em_folder_tree_model_add_store (model, store, account->name);
camel_object_unref (store);
diff --git a/plugins/groupwise-features/send-options.c b/plugins/groupwise-features/send-options.c
index abfde2fd61..860b8469ec 100644
--- a/plugins/groupwise-features/send-options.c
+++ b/plugins/groupwise-features/send-options.c
@@ -374,6 +374,7 @@ get_source (ESourceList *list)
if (so_uri) {
if (!strcmp (so_uri, uri)) {
g_free (so_uri), so_uri = NULL;
+ g_strfreev (temp);
return E_SOURCE (r->data);
}
g_free (so_uri), so_uri = NULL;
diff --git a/plugins/groupwise-features/share-folder-common.c b/plugins/groupwise-features/share-folder-common.c
index 36b2d15449..ca1f235651 100644
--- a/plugins/groupwise-features/share-folder-common.c
+++ b/plugins/groupwise-features/share-folder-common.c
@@ -531,8 +531,9 @@ get_container_id(EGwConnection *cnc, gchar *fname)
g_free (name);
}
e_gw_connection_free_container_list (container_list);
- if (names)
- g_strfreev(names);
}
+
+ if (names)
+ g_strfreev (names);
return id;
}
diff --git a/plugins/itip-formatter/ChangeLog b/plugins/itip-formatter/ChangeLog
index 8da0024274..f105e91934 100644
--- a/plugins/itip-formatter/ChangeLog
+++ b/plugins/itip-formatter/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-18 Milan Crha <mcrha@redhat.com>
+
+ ** Part of fix for bug #515744
+
+ * itip-formatter.c: (idle_open_cb): Memory Leak fix.
+
2008-02-05 Srinivasa Ragavan <sragavan@novell.com>
** Rewrite of itip-formatter bits. It was written around carrying
diff --git a/plugins/itip-formatter/itip-formatter.c b/plugins/itip-formatter/itip-formatter.c
index ca10bb35a2..4cc11a3ea2 100644
--- a/plugins/itip-formatter/itip-formatter.c
+++ b/plugins/itip-formatter/itip-formatter.c
@@ -1598,12 +1598,17 @@ idle_open_cb (gpointer data)
{
struct _itip_puri *pitip = data;
struct _opencal_msg *m;
+ char *start, *end;
+ start = isodate_from_time_t (pitip->start_time);
+ end = isodate_from_time_t (pitip->end_time);
m = mail_msg_new (&open_calendar_info);
- m->command = g_strdup_printf ("evolution \"calendar://?startdate=%s&enddate=%s\"",
- isodate_from_time_t (pitip->start_time), isodate_from_time_t (pitip->end_time));
+ m->command = g_strdup_printf ("evolution \"calendar://?startdate=%s&enddate=%s\"", start, end);
mail_msg_slow_ordered_push (m);
+ g_free (start);
+ g_free (end);
+
return FALSE;
}
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog
index 4600b576e1..46925425c9 100644
--- a/widgets/misc/ChangeLog
+++ b/widgets/misc/ChangeLog
@@ -1,3 +1,11 @@
+2008-02-18 Milan Crha <mcrha@redhat.com>
+
+ ** Part of fix for bug #515744
+
+ * e-cursors.c: (e_cursors_init):
+ * e-calendar-item.c: (e_calendar_item_draw_month):
+ Memory leak fix.
+
2008-02-18 Srinivasa Ragavan <sragavan@novell.com>
** Fix for bnc #178778
diff --git a/widgets/misc/e-calendar-item.c b/widgets/misc/e-calendar-item.c
index 9eef0253a1..a1aa6f82be 100644
--- a/widgets/misc/e-calendar-item.c
+++ b/widgets/misc/e-calendar-item.c
@@ -1678,8 +1678,10 @@ e_calendar_item_draw_month (ECalendarItem *calitem,
/* Just return if the month is outside the given area. */
if (month_x >= width || month_x + calitem->month_width <= 0
- || month_y >= height || month_y + calitem->month_height <= 0)
+ || month_y >= height || month_y + calitem->month_height <= 0) {
+ cairo_destroy (cr);
return;
+ }
month = calitem->month + row * calitem->cols + col;
year = calitem->year + month / 12;
@@ -1746,6 +1748,7 @@ e_calendar_item_draw_month (ECalendarItem *calitem,
if (clip_width <= 0 || clip_height <= 0) {
g_object_unref (layout);
+ cairo_destroy (cr);
return;
}
diff --git a/widgets/misc/e-cursors.c b/widgets/misc/e-cursors.c
index 5a709a6927..224c467733 100644
--- a/widgets/misc/e-cursors.c
+++ b/widgets/misc/e-cursors.c
@@ -115,11 +115,11 @@ e_cursors_init (void)
e_color_init ();
for (i = 0; cursors [i].hot_x; i++){
- GdkBitmap *bitmap = NULL, *mask = NULL;
-
if (cursors [i].hot_x < 0)
cursors [i].cursor = gdk_cursor_new (cursors [i].hot_y);
else {
+ GdkBitmap *bitmap = NULL, *mask = NULL;
+
create_bitmap_and_mask_from_xpm (&bitmap, &mask, cursors [i].xpm);
/* The foreground and background colours are reversed.
@@ -131,6 +131,9 @@ e_cursors_init (void)
&e_black, &e_white,
cursors [i].hot_x,
cursors [i].hot_y);
+
+ g_object_unref (bitmap);
+ g_object_unref (mask);
}
}