summaryrefslogtreecommitdiff
path: root/src/fltk-images-rgb-png.adb
diff options
context:
space:
mode:
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;