summaryrefslogtreecommitdiff
path: root/src/fltk-images-rgb-png.adb
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2017-05-10 20:07:16 +1000
committerJed Barber <jjbarber@y7mail.com>2017-05-10 20:07:16 +1000
commit703c2e726a75cbedb43d3105f9e0b2bab9e59e77 (patch)
treee62b5012c27d295e590bef9a7cac89bb08ee026d /src/fltk-images-rgb-png.adb
parent9dcf299b63268278b0a9a27ed2dc600f19e458b2 (diff)
Fixed Finalize inheritance bug
Diffstat (limited to 'src/fltk-images-rgb-png.adb')
-rw-r--r--src/fltk-images-rgb-png.adb11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/fltk-images-rgb-png.adb b/src/fltk-images-rgb-png.adb
index ecb2f5e..f6d9870 100644
--- a/src/fltk-images-rgb-png.adb
+++ b/src/fltk-images-rgb-png.adb
@@ -23,12 +23,13 @@ package body FLTK.Images.RGB.PNG is
overriding procedure Finalize
(This : in out PNG_Image) is
begin
- Finalize (RGB_Image (This));
- if This.Void_Ptr /= System.Null_Address then
- if This in PNG_Image then
- free_fl_png_image (This.Void_Ptr);
- end if;
+ if This.Void_Ptr /= System.Null_Address and then
+ This in PNG_Image'Class
+ then
+ free_fl_png_image (This.Void_Ptr);
+ This.Void_Ptr := System.Null_Address;
end if;
+ Finalize (RGB_Image (This));
end Finalize;