From 15b668b32dcf660f84a417c6d320900b3633bee8 Mon Sep 17 00:00:00 2001
From: crumblingstatue <radiantstatue@gmail.com>
Date: Wed, 9 Oct 2024 18:04:53 +0200
Subject: [PATCH] render_states: Use Option<&'texture> instead of *const
 Texture

---
 src/graphics/render_states.rs | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/src/graphics/render_states.rs b/src/graphics/render_states.rs
index 1863fef1..22c5b2e1 100644
--- a/src/graphics/render_states.rs
+++ b/src/graphics/render_states.rs
@@ -61,9 +61,8 @@ pub struct RenderStates<'texture, 'shader, 'shader_texture: 'shader> {
     pub blend_mode: BlendMode,
     /// The transform
     pub transform: Transform,
-    texture: *const Texture,
+    texture: Option<&'texture Texture>,
     shader: *const ffi::sfShader,
-    _texture: PhantomData<&'texture Texture>,
     _shader: PhantomData<&'shader Shader<'shader_texture>>,
 }
 
@@ -87,24 +86,17 @@ impl<'texture, 'shader, 'shader_texture> RenderStates<'texture, 'shader, 'shader
         Self {
             blend_mode,
             transform,
-            texture: match texture {
-                Some(tex) => tex,
-                None => ptr::null(),
-            },
+            texture,
             shader: match shader {
                 Some(shader) => shader.raw(),
                 None => ptr::null(),
             },
-            _texture: PhantomData,
             _shader: PhantomData,
         }
     }
     /// Sets the texture
     pub fn set_texture(&mut self, texture: Option<&'texture Texture>) {
-        self.texture = match texture {
-            None => ptr::null(),
-            Some(tex) => tex,
-        };
+        self.texture = texture;
     }
     /// Sets the shader
     pub fn set_shader(&mut self, shader: Option<&'shader Shader<'shader_texture>>) {
@@ -122,9 +114,8 @@ impl RenderStates<'static, 'static, 'static> {
     pub const DEFAULT: Self = Self {
         blend_mode: BlendMode::ALPHA,
         transform: Transform::IDENTITY,
-        texture: ptr::null(),
+        texture: None,
         shader: ptr::null(),
-        _texture: PhantomData,
         _shader: PhantomData,
     };
 }