Browse Source

wxGUI: don't use sys.maxsize with wx.ListCtrl - breaks GUI on 64bit Windows, see https://trac.osgeo.org/grass/ticket/3011

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@68477 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 9 năm trước cách đây
mục cha
commit
ceac8a5952

+ 3 - 3
gui/wxpython/dbmgr/base.py

@@ -2699,7 +2699,7 @@ class DbMgrTablesPage(DbMgrNotebookBase):
         # add item to the list of table columns
         tlist = self.FindWindowById(self.layerPage[self.selLayer]['tableData'])
 
-        index = tlist.InsertStringItem(sys.maxsize, str(name))
+        index = tlist.InsertStringItem(tlist.GetItemCount(), str(name))
         tlist.SetStringItem(index, 0, str(name))
         tlist.SetStringItem(index, 1, str(ctype))
         tlist.SetStringItem(index, 2, str(length))
@@ -2889,7 +2889,7 @@ class TableListCtrl(wx.ListCtrl,
 
         i = 0
         for column in self.columns:
-            index = self.InsertStringItem(sys.maxsize, str(column))
+            index = self.InsertStringItem(i, str(column))
             self.SetStringItem(index, 0, str(column))
             self.SetStringItem(index, 1, str(self.table[column]['type']))
             self.SetStringItem(index, 2, str(self.table[column]['length']))
@@ -2947,7 +2947,7 @@ class LayerListCtrl(wx.ListCtrl,
 
         i = 0
         for layer in self.layers.keys():
-            index = self.InsertStringItem(sys.maxsize, str(layer))
+            index = self.InsertStringItem(i, str(layer))
             self.SetStringItem(index, 0, str(layer))
             database = str(self.layers[layer]['database'])
             driver = str(self.layers[layer]['driver'])

+ 2 - 1
gui/wxpython/gis_set.py

@@ -1137,8 +1137,9 @@ class GListBox(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin):
         :param disabled: list of indices of non-selectable items
         """
         idx = 0
+        count = self.GetItemCount()
         for item in choices:
-            index = self.InsertStringItem(sys.maxsize, item)
+            index = self.InsertStringItem(count + idx, item)
             self.SetStringItem(index, 0, item)
 
             if idx in disabled:

+ 4 - 4
gui/wxpython/gmodeler/dialogs.py

@@ -753,7 +753,7 @@ class VariableListCtrl(ModelListCtrl):
         self.DeleteAllItems()
         i = 0
         for name, vtype, value, desc in self.itemDataMap.itervalues():
-            index = self.InsertStringItem(sys.maxsize, name)
+            index = self.InsertStringItem(i, name)
             self.SetStringItem(index, 0, name)
             self.SetStringItem(index, 1, vtype)
             self.SetStringItem(index, 2, value)
@@ -772,7 +772,7 @@ class VariableListCtrl(ModelListCtrl):
                 return _("Variable <%s> already exists in the model. "
                          "Adding variable failed.") % name
 
-        index = self.InsertStringItem(sys.maxsize, name)
+        index = self.InsertStringItem(self.GetItemCount(), name)
         self.SetStringItem(index, 0, name)
         self.SetStringItem(index, 1, vtype)
         self.SetStringItem(index, 2, value)
@@ -938,7 +938,7 @@ class ItemListCtrl(ModelListCtrl):
         i = 0
         if len(self.columns) == 2:
             for name, desc in self.itemDataMap.itervalues():
-                index = self.InsertStringItem(sys.maxsize, str(i))
+                index = self.InsertStringItem(i, str(i))
                 self.SetStringItem(index, 0, name)
                 self.SetStringItem(index, 1, desc)
                 self.SetItemData(index, i)
@@ -947,7 +947,7 @@ class ItemListCtrl(ModelListCtrl):
                 i += 1
         else:
             for name, inloop, param, desc in self.itemDataMap.itervalues():
-                index = self.InsertStringItem(sys.maxsize, str(i))
+                index = self.InsertStringItem(i, str(i))
                 self.SetStringItem(index, 0, name)
                 self.SetStringItem(index, 1, inloop)
                 self.SetStringItem(index, 2, param)

+ 1 - 1
gui/wxpython/gui_core/preferences.py

@@ -2292,7 +2292,7 @@ class CheckListMapset(
             gisenv['LOCATION_NAME'])
 
         for mapset in self.parent.all_mapsets_ordered:
-            index = self.InsertStringItem(sys.maxsize, mapset)
+            index = self.InsertStringItem(self.GetItemCount(), mapset)
             mapsetPath = os.path.join(locationPath,
                                       mapset)
             stat_info = os.stat(mapsetPath)

+ 1 - 1
gui/wxpython/modules/extensions.py

@@ -533,7 +533,7 @@ class CheckListExtension(GListCtrl):
                               quiet=True, parent=self, read=True,
                               flags='a').splitlines():
             if ext:
-                self.InsertStringItem(sys.maxsize, ext)
+                self.InsertStringItem(self.GetItemCount(), ext)
 
     def GetExtensions(self):
         """Get extensions to be un-installed

+ 2 - 2
gui/wxpython/psmap/dialogs.py

@@ -3637,7 +3637,7 @@ class LegendDialog(PsmapDialog):
 
             for vector in vectors:
                 index = self.vectorListCtrl.InsertStringItem(
-                    sys.maxsize, vector[0].split('@')[0])
+                    self.vectorListCtrl.GetItemCount(), vector[0].split('@')[0])
                 self.vectorListCtrl.SetStringItem(index, 1, vector[4])
                 self.vectorListCtrl.SetItemData(index, index)
                 self.vectorListCtrl.CheckItem(index, True)
@@ -4446,7 +4446,7 @@ class LegendDialog(PsmapDialog):
             self.vectorListCtrl.DeleteAllItems()
             for vector in vectors:
                 index = self.vectorListCtrl.InsertStringItem(
-                    sys.maxsize, vector[0].split('@')[0])
+                    self.vectorListCtrl.GetItemCount(), vector[0].split('@')[0])
                 self.vectorListCtrl.SetStringItem(index, 1, vector[4])
                 self.vectorListCtrl.SetItemData(index, index)
                 self.vectorListCtrl.CheckItem(index, True)

+ 2 - 2
gui/wxpython/vdigit/dialogs.py

@@ -581,7 +581,7 @@ class CategoryListCtrl(wx.ListCtrl,
         for layer in cats.keys():
             catsList = cats[layer]
             for cat in catsList:
-                index = self.InsertStringItem(sys.maxsize, str(catsList[0]))
+                index = self.InsertStringItem(self.GetItemCount(), str(catsList[0]))
                 self.SetStringItem(index, 0, str(layer))
                 self.SetStringItem(index, 1, str(cat))
                 self.SetItemData(index, i)
@@ -801,7 +801,7 @@ class CheckListFeature(
         self.InsertColumn(1, _('Layer (Categories)'))
 
         for item in data:
-            index = self.InsertStringItem(sys.maxsize, str(item[0]))
+            index = self.InsertStringItem(self.GetItemCount(), str(item[0]))
             self.SetStringItem(index, 1, str(item[1]))
 
         # enable all items by default