desktop: Forcefully update egui screen_rect to attempt to solve x11 crash
This commit is contained in:
parent
2ab2faa24d
commit
4600dc5c78
|
@ -2,7 +2,7 @@ use crate::custom_event::RuffleEvent;
|
||||||
use crate::gui::movie::{MovieView, MovieViewRenderer};
|
use crate::gui::movie::{MovieView, MovieViewRenderer};
|
||||||
use crate::gui::RuffleGui;
|
use crate::gui::RuffleGui;
|
||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use egui::Context;
|
use egui::{Context, Pos2, Rect, Vec2};
|
||||||
use ruffle_render_wgpu::backend::request_adapter_and_device;
|
use ruffle_render_wgpu::backend::request_adapter_and_device;
|
||||||
use ruffle_render_wgpu::descriptors::Descriptors;
|
use ruffle_render_wgpu::descriptors::Descriptors;
|
||||||
use ruffle_render_wgpu::utils::{format_list, get_backend_names};
|
use ruffle_render_wgpu::utils::{format_list, get_backend_names};
|
||||||
|
@ -138,6 +138,8 @@ impl GuiController {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn render(&mut self, movie: Option<&MovieView>) {
|
pub fn render(&mut self, movie: Option<&MovieView>) {
|
||||||
|
let mut raw_input = self.egui_winit.take_egui_input(&self.window);
|
||||||
|
|
||||||
if self.window.inner_size() != self.last_size {
|
if self.window.inner_size() != self.last_size {
|
||||||
self.surface.configure(
|
self.surface.configure(
|
||||||
&self.descriptors.device,
|
&self.descriptors.device,
|
||||||
|
@ -151,6 +153,13 @@ impl GuiController {
|
||||||
view_formats: Default::default(),
|
view_formats: Default::default(),
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
raw_input.screen_rect = Some(Rect::from_min_size(
|
||||||
|
Pos2::ZERO,
|
||||||
|
Vec2::new(
|
||||||
|
self.window.inner_size().width as f32,
|
||||||
|
self.window.inner_size().height as f32,
|
||||||
|
),
|
||||||
|
));
|
||||||
self.last_size = self.window.inner_size();
|
self.last_size = self.window.inner_size();
|
||||||
}
|
}
|
||||||
let surface_texture = self
|
let surface_texture = self
|
||||||
|
@ -158,7 +167,6 @@ impl GuiController {
|
||||||
.get_current_texture()
|
.get_current_texture()
|
||||||
.expect("Surface became unavailable");
|
.expect("Surface became unavailable");
|
||||||
|
|
||||||
let raw_input = self.egui_winit.take_egui_input(&self.window);
|
|
||||||
let full_output = self.egui_ctx.run(raw_input, |context| {
|
let full_output = self.egui_ctx.run(raw_input, |context| {
|
||||||
self.gui
|
self.gui
|
||||||
.update(context, self.window.fullscreen().is_none(), movie.is_some());
|
.update(context, self.window.fullscreen().is_none(), movie.is_some());
|
||||||
|
|
Loading…
Reference in New Issue