From df843c7fe48f33d25981d03975e670a3e7159031 Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Sun, 7 May 2017 12:04:33 +1000 Subject: Further code cleanup --- src/fltk-widgets-groups-windows-single-menu.adb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/fltk-widgets-groups-windows-single-menu.adb') diff --git a/src/fltk-widgets-groups-windows-single-menu.adb b/src/fltk-widgets-groups-windows-single-menu.adb index 9d38a37..08e74e2 100644 --- a/src/fltk-widgets-groups-windows-single-menu.adb +++ b/src/fltk-widgets-groups-windows-single-menu.adb @@ -66,6 +66,9 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is procedure Draw_Hook (U : in System.Address) is + package Menu_Window_Convert is new + System.Address_To_Access_Conversions (Menu_Window'Class); + Ada_Window : access Menu_Window'Class := Menu_Window_Convert.To_Pointer (U); begin @@ -87,12 +90,13 @@ package body FLTK.Widgets.Groups.Windows.Single.Menu is procedure Finalize (This : in out Menu_Window) is begin - Finalize (Single_Window (This)); - if This.Void_Ptr /= System.Null_Address then - if This in Menu_Window then - free_fl_menu_window (This.Void_Ptr); - end if; + if This in Menu_Window and then + This.Void_Ptr /= System.Null_Address + then + This.Clear; + free_fl_menu_window (This.Void_Ptr); end if; + Finalize (Single_Window (This)); end Finalize; -- cgit