Do not toggle hunk diffs when resizing the docks (#11489)

Kirill Bulatov and Piotr created

Closes https://github.com/zed-industries/zed/issues/11456 

Release Notes:

- N/A

---------

Co-authored-by: Piotr <piotr@zed.dev>

Change summary

crates/workspace/src/dock.rs | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)

Detailed changes

crates/workspace/src/dock.rs 🔗

@@ -2,10 +2,10 @@ use crate::persistence::model::DockData;
 use crate::{status_bar::StatusItemView, Workspace};
 use crate::{DraggedDock, Event};
 use gpui::{
-    deferred, div, px, Action, AnchorCorner, AnyView, AppContext, Axis, ClickEvent, Entity,
-    EntityId, EventEmitter, FocusHandle, FocusableView, IntoElement, KeyContext, MouseButton,
-    ParentElement, Render, SharedString, StyleRefinement, Styled, Subscription, View, ViewContext,
-    VisualContext, WeakView, WindowContext,
+    deferred, div, px, Action, AnchorCorner, AnyView, AppContext, Axis, Entity, EntityId,
+    EventEmitter, FocusHandle, FocusableView, IntoElement, KeyContext, MouseButton, MouseDownEvent,
+    MouseUpEvent, ParentElement, Render, SharedString, StyleRefinement, Styled, Subscription, View,
+    ViewContext, VisualContext, WeakView, WindowContext,
 };
 use schemars::JsonSchema;
 use serde::{Deserialize, Serialize};
@@ -573,12 +573,21 @@ impl Render for Dock {
                         cx.stop_propagation();
                         cx.new_view(|_| dock.clone())
                     })
-                    .on_click(cx.listener(|v, e: &ClickEvent, cx| {
-                        if e.down.button == MouseButton::Left && e.down.click_count == 2 {
-                            v.resize_active_panel(None, cx);
+                    .on_mouse_down(
+                        MouseButton::Left,
+                        cx.listener(|_, _: &MouseDownEvent, cx| {
                             cx.stop_propagation();
-                        }
-                    }))
+                        }),
+                    )
+                    .on_mouse_up(
+                        MouseButton::Left,
+                        cx.listener(|v, e: &MouseUpEvent, cx| {
+                            if e.click_count == 2 {
+                                v.resize_active_panel(None, cx);
+                                cx.stop_propagation();
+                            }
+                        }),
+                    )
                     .occlude();
                 match self.position() {
                     DockPosition::Left => deferred(