window: Fix leak of event_creation_data struct
And also be sure to set its pointer to NULL by using g_clear_pointer() 8,830 (24 direct, 8,806 indirect) bytes in 1 blocks are definitely lost in loss record 17,999 of 18,078 at 0x4C2FA50: calloc (vg_replace_malloc.c:711) by 0x99CE981: g_malloc0 (gmem.c:124) by 0x99CEC64: g_malloc0_n (gmem.c:355) by 0x44CD43: show_new_event_widget (gcal-window.c:731) by 0x976FC57: ffi_call_unix64 (in /usr/lib64/libffi.so.6.0.2) by 0x976F6B9: ffi_call (in /usr/lib64/libffi.so.6.0.2) by 0x952703B: g_cclosure_marshal_generic (gclosure.c:1490) by 0x95258B9: g_closure_invoke (gclosure.c:804) by 0x9541D25: signal_emit_unlocked_R (gsignal.c:3635) by 0x954105C: g_signal_emit_valist (gsignal.c:3391) by 0x954170B: g_signal_emit_by_name (gsignal.c:3487) by 0x4324D8: show_popover_for_position (gcal-month-view.c:305) https://bugzilla.gnome.org/show_bug.cgi?id=772379
This commit is contained in:
committed by
Georges Basile Stavracas Neto
parent
775cbb8b74
commit
7dfadeb56a
+8
-1
@@ -725,7 +725,7 @@ show_new_event_widget (GcalView *view,
|
||||
{
|
||||
g_clear_pointer (&window->event_creation_data->start_date, g_date_time_unref);
|
||||
g_clear_pointer (&window->event_creation_data->end_date, g_date_time_unref);
|
||||
g_free (window->event_creation_data);
|
||||
g_clear_pointer (&window->event_creation_data, g_free);
|
||||
}
|
||||
|
||||
window->event_creation_data = g_new0 (NewEventData, 1);
|
||||
@@ -1468,6 +1468,13 @@ gcal_window_finalize (GObject *object)
|
||||
g_clear_object (&window->event_to_delete);
|
||||
}
|
||||
|
||||
if (window->event_creation_data != NULL)
|
||||
{
|
||||
g_clear_pointer (&window->event_creation_data->start_date, g_date_time_unref);
|
||||
g_clear_pointer (&window->event_creation_data->end_date, g_date_time_unref);
|
||||
g_clear_pointer (&window->event_creation_data, g_free);
|
||||
}
|
||||
|
||||
g_clear_object (&window->manager);
|
||||
g_clear_object (&window->views_switcher);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user