Added __dict__ attributes all over the place.
diff --git a/Modules/stdwinmodule.c b/Modules/stdwinmodule.c
index 8a652e3..f8c312e 100644
--- a/Modules/stdwinmodule.c
+++ b/Modules/stdwinmodule.c
@@ -1039,12 +1039,18 @@
 	textobject *tp;
 	char *name;
 {
-	if (tp->t_attr != NULL) {
-		object *v = dictlookup(tp->t_attr, name);
-		if (v != NULL) {
-			INCREF(v);
-			return v;
-		}
+	object *v = NULL;
+	if (strcmp(name, "__dict__") == 0) {
+		v = tp->t_attr;
+		if (v == NULL)
+			v = None;
+	}
+	else if (tp->t_attr != NULL) {
+		v = dictlookup(tp->t_attr, name);
+	}
+	if (v != NULL) {
+		INCREF(v);
+		return v;
 	}
 	return findmethod(text_methods, (object *)tp, name);
 }
@@ -1217,12 +1223,18 @@
 	menuobject *mp;
 	char *name;
 {
-	if (mp->m_attr != NULL) {
-		object *v = dictlookup(mp->m_attr, name);
-		if (v != NULL) {
-			INCREF(v);
-			return v;
-		}
+	object *v = NULL;
+	if (strcmp(name, "__dict__") == 0) {
+		v = mp->m_attr;
+		if (v == NULL)
+			v = None;
+	}
+	else if (mp->m_attr != NULL) {
+		v = dictlookup(mp->m_attr, name);
+	}
+	if (v != NULL) {
+		INCREF(v);
+		return v;
 	}
 	return findmethod(menu_methods, (object *)mp, name);
 }
@@ -1575,12 +1587,18 @@
 	windowobject *wp;
 	char *name;
 {
-	if (wp->w_attr != NULL) {
-		object *v = dictlookup(wp->w_attr, name);
-		if (v != NULL) {
-			INCREF(v);
-			return v;
-		}
+	object *v = NULL;
+	if (strcmp(name, "__dict__") == 0) {
+		v = wp->w_attr;
+		if (v == NULL)
+			v = None;
+	}
+	else if (wp->w_attr != NULL) {
+		v = dictlookup(wp->w_attr, name);
+	}
+	if (v != NULL) {
+		INCREF(v);
+		return v;
 	}
 	return findmethod(window_methods, (object *)wp, name);
 }