Fix sometimes not being able to click inside a combo box or popup menu
This commit is contained in:
parent
9bc95289cc
commit
56913a9ae9
3 changed files with 11 additions and 5 deletions
|
@ -15,6 +15,7 @@ NOTE: [`eframe`](eframe/CHANGELOG.md), [`egui_web`](egui_web/CHANGELOG.md) and [
|
|||
* Make minimum grid column width propagate properly.
|
||||
* Make sure `TextEdit` contents expand to fill width if applicable.
|
||||
* `ProgressBar`: add a minimum width and fix for having it in an infinite layout.
|
||||
* Fix sometimes not being able to click inside a combo box or popup menu.
|
||||
|
||||
|
||||
## 0.14.0 - 2021-08-24 - Ui panels and bug fixes
|
||||
|
|
|
@ -168,7 +168,7 @@ impl Area {
|
|||
pub(crate) struct Prepared {
|
||||
layer_id: LayerId,
|
||||
state: State,
|
||||
movable: bool,
|
||||
pub(crate) movable: bool,
|
||||
enabled: bool,
|
||||
drag_bounds: Option<Rect>,
|
||||
}
|
||||
|
@ -337,10 +337,13 @@ impl Prepared {
|
|||
state.pos += ctx.input().pointer.delta();
|
||||
}
|
||||
|
||||
if let Some(bounds) = drag_bounds {
|
||||
state.pos = ctx.constrain_window_rect_to_area(state.rect(), bounds).min;
|
||||
} else {
|
||||
state.pos = ctx.constrain_window_rect(state.rect()).min;
|
||||
// Important check - don't try to move e.g. a combobox popup!
|
||||
if movable {
|
||||
if let Some(bounds) = drag_bounds {
|
||||
state.pos = ctx.constrain_window_rect_to_area(state.rect(), bounds).min;
|
||||
} else {
|
||||
state.pos = ctx.constrain_window_rect(state.rect()).min;
|
||||
}
|
||||
}
|
||||
|
||||
if (move_response.dragged() || move_response.clicked())
|
||||
|
|
|
@ -404,6 +404,8 @@ impl<'open> Window<'open> {
|
|||
}
|
||||
content_inner
|
||||
};
|
||||
|
||||
area.movable = possible.movable; // Tell it the truth
|
||||
let full_response = area.end(ctx, area_content_ui);
|
||||
|
||||
let inner_response = InnerResponse {
|
||||
|
|
Loading…
Reference in a new issue