From 9d1ba288b10c009ccf5cd51435ce6bb22189a5b0 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Thu, 10 Apr 2025 12:54:11 +0200 Subject: [PATCH] Window: Fix incorrect logic in dragging code These `if`s used to be early returns and were improperly inverted in c199a84db9db85d81bd7da40f25acae05b30cc31. This is why our integration tests were no longer able to dismiss notifications by dragging them off-screen, because the tests were moving the mouse perfectly horizontally, so no drag event was ever emitted. --- src/main/kotlin/gg/essential/elementa/components/Window.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/gg/essential/elementa/components/Window.kt b/src/main/kotlin/gg/essential/elementa/components/Window.kt index b9da3d76..01d955d5 100644 --- a/src/main/kotlin/gg/essential/elementa/components/Window.kt +++ b/src/main/kotlin/gg/essential/elementa/components/Window.kt @@ -334,13 +334,13 @@ class Window @JvmOverloads constructor( if (currentMouseButton != -1) { val (mouseX, mouseY) = getMousePosition() if (version >= ElementaVersion.v2) { - if (prevDraggedMouseX != mouseX && prevDraggedMouseY != mouseY) { + if (prevDraggedMouseX != mouseX || prevDraggedMouseY != mouseY) { prevDraggedMouseX = mouseX prevDraggedMouseY = mouseY dragMouse(mouseX, mouseY, currentMouseButton) } } else { - if (prevDraggedMouseX != mouseX.toInt().toFloat() && prevDraggedMouseY != mouseY.toInt().toFloat()) { + if (prevDraggedMouseX != mouseX.toInt().toFloat() || prevDraggedMouseY != mouseY.toInt().toFloat()) { prevDraggedMouseX = mouseX.toInt().toFloat() prevDraggedMouseY = mouseY.toInt().toFloat() @Suppress("DEPRECATION")