Merged revisions 70463 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r70463 | benjamin.peterson | 2009-03-18 15:52:15 -0500 (Wed, 18 Mar 2009) | 1 line

  fix strange errors when setting attributes on tracebacks #4034
........
diff --git a/Objects/frameobject.c b/Objects/frameobject.c
index 489e8bb..9a37b62 100644
--- a/Objects/frameobject.c
+++ b/Objects/frameobject.c
@@ -572,7 +572,17 @@
 int _PyFrame_Init()
 {
 	builtin_object = PyString_InternFromString("__builtins__");
-	return (builtin_object != NULL);
+	if (builtin_object == NULL)
+		return 0;
+	/* 
+	   Traceback objects are not created the normal way (through calling the
+	   type), so PyType_Ready has to be called here.
+	*/
+	if (PyType_Ready(&PyTraceBack_Type)) {
+		Py_DECREF(builtin_object);
+		return 0;
+	}
+	return 1;
 }
 
 PyFrameObject *