Bugfix: Set the TEBF_WIN32 flag in teb.flags for 32-bit threads.
diff --git a/include/thread.h b/include/thread.h
index 60c4220..7a6d85b 100644
--- a/include/thread.h
+++ b/include/thread.h
@@ -53,6 +53,10 @@
struct _PDB32 *process; /* 30 owning process (used by NT3.51 applets)*/
} TEB;
+/* Thread exception flags */
+#define TEBF_WIN32 0x0001
+#define TEBF_TRAP 0x0002
+
/* Event waiting structure */
typedef struct
{
diff --git a/scheduler/thread.c b/scheduler/thread.c
index 7639c3e..91eb183 100644
--- a/scheduler/thread.c
+++ b/scheduler/thread.c
@@ -182,6 +182,7 @@
thdb->teb.except = (void *)-1;
thdb->teb.htask16 = 0; /* FIXME */
thdb->teb.self = &thdb->teb;
+ thdb->teb.flags = (pdb->flags & PDB32_WIN16_PROC)? 0 : TEBF_WIN32;
thdb->teb.tls_ptr = thdb->tls_array;
thdb->teb.process = pdb;
thdb->wait_list = &thdb->wait_struct;