diff options
author | Jedidiah Barber <contact@jedbarber.id.au> | 2024-10-13 03:33:38 +1300 |
---|---|---|
committer | Jedidiah Barber <contact@jedbarber.id.au> | 2024-10-13 03:33:38 +1300 |
commit | b4090a7acddf951088b75fcce0d6edb721bbbf45 (patch) | |
tree | 6770ea43f82e114c188538213f77e76b4eb5da10 /src/fltk-widgets-groups-text_displays.adb | |
parent | 87671a2f2423efacd0b0c4ad0c34c244680ef565 (diff) |
Fixed bug with Text_Buffers not being deallocated correctly if declared after the Text_Display they are attached to
Diffstat (limited to 'src/fltk-widgets-groups-text_displays.adb')
-rw-r--r-- | src/fltk-widgets-groups-text_displays.adb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/fltk-widgets-groups-text_displays.adb b/src/fltk-widgets-groups-text_displays.adb index 59efc55..3dd9f6d 100644 --- a/src/fltk-widgets-groups-text_displays.adb +++ b/src/fltk-widgets-groups-text_displays.adb @@ -470,6 +470,7 @@ package body FLTK.Widgets.Groups.Text_Displays is then This.Clear; free_fl_text_display (This.Void_Ptr); + free_fl_text_buffer (This.Raw_Buffer); This.Void_Ptr := Null_Pointer; end if; Finalize (Group (This)); @@ -546,6 +547,11 @@ package body FLTK.Widgets.Groups.Text_Displays is begin This.Buffer := Buff'Unchecked_Access; fl_text_display_set_buffer (This.Void_Ptr, Wrapper (Buff).Void_Ptr); + if This.Raw_Buffer /= Null_Pointer then + free_fl_text_buffer (This.Raw_Buffer); + end if; + This.Raw_Buffer := Wrapper (Buff).Void_Ptr; + upref_fl_text_buffer (This.Raw_Buffer); end Set_Buffer; |