diff options
Diffstat (limited to 'widgets/misc')
-rw-r--r-- | widgets/misc/ChangeLog | 8 | ||||
-rw-r--r-- | widgets/misc/e-calendar-item.c | 5 | ||||
-rw-r--r-- | widgets/misc/e-cursors.c | 7 |
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); } } |