From d45103f2445ed59b7ba78faeae8061327c4ab976 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Tue, 15 May 2018 16:30:58 +1000 Subject: Fixed errors with Event Dispatch and null string pointers --- src/fltk-widgets-menus.adb | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/fltk-widgets-menus.adb') diff --git a/src/fltk-widgets-menus.adb b/src/fltk-widgets-menus.adb index d6148f2..03333d2 100644 --- a/src/fltk-widgets-menus.adb +++ b/src/fltk-widgets-menus.adb @@ -10,7 +10,8 @@ use type System.Address, Interfaces.C.int, - Interfaces.C.unsigned_long; + Interfaces.C.unsigned_long, + Interfaces.C.Strings.chars_ptr; package body FLTK.Widgets.Menus is @@ -561,10 +562,16 @@ package body FLTK.Widgets.Menus is function Chosen_Label (This : in Menu) - return String is + return String + is + Ptr : Interfaces.C.Strings.chars_ptr := fl_menu_text (This.Void_Ptr); begin - -- no dealloc required? - return Interfaces.C.Strings.Value (fl_menu_text (This.Void_Ptr)); + if Ptr = Interfaces.C.Strings.Null_Ptr then + return ""; + else + -- no dealloc required? + return Interfaces.C.Strings.Value (Ptr); + end if; end Chosen_Label; -- cgit