diff --git a/include/neexe.h b/include/neexe.h index b90515b8455..39cd4dc1081 100644 --- a/include/neexe.h +++ b/include/neexe.h @@ -135,6 +135,7 @@ struct ne_segment_table_entry_s #define NE_SEGFLAGS_RELOC_DATA 0x0100 #define NE_SEGFLAGS_SELFLOAD 0x0800 #define NE_SEGFLAGS_DISCARDABLE 0x1000 +#define NE_SEGFLAGS_32BIT 0x2000 /* * Relocation table entry diff --git a/loader/ne/segment.c b/loader/ne/segment.c index 9d5732330d6..bc398b8050c 100644 --- a/loader/ne/segment.c +++ b/loader/ne/segment.c @@ -860,7 +860,7 @@ BOOL NE_CreateSegments( NE_MODULE *pModule ) pSegment->hSeg = GLOBAL_Alloc( NE_Ne2MemFlags(pSegment->flags), minsize, pModule->self, !(pSegment->flags & NE_SEGFLAGS_DATA), - FALSE, + (pSegment->flags & NE_SEGFLAGS_32BIT) != 0, FALSE /*pSegment->flags & NE_SEGFLAGS_READONLY*/ ); if (!pSegment->hSeg) return FALSE; pSegment->flags |= NE_SEGFLAGS_ALLOCATED;