diff options
Diffstat (limited to 'pyanaconda/ui/gui/spokes/source.py')
-rw-r--r-- | pyanaconda/ui/gui/spokes/source.py | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/pyanaconda/ui/gui/spokes/source.py b/pyanaconda/ui/gui/spokes/source.py index 9d336cc02..61ce3ae4d 100644 --- a/pyanaconda/ui/gui/spokes/source.py +++ b/pyanaconda/ui/gui/spokes/source.py @@ -36,7 +36,7 @@ from pyanaconda.image import opticalInstallMedia, potentialHdisoSources from pyanaconda.ui.gui import GUIObject, communication from pyanaconda.ui.gui.spokes import NormalSpoke from pyanaconda.ui.gui.categories.software import SoftwareCategory -from pyanaconda.ui.gui.utils import enlightbox, gdk_threaded +from pyanaconda.ui.gui.utils import enlightbox, gtk_thread_wait from pyanaconda.iutil import ProxyString, ProxyStringError __all__ = ["SourceSpoke"] @@ -623,37 +623,40 @@ class SourceSpoke(NormalSpoke): cdrom = None chosen = False - with gdk_threaded(): - # If we've previously set up to use a CD/DVD method, the media has - # already been mounted by payload.setup. We can't try to mount it - # again. So just use what we already know to create the selector. - # Otherwise, check to see if there's anything available. - if self.data.method.method == "cdrom": - cdrom = self.payload.install_device - chosen = True - else: - cdrom = opticalInstallMedia(self.storage.devicetree, mountpoint=MOUNTPOINT) + # If we've previously set up to use a CD/DVD method, the media has + # already been mounted by payload.setup. We can't try to mount it + # again. So just use what we already know to create the selector. + # Otherwise, check to see if there's anything available. + if self.data.method.method == "cdrom": + cdrom = self.payload.install_device + chosen = True + else: + cdrom = opticalInstallMedia(self.storage.devicetree, mountpoint=MOUNTPOINT) - if cdrom: + if cdrom: + @gtk_thread_wait + def gtk_action_1(): selector = AnacondaWidgets.DiskOverview(cdrom.format.label or "", "drive-removable-media", "") selector.path = cdrom.path selector.set_chosen(chosen) self._autodetectMediaBox.pack_start(selector, False, False, 0) - added = True + + gtk_action_1() + added = True - if self.data.method.method == "harddrive": - self._currentIsoFile = self.payload.ISOImage + if self.data.method.method == "harddrive": + self._currentIsoFile = self.payload.ISOImage - # These UI elements default to not being showable. If optical install - # media were found, mark them to be shown. - if added: - self._autodetectBox.set_no_show_all(False) - self._autodetectButton.set_no_show_all(False) + # These UI elements default to not being showable. If optical install + # media were found, mark them to be shown. + if added: + gtk_call_once(self._autodetectBox.set_no_show_all, False) + gtk_call_once(self._autodetectButton.set_no_show_all, False) - # Add the mirror manager URL in as the default for HTTP and HTTPS. - # We'll override this later in the refresh() method, if they've already - # provided a URL. - # FIXME + # Add the mirror manager URL in as the default for HTTP and HTTPS. + # We'll override this later in the refresh() method, if they've already + # provided a URL. + # FIXME self._ready = True communication.send_ready(self.__class__.__name__) |