From c7d9b2ca92fa03cb20cc07e36203a74a3648f658 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Wed, 19 Aug 2020 11:42:23 +0200 Subject: [PATCH] nitpicker: fix mode change for requested fb This is a follow-up commit to "nitpicker: make framebuffer and input optional". It restores the dynamic mode-change support when using 'request_framebuffer="yes"' as needed in scenarios where multiple nitpicker instances are used in a cascaded way. E.g., Sculpt's Leitzentrale. The previous version missed to reconstruct the '_fb_screen' on mode changes. Issue #3812 --- repos/os/src/server/nitpicker/main.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/repos/os/src/server/nitpicker/main.cc b/repos/os/src/server/nitpicker/main.cc index 23ab2f190b..558f99884b 100644 --- a/repos/os/src/server/nitpicker/main.cc +++ b/repos/os/src/server/nitpicker/main.cc @@ -890,15 +890,15 @@ void Nitpicker::Main::_handle_fb_mode() _timer.trigger_periodic(0); } - if (_request_framebuffer && !_fb_screen.constructed()) + /* reconstruct '_fb_screen' with updated mode */ + if (_request_framebuffer && _framebuffer.constructed()) _fb_screen.construct(_env.rm(), *_framebuffer); if (!_request_framebuffer && _fb_screen.constructed()) _fb_screen.destruct(); - if (!_request_framebuffer && _framebuffer.constructed()) { + if (!_request_framebuffer && _framebuffer.constructed()) _framebuffer.destruct(); - } if (!_request_framebuffer) _timer.trigger_periodic(_timer_period_ms*1000);