mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-02-03 11:37:27 -08:00
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
55 lines
2.0 KiB
Diff
55 lines
2.0 KiB
Diff
Source: http://github.com/nanotube/pmw_fixes/commit/5e6dcbdaef2bb6c40037b922dd0efa081f1575ab (Daniel Folkinshteyn)
|
|
|
|
fix bug in OptionMenu.setitems, introduced with the fixing of this python
|
|
bug:
|
|
http://bugs.python.org/issue1342811
|
|
|
|
versions of python 2.5.4 and newer now automatically delete commands when
|
|
items are deleted
|
|
however, that causes error if the command is deleted manually beforehand.
|
|
old versions, on the contrary, require manual command deletion to free up
|
|
the objects.
|
|
|
|
so we put in a python version check to see if we need to manually delete
|
|
commands.
|
|
|
|
fixes the Pmw bug referred to here:
|
|
http://sourceforge.net/forum/forum.php?thread_id=3283195&forum_id=33675
|
|
and here:
|
|
http://sourceforge.net/tracker/?func=detail&aid=2795731&group_id=10743&ati
|
|
d=110743
|
|
|
|
--- a/src/Pmw/Pmw_1_3/lib/PmwOptionMenu.py
|
|
+++ b/src/Pmw/Pmw_1_3/lib/PmwOptionMenu.py
|
|
@@ -1,6 +1,7 @@
|
|
import types
|
|
import Tkinter
|
|
import Pmw
|
|
+import sys
|
|
|
|
class OptionMenu(Pmw.MegaWidget):
|
|
|
|
@@ -59,11 +60,17 @@ class OptionMenu(Pmw.MegaWidget):
|
|
|
|
def setitems(self, items, index = None):
|
|
|
|
- # Clean up old items and callback commands.
|
|
- for oldIndex in range(len(self._itemList)):
|
|
- tclCommandName = str(self._menu.entrycget(oldIndex, 'command'))
|
|
- if tclCommandName != '':
|
|
- self._menu.deletecommand(tclCommandName)
|
|
+ # python version check
|
|
+ # python versions >= 2.5.4 automatically clean commands
|
|
+ # and manually cleaning them causes errors when deleting items
|
|
+
|
|
+ if sys.version_info[0] * 100 + sys.version_info[1] * 10 + \
|
|
+ sys.version_info[2] < 254:
|
|
+ # Clean up old items and callback commands.
|
|
+ for oldIndex in range(len(self._itemList)):
|
|
+ tclCommandName = str(self._menu.entrycget(oldIndex, 'command'))
|
|
+ if tclCommandName != '':
|
|
+ self._menu.deletecommand(tclCommandName)
|
|
self._menu.delete(0, 'end')
|
|
self._itemList = list(items)
|
|
|