[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [PATCH] Use part instead of device in PartitionWindow.populate() (#575749)



On Thu, 5 Aug 2010, David Lehman wrote:

On Thu, 2010-08-05 at 10:12 -0500, David Lehman wrote:
On Thu, 2010-08-05 at 04:49 -1000, David Cantrell wrote:
In the else clause near the end of the PartitionWindow.populate(), we
are referencing 'device' when we should be using 'part'.  If we enter
this block, it means device is None.
---
 iw/partition_gui.py |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/iw/partition_gui.py b/iw/partition_gui.py
index 4ccac2c..a889b7a 100644
--- a/iw/partition_gui.py
+++ b/iw/partition_gui.py
@@ -1070,7 +1070,7 @@ class PartitionWindow(InstallWindow):
                             devstring = _("Free")
                             ptype = ""
                         else:
-                            devstring = device.name
+                            devstring = partName
                             ptype = _("Extended")

                         self.tree[iter]['Device'] = devstring
@@ -1081,7 +1081,7 @@ class PartitionWindow(InstallWindow):
                         else:
                             sizestr = "%Ld" % (size)
                         self.tree[iter]['Size (MB)'] = sizestr
-                        self.tree[iter]['PyObject'] = device
+                        self.tree[iter]['PyObject'] = part

                     part = part.nextPartition()
             else:


I think I missed by just a bit on this. What probably needs updating is
PartitionWindow.treeActivateCB (the part that expects PyObject to be
None in the case of free space).

Ah, right.  In that case, just disregard the last hunk of the patch.  The
reported traceback occurs with devstring = device.name, which is NoneType has
no member 'name'.  If we leave self.tree[iter]['PyObject'] = device, that
still sets the PyObject to None, so treeActivateCB() should then work.

This seems right, except that deleteCB and editCB will need some
updating to handle the possibility that DiskTreeModel will return a
parted.Partition instance, eg:

    device = self.tree.getCurrentDevice()
    if device.partitioned:

and

    device = self.tree.getCurrentDevice()
    reason = self.storage.deviceImmutable(device, ignoreProtected=True)



So I can disregard this part?

--
David Cantrell <dcantrell redhat com>
Red Hat / Honolulu, HI


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]