Dmitry Timoshkov dmitry@baikal.ru writes:
I've got a bug report that after my MDI rewrite some 16-bit MDI app stopped to work. That's not a surprise at all. The surprise is that STRUCT32_xxx conversion helpers didn't cope correctly with 16-bit hInstance and actually that caused a 16-bit app to misbehave in the first place. I had to use GetExePtr() because MapHModuleSL checks for NE_FFLAGS_WIN32 (why?) and bails out.
Using GetExePtr is going to return the wrong instance once we get back to 16-bit code. The instance handles are actually not supposed to be converted at all, we just expand the 16-bit ones to 32-bit. What was the problem with your 16-bit app?