aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/misc
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/misc')
-rw-r--r--widgets/misc/ChangeLog8
-rw-r--r--widgets/misc/e-calendar-item.c5
-rw-r--r--widgets/misc/e-cursors.c7
3 files changed, 17 insertions, 3 deletions
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);
}
}