Fix Ui::add_visible sometimes leaving the Ui in a disabled state

Closes https://github.com/emilk/egui/issues/1436
This commit is contained in:
Emil Ernerfeldt 2022-04-03 19:38:34 +02:00
parent 6091370962
commit d09fa63d9c
2 changed files with 6 additions and 0 deletions

View file

@ -23,6 +23,7 @@ NOTE: [`epaint`](epaint/CHANGELOG.md), [`eframe`](eframe/CHANGELOG.md), [`egui_w
* Fixed ComboBoxes always being rendered left-aligned ([#1304](https://github.com/emilk/egui/pull/1304)). * Fixed ComboBoxes always being rendered left-aligned ([#1304](https://github.com/emilk/egui/pull/1304)).
* Fixed ui code that could lead to a deadlock ([#1380](https://github.com/emilk/egui/pull/1380)). * Fixed ui code that could lead to a deadlock ([#1380](https://github.com/emilk/egui/pull/1380)).
* Text is darker and more readable in bright mode ([#1412](https://github.com/emilk/egui/pull/1412)). * Text is darker and more readable in bright mode ([#1412](https://github.com/emilk/egui/pull/1412)).
* Fixed `Ui::add_visible` sometimes leaving the `Ui` in a disabled state. ([#1436](https://github.com/emilk/egui/issues/1436)).
### Removed 🔥 ### Removed 🔥
* Removed the `single_threaded/multi_threaded` flags - egui is now always thread-safe ([#1390](https://github.com/emilk/egui/pull/1390)). * Removed the `single_threaded/multi_threaded` flags - egui is now always thread-safe ([#1390](https://github.com/emilk/egui/pull/1390)).

View file

@ -1097,9 +1097,14 @@ impl Ui {
if self.is_visible() && !visible { if self.is_visible() && !visible {
// temporary make us invisible: // temporary make us invisible:
let old_painter = self.painter.clone(); let old_painter = self.painter.clone();
let old_enabled = self.enabled;
self.set_visible(false); self.set_visible(false);
let response = self.add(widget); let response = self.add(widget);
self.painter = old_painter; self.painter = old_painter;
self.enabled = old_enabled;
response response
} else { } else {
self.add(widget) self.add(widget)