From c9fb3804909a8ea91a3e0def84120374ce538b7e Mon Sep 17 00:00:00 2001 From: Crax97 Date: Mon, 29 Aug 2022 22:51:49 +0200 Subject: [PATCH] PixelPaint: Execute mousemove_event early return check before This is done to allow querying the current active tool inside the event_with_pan_and_scale_applied and event_adjusted_for_layer functions without risking a null pointer dereference --- Userland/Applications/PixelPaint/ImageEditor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Userland/Applications/PixelPaint/ImageEditor.cpp b/Userland/Applications/PixelPaint/ImageEditor.cpp index 23908092fd..aa76f0e593 100644 --- a/Userland/Applications/PixelPaint/ImageEditor.cpp +++ b/Userland/Applications/PixelPaint/ImageEditor.cpp @@ -335,14 +335,14 @@ void ImageEditor::mousemove_event(GUI::MouseEvent& event) return; } + if (!m_active_tool) + return; + auto image_event = event_with_pan_and_scale_applied(event); if (on_image_mouse_position_change) { on_image_mouse_position_change(image_event.position()); } - if (!m_active_tool) - return; - auto layer_event = m_active_layer ? event_adjusted_for_layer(event, *m_active_layer) : event; Tool::MouseEvent tool_event(Tool::MouseEvent::Action::MouseDown, layer_event, image_event, event); m_active_tool->on_mousemove(m_active_layer.ptr(), tool_event);