From 1b4c898a0c84368bfb6709b38dc218f254b0ca0c Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig Date: Thu, 31 May 2018 13:01:29 +0200 Subject: [PATCH] Fix datetimepicker crash --- darwin/datetimepicker.m | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/darwin/datetimepicker.m b/darwin/datetimepicker.m index ed164855..b786dea9 100644 --- a/darwin/datetimepicker.m +++ b/darwin/datetimepicker.m @@ -16,8 +16,8 @@ struct uiDateTimePicker { } - (void)datePickerCell:(NSDatePickerCell *)aDatePickerCell validateProposedDateValue:(NSDate **)proposedDateValue timeInterval:(NSTimeInterval *)proposedTimeInterval; - (void)doTimer:(NSTimer *)timer; -- (void)registerPicker:(uiDateTimePicker *)b; -- (void)unregisterPicker:(uiDateTimePicker *)b; +- (void)registerPicker:(uiDateTimePicker *)d; +- (void)unregisterPicker:(uiDateTimePicker *)d; @end @implementation uiprivDatePickerDelegateClass @@ -78,7 +78,16 @@ struct uiDateTimePicker { static uiprivDatePickerDelegateClass *datePickerDelegate = nil; -uiDarwinControlAllDefaults(uiDateTimePicker, dp) +uiDarwinControlAllDefaultsExceptDestroy(uiDateTimePicker, dp) + +static void uiDateTimePickerDestroy(uiControl *c) +{ + uiDateTimePicker *d = uiDateTimePicker(c); + + [datePickerDelegate unregisterPicker:d]; + [d->dp release]; + uiFreeControl(uiControl(d)); +} static void defaultOnChanged(uiDateTimePicker *d, void *data) {