File tree 2 files changed +32
-26
lines changed
2 files changed +32
-26
lines changed Original file line number Diff line number Diff line change @@ -452,24 +452,25 @@ where
452
452
_ => { }
453
453
}
454
454
455
- if self . state . picked_pane ( ) . is_none ( ) {
456
- self . elements
457
- . iter_mut ( )
458
- . zip ( layout. children ( ) )
459
- . map ( |( ( _, pane) , layout) | {
460
- pane. on_event (
461
- event. clone ( ) ,
462
- layout,
463
- cursor_position,
464
- renderer,
465
- clipboard,
466
- messages,
467
- )
468
- } )
469
- . fold ( event_status, event:: Status :: merge)
470
- } else {
471
- event:: Status :: Captured
472
- }
455
+ let picked_pane = self . state . picked_pane ( ) . map ( |( pane, _) | pane) ;
456
+
457
+ self . elements
458
+ . iter_mut ( )
459
+ . zip ( layout. children ( ) )
460
+ . map ( |( ( pane, content) , layout) | {
461
+ let is_picked = picked_pane == Some ( * pane) ;
462
+
463
+ content. on_event (
464
+ event. clone ( ) ,
465
+ layout,
466
+ cursor_position,
467
+ renderer,
468
+ clipboard,
469
+ messages,
470
+ is_picked,
471
+ )
472
+ } )
473
+ . fold ( event_status, event:: Status :: merge)
473
474
}
474
475
475
476
fn draw (
Original file line number Diff line number Diff line change @@ -149,6 +149,7 @@ where
149
149
renderer : & Renderer ,
150
150
clipboard : & mut dyn Clipboard ,
151
151
messages : & mut Vec < Message > ,
152
+ is_picked : bool ,
152
153
) -> event:: Status {
153
154
let mut event_status = event:: Status :: Ignored ;
154
155
@@ -169,14 +170,18 @@ where
169
170
layout
170
171
} ;
171
172
172
- let body_status = self . body . on_event (
173
- event,
174
- body_layout,
175
- cursor_position,
176
- renderer,
177
- clipboard,
178
- messages,
179
- ) ;
173
+ let body_status = if is_picked {
174
+ event:: Status :: Ignored
175
+ } else {
176
+ self . body . on_event (
177
+ event,
178
+ body_layout,
179
+ cursor_position,
180
+ renderer,
181
+ clipboard,
182
+ messages,
183
+ )
184
+ } ;
180
185
181
186
event_status. merge ( body_status)
182
187
}
You can’t perform that action at this time.
0 commit comments