Invalid write when halting filter tool with controller
While executing (gimp-2.10) Filters->Blur->Linear Motion Blur...
valgrind --track-origins=yes reports:
==28483== Invalid write of size 8
==28483== at 0x57653B5: g_nullify_pointer (gutils.c:2217)
==28483== by 0x569EA6E: weak_refs_notify (gobject.c:2790)
==28483== by 0x569FD42: g_object_unref (gobject.c:3307)
==28483== by 0x569FD42: g_object_unref (gobject.c:3237)
==28483== by 0x4F6BFC: gimp_draw_tool_set_widget (gimpdrawtool.c:709)
==28483== by 0x4FBAC8: gimp_filter_tool_set_widget (gimpfiltertool.c:1758)
==28483== by 0x4FBE30: gimp_filter_tool_halt (gimpfiltertool.c:1023)
==28483== by 0x4FBE30: gimp_filter_tool_control (gimpfiltertool.c:484)
==28483== by 0x52F3AA: gimp_tool_control (gimptool.c:695)
==28483== by 0x569AE71: g_closure_invoke (gclosure.c:810)
==28483== by 0x56ADCD3: signal_emit_unlocked_R (gsignal.c:3635)
==28483== by 0x56B6ADD: g_signal_emit_valist (gsignal.c:3391)
==28483== by 0x56B7141: g_signal_emit (gsignal.c:3447)
==28483== by 0x569AE71: g_closure_invoke (gclosure.c:810)
==28483== Address 0x70806970 is 16 bytes inside a block of size 40 free'd
==28483== at 0x4839A0C: free (vg_replace_malloc.c:540)
==28483== by 0x5712A0E: g_datalist_clear (gdataset.c:273)
==28483== by 0x569F7B4: g_object_finalize (gobject.c:1067)
==28483== by 0x569FDBD: g_object_unref (gobject.c:3345)
==28483== by 0x569FDBD: g_object_unref (gobject.c:3237)
==28483== by 0x4FBDDE: gimp_filter_tool_halt (gimpfiltertool.c:1014)
==28483== by 0x4FBDDE: gimp_filter_tool_control (gimpfiltertool.c:484)
==28483== by 0x52F3AA: gimp_tool_control (gimptool.c:695)
==28483== by 0x569AE71: g_closure_invoke (gclosure.c:810)
==28483== by 0x56ADCD3: signal_emit_unlocked_R (gsignal.c:3635)
==28483== by 0x56B6ADD: g_signal_emit_valist (gsignal.c:3391)
==28483== by 0x56B7141: g_signal_emit (gsignal.c:3447)
==28483== by 0x569AE71: g_closure_invoke (gclosure.c:810)
==28483== by 0x56ADCD3: signal_emit_unlocked_R (gsignal.c:3635)
==28483== Block was alloc'd at
==28483== at 0x483AB1A: calloc (vg_replace_malloc.c:762)
==28483== by 0x5735FF0: g_malloc0 (gmem.c:129)
==28483== by 0x4FD722: gimp_filter_tool_create_widget (gimpfiltertool-widgets.c:127)
==28483== by 0x4FBF37: gimp_filter_tool_add_controller (gimpfiltertool.c:1726)
==28483== by 0x5A8322: _gimp_prop_gui_new_motion_blur_linear (gimppropgui-motion-blur-linear.c:124)
==28483== by 0x5A284A: gimp_prop_gui_new (gimppropgui.c:525)
==28483== by 0x50F5C7: gimp_operation_tool_create_gui (gimpoperationtool.c:602)
==28483== by 0x50F9C7: gimp_operation_tool_initialize (gimpoperationtool.c:204)
==28483== by 0x50F9C7: gimp_operation_tool_initialize (gimpoperationtool.c:187)
==28483== by 0x52F799: gimp_tool_initialize (gimptool.c:632)
==28483== by 0x4EA3EA: tool_manager_initialize_active (tool_manager.c:242)
==28483== by 0x4CB760: gimp_gegl_procedure_execute_async (gimpgeglprocedure.c:391)
==28483== by 0x6E13EA: gimp_procedure_execute_async (gimpprocedure.c:523)