diff options
Diffstat (limited to 'src/fltk_binding/fltk-widgets.adb')
-rw-r--r-- | src/fltk_binding/fltk-widgets.adb | 10 |
1 files changed, 6 insertions, 4 deletions
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; |