RefactoringRope/ChangeSignatureDialog.py

changeset 320
91b171fdd85f
parent 302
2e853e2f2430
child 326
67bcde9c65b9
--- a/RefactoringRope/ChangeSignatureDialog.py	Fri Oct 11 18:42:45 2019 +0200
+++ b/RefactoringRope/ChangeSignatureDialog.py	Fri Oct 11 19:05:23 2019 +0200
@@ -12,8 +12,9 @@
 import copy
 
 from PyQt5.QtCore import pyqtSlot, Qt
-from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QListWidgetItem, \
-    QAbstractButton
+from PyQt5.QtWidgets import (
+    QDialog, QDialogButtonBox, QListWidgetItem, QAbstractButton
+)
 
 from .Ui_ChangeSignatureDialog import Ui_ChangeSignatureDialog
 from .RefactoringDialogBase import RefactoringDialogBase
@@ -216,6 +217,8 @@
         for index, pair in enumerate(definition_info):
             if pair[0] == name:
                 return index
+        
+        return -1
 
     def _calculateChanges(self):
         """
@@ -229,8 +232,9 @@
             index = self.__getParameterIndex(
                 definition_info,
                 itm.data(ChangeSignatureDialog.NameRole))
-            removals.append(index)
-            del definition_info[index]
+            if index >= 0:
+                removals.append(index)
+                del definition_info[index]
         
         additions = []
         for index in range(self.parameterList.count()):
@@ -249,8 +253,9 @@
         for row in range(self.parameterList.count()):
             itm = self.parameterList.item(row)
             name = itm.data(ChangeSignatureDialog.NameRole)
-            newOrdering.append(
-                self.__getParameterIndex(definition_info, name))
+            index = self.__getParameterIndex(definition_info, name)
+            if index >= 0:
+                newOrdering.append(index)
         autodef = self.autodefEdit.text()
         if not autodef:
             autodef = None

eric ide

mercurial