--- /usr/lib/ubiquity/ubiquity/frontend/kde_ui.O.py 2023-01-10 08:26:07.000000000 -0800 +++ /usr/lib/ubiquity/ubiquity/frontend/kde_ui.py 2023-04-24 19:54:51.660054461 -0700 @@ -532,6 +532,17 @@ if self.current_page is not None: self._update_breadcrumbs('__install') self.start_slideshow() + # At this point, it does not make sense to show the Back & Next + # buttons anymore. Besides, a click on the Next button would make + # the application crash. + # In most scenarios, the call to self.start_slideshow() is enough + # to hide the navigation. Having said that, the function does not + # hide the navigation if: + # * the slideshow does not exist ; which is the case when running + # oem-config (see LP #1990196) + # * if the slideshow is disabled intentionally through debconf + # + self.ui.navigation.hide() self.run_main_loop() telemetry.get().done(self.db) @@ -1069,8 +1080,13 @@ if not self.allowed_change_step or not self.allowed_go_forward: return + # Ignore page where index does not exist. + try: + ui = self.pages[self.pagesindex].ui + except IndexError: + return + self.allow_change_step(False) - ui = self.pages[self.pagesindex].ui if hasattr(ui, 'plugin_on_next_clicked'): if ui.plugin_on_next_clicked(): # Stop processing and return to the page.