[PATCH 18/19] Fix selector management after a reformat action is scheduled.
David Lehman
dlehman at redhat.com
Thu Oct 18 21:49:46 UTC 2012
Previously, if an existing device had a mountpoint but was not
scheduled for reformat when you scheduled a reformat, a new
selector would be added without removing the old one(s).
---
pyanaconda/ui/gui/spokes/custom.py | 34 +++++++++++++++++++---------------
1 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/custom.py b/pyanaconda/ui/gui/spokes/custom.py
index 55dd4c3..0683a3f 100644
--- a/pyanaconda/ui/gui/spokes/custom.py
+++ b/pyanaconda/ui/gui/spokes/custom.py
@@ -1190,22 +1190,26 @@ class CustomPartitioningSpoke(NormalSpoke, StorageChecker):
"Click for details."))
self.window.show_all()
else:
- if old_mountpoint:
- selector.props.mountpoint = (mountpoint or
- selector._device.format.name)
- selector.props.name = (self._mountpointName(mountpoint)
- or selector._device.format.name)
+ # first, remove this selector from any old install page(s)
+ new_selector = None
+ for page in self._accordion.allPages:
+ for _selector in getattr(page, "_members", []):
+ if _selector._device in (device, old_device):
+ if page.pageTitle == new_install_name:
+ new_selector = _selector
+ continue
+
+ page.removeSelector(_selector)
+ if not page._members:
+ log.debug("removing empty page %s" % page.pageTitle)
+ self._accordion.removePage(page.pageTitle)
+
+ # either update the existing selector or add a new one
+ if new_selector:
+ new_selector.props.mountpoint = mountpoint or ""
+ new_selector.props.name = (self._mountpointName(mountpoint)
+ or device.format.name)
else:
- # first, remove this selector from any page(s) and add
- # it to the new page
- for page in self._accordion.allPages:
- for _selector in getattr(page, "_members", []):
- if _selector._device in (device, old_device):
- page.removeSelector(_selector)
- if not page._members:
- log.debug("removing empty page %s" % page.pageTitle)
- self._accordion.removePage(page.pageTitle)
-
self.add_new_selector(device)
return
--
1.7.7.6
More information about the anaconda-patches
mailing list