aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view.c
diff options
context:
space:
mode:
authorHans Petter Jansson <hpj@ximian.com>2003-04-16 06:26:11 +0800
committerHans Petter <hansp@src.gnome.org>2003-04-16 06:26:11 +0800
commit1cddfbd5e59cc1de55072c79bf44447620f1ebc0 (patch)
tree27670c9e02b310900a6421fe1c7118a706344e73 /calendar/gui/e-week-view.c
parent824d2c8bfab90deba9ef28de90cac27adc1a6dfb (diff)
downloadgsoc2013-evolution-1cddfbd5e59cc1de55072c79bf44447620f1ebc0.tar.gz
gsoc2013-evolution-1cddfbd5e59cc1de55072c79bf44447620f1ebc0.tar.zst
gsoc2013-evolution-1cddfbd5e59cc1de55072c79bf44447620f1ebc0.zip
If we already have an evolution_dir, free the old one before setting it
2003-04-15 Hans Petter Jansson <hpj@ximian.com> * gui/calendar-component.c (owner_set_cb): If we already have an evolution_dir, free the old one before setting it anew. * gui/e-day-view-time-item.c (e_day_view_time_item_draw): Unref the metrics. * gui/e-day-view.c (e_day_view_style_set): Unref the metrics. (e_day_view_recalc_cell_sizes): We don't need font metrics here. (e_day_view_reshape_long_event): Ditto. * gui/e-meeting-model.c (init): Don't dup the string passed to e_table_without_hide(). * gui/e-meeting-time-sel.c (e_meeting_time_selector_style_set): Unref the metrics. (e_meeting_time_selector_recalc_date_form): Doesn't need metrics. * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): Unref the metrics. * gui/e-week-view.c (e_week_view_style_set): Unref metrics. (e_week_view_recalc_cell_sizes): Ditto. (e_week_view_reshape_event_span): Move Pango stuff to where it can't be leaked due to an early return. Unref metrics. * gui/weekday-picker.c (weekday_picker_style_set): Unref metrics. * gui/dialogs/meeting-page.c (meeting_page_finalize): Free default address. svn path=/trunk/; revision=20857
Diffstat (limited to 'calendar/gui/e-week-view.c')
-rw-r--r--calendar/gui/e-week-view.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c
index f893eeadb1..88de72c287 100644
--- a/calendar/gui/e-week-view.c
+++ b/calendar/gui/e-week-view.c
@@ -757,6 +757,7 @@ e_week_view_style_set (GtkWidget *widget,
week_view->pm_string);
g_object_unref (layout);
+ pango_font_metrics_unref (font_metrics);
}
@@ -917,6 +918,8 @@ e_week_view_recalc_cell_sizes (EWeekView *week_view)
else if (width / 2 > time_width)
week_view->time_format = E_WEEK_VIEW_TIME_START;
}
+
+ pango_font_metrics_unref (font_metrics);
}
@@ -2665,13 +2668,6 @@ e_week_view_reshape_event_span (EWeekView *week_view,
one_day_event = e_week_view_is_one_day_event (week_view, event_num);
- /* Set up Pango prerequisites */
- font_desc = gtk_widget_get_style (GTK_WIDGET (week_view))->font_desc;
- pango_context = gtk_widget_get_pango_context (GTK_WIDGET (week_view));
- font_metrics = pango_context_get_metrics (pango_context, font_desc,
- pango_context_get_language (pango_context));
- layout = pango_layout_new (pango_context);
-
/* If the span will not be visible destroy the canvas items and
return. */
if (!e_week_view_get_span_position (week_view, event_num, span_num,
@@ -2685,6 +2681,13 @@ e_week_view_reshape_event_span (EWeekView *week_view,
return;
}
+ /* Set up Pango prerequisites */
+ font_desc = gtk_widget_get_style (GTK_WIDGET (week_view))->font_desc;
+ pango_context = gtk_widget_get_pango_context (GTK_WIDGET (week_view));
+ font_metrics = pango_context_get_metrics (pango_context, font_desc,
+ pango_context_get_language (pango_context));
+ layout = pango_layout_new (pango_context);
+
/* If we are editing a long event we don't show the icons and the EText
item uses the maximum width available. */
if (!one_day_event && week_view->editing_event_num == event_num
@@ -2889,6 +2892,7 @@ e_week_view_reshape_event_span (EWeekView *week_view,
e_canvas_item_move_absolute (span->text_item, text_x, text_y);
g_object_unref (layout);
+ pango_font_metrics_unref (font_metrics);
}