From bf5b67dee0d61996c3937dd8b255d5fcf2198973 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Fri, 11 Nov 2016 10:53:05 +1100 Subject: Simplified widget callbacks --- src/fltk_binding/fltk-widgets.adb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/fltk_binding/fltk-widgets.adb') diff --git a/src/fltk_binding/fltk-widgets.adb b/src/fltk_binding/fltk-widgets.adb index 256b8e6..9ec2350 100644 --- a/src/fltk_binding/fltk-widgets.adb +++ b/src/fltk_binding/fltk-widgets.adb @@ -242,7 +242,7 @@ package body FLTK.Widgets is Ada_Widget : access Widget'Class := Widget_Convert.To_Pointer (U); begin - Ada_Widget.Callback.Call (Ada_Widget.all); + Ada_Widget.Callback.all (Ada_Widget.all); end Callback_Hook; @@ -250,10 +250,12 @@ package body FLTK.Widgets is procedure Set_Callback (This : in out Widget; - Func : not null access Widget_Callback'Class) is + Func : in Widget_Callback) is begin - This.Callback := Func; - fl_widget_set_callback (This.Void_Ptr, Callback_Hook'Address); + if Func /= null then + This.Callback := Func; + fl_widget_set_callback (This.Void_Ptr, Callback_Hook'Address); + end if; end Set_Callback; -- cgit