diff --git a/Source/Editor/GUI/AssetPicker.cs b/Source/Editor/GUI/AssetPicker.cs index 63c1276ab..db012ab1e 100644 --- a/Source/Editor/GUI/AssetPicker.cs +++ b/Source/Editor/GUI/AssetPicker.cs @@ -355,12 +355,10 @@ namespace FlaxEditor.GUI _mousePos = location; // Check if start drag drop - if (_isMouseDown && Vector2.Distance(location, _mouseDownPos) > 10.0f) + if (_isMouseDown && Vector2.Distance(location, _mouseDownPos) > 10.0f && IconRect.Contains(_mouseDownPos)) { - // Clear flag - _isMouseDown = false; - // Do the drag + _isMouseDown = false; DoDrag(); } @@ -370,35 +368,35 @@ namespace FlaxEditor.GUI /// public override bool OnMouseUp(Vector2 location, MouseButton button) { - if (button == MouseButton.Left) + if (button == MouseButton.Left && _isMouseDown) { _isMouseDown = false; - } - // Buttons logic - if (Button1Rect.Contains(location)) - { - // Show asset picker popup - Focus(); - AssetSearchPopup.Show(this, Button1Rect.BottomLeft, IsValid, assetItem => + // Buttons logic + if (Button1Rect.Contains(location)) { - SelectedItem = assetItem; - RootWindow.Focus(); + // Show asset picker popup Focus(); - }); - } - else if (_selected != null || _selectedItem != null) - { - if (Button2Rect.Contains(location) && _selectedItem != null) - { - // Select asset - Editor.Instance.Windows.ContentWin.Select(_selectedItem); + AssetSearchPopup.Show(this, Button1Rect.BottomLeft, IsValid, assetItem => + { + SelectedItem = assetItem; + RootWindow.Focus(); + Focus(); + }); } - else if (Button3Rect.Contains(location)) + else if (_selected != null || _selectedItem != null) { - // Deselect asset - Focus(); - SelectedItem = null; + if (Button2Rect.Contains(location) && _selectedItem != null) + { + // Select asset + Editor.Instance.Windows.ContentWin.Select(_selectedItem); + } + else if (Button3Rect.Contains(location)) + { + // Deselect asset + Focus(); + SelectedItem = null; + } } } @@ -409,8 +407,7 @@ namespace FlaxEditor.GUI /// public override bool OnMouseDown(Vector2 location, MouseButton button) { - // Set flag for dragging asset - if (button == MouseButton.Left && IconRect.Contains(location)) + if (button == MouseButton.Left) { _isMouseDown = true; _mouseDownPos = location;