mirror of
https://github.com/arsenetar/dupeguru.git
synced 2025-03-10 05:34:36 +00:00
[#140 state:fixed] Fixed a crash on dupe renaming.
This commit is contained in:
parent
f33f30eabf
commit
f28ffc680a
@ -102,6 +102,10 @@ class ResultTable(GUIObject, GUITable):
|
|||||||
|
|
||||||
def rename_selected(self, newname):
|
def rename_selected(self, newname):
|
||||||
row = self.selected_row
|
row = self.selected_row
|
||||||
|
if row is None:
|
||||||
|
# There's all kinds of way the current row can be swept off during rename. When it
|
||||||
|
# happens, selected_row will be None.
|
||||||
|
return False
|
||||||
row._data = None
|
row._data = None
|
||||||
row._data_delta = None
|
row._data_delta = None
|
||||||
return self.app.rename_selected(newname)
|
return self.app.rename_selected(newname)
|
||||||
|
@ -136,6 +136,13 @@ class TestCaseDupeGuru:
|
|||||||
app.start_scanning()
|
app.start_scanning()
|
||||||
eq_(len(app.results.groups), 0)
|
eq_(len(app.results.groups), 0)
|
||||||
|
|
||||||
|
def test_rename_when_nothing_is_selected(self):
|
||||||
|
# It's possible that rename operation has its selected row swept off from under it, thus
|
||||||
|
# making the selected row None. Don't crash when it happens.
|
||||||
|
dgapp = DupeGuru()
|
||||||
|
rtable = ResultTable(CallLogger(), dgapp)
|
||||||
|
# selected_row is None because there's no result.
|
||||||
|
assert not rtable.rename_selected('foo') # no crash
|
||||||
|
|
||||||
class TestCaseDupeGuru_clean_empty_dirs:
|
class TestCaseDupeGuru_clean_empty_dirs:
|
||||||
def pytest_funcarg__do_setup(self, request):
|
def pytest_funcarg__do_setup(self, request):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user