Fix editor viewport activating while dragging a window

This commit is contained in:
2025-04-18 21:44:09 +03:00
parent 7eb7236b8a
commit d4e87877b6
2 changed files with 9 additions and 1 deletions

View File

@@ -32,9 +32,15 @@ namespace FlaxEditor.GUI.Docking
/// The opacity of the dragged window when hint controls are shown.
/// </summary>
public const float DragWindowOpacity = 0.4f;
/// <summary>
/// Returns true if any windows are being dragged.
/// </summary>
public static bool IsDragActive { get; private set; }
private WindowDragHelper(FloatWindowDockPanel toMove, Window dragSourceWindow)
{
IsDragActive = true;
_toMove = toMove;
_toSet = DockState.Float;
var window = toMove.Window.Window;
@@ -72,6 +78,7 @@ namespace FlaxEditor.GUI.Docking
/// </summary>
public void Dispose()
{
IsDragActive = false;
var window = _toMove?.Window?.Window;
// Unbind events

View File

@@ -4,6 +4,7 @@ using System;
using System.Linq;
using FlaxEditor.Content.Settings;
using FlaxEditor.GUI.ContextMenu;
using FlaxEditor.GUI.Docking;
using FlaxEditor.GUI.Input;
using FlaxEditor.Options;
using FlaxEditor.Viewport.Cameras;
@@ -1578,7 +1579,7 @@ namespace FlaxEditor.Viewport
// Update input
var window = win.Window;
var canUseInput = window != null && window.IsFocused && window.IsForegroundWindow;
var canUseInput = window != null && window.IsFocused && window.IsForegroundWindow && !WindowDragHelper.IsDragActive;
{
// Get input buttons and keys (skip if viewport has no focus or mouse is over a child control)
var isViewportControllingMouse = canUseInput && IsControllingMouse;