otya128 / winevdm

16-bit Windows (Windows 1.x, 2.x, 3.0, 3.1, etc.) on 64-bit Windows
GNU General Public License v2.0
2.67k stars 152 forks source link

PC Paintbrush uses B&W icons on the toolbar #263

Open Anixx opened 5 years ago

Anixx commented 5 years ago

Clipboard_20190416

At the same time, under Win 1 the icons are colored:

win1x2xpbrushw 1

WINEVDMbetaTester commented 5 years ago

I hope you understand my English. it does not look that way because it does not use the windows 1x shell. if not, you use the shell windows where you are using the program. in your case I think it's windows 7

cracyc commented 5 years ago

If the GetDeviceCaps(PLANES) is forced to return 3 then they are color. This could be done though the compatibility in the registry but the user interface only has 256 and 65536 color entries so it'd be not usable for most users.

Anixx commented 5 years ago

Should one use ForceDisplayMode fix or something else?

Anixx commented 5 years ago

After the recent changes, PC paintbrush does not start at all and in Balance of Power there are no colors as before.

Anixx commented 5 years ago

PC Paintbrush 1.05 still does not start. ZSoft version starts

A window briefly appears and then disappears.

cracyc commented 5 years ago

The trace you posted in https://github.com/otya128/winevdm/issues/302 shows it crashing due to too many fonts. You might need EnumFontLimitation set.

Anixx commented 5 years ago

I have set EnumFontLimitation and still it does not start. The failure to start is a regression caused by #300. I tested with earlier and later releases and found it is caused by #300 exactly. But now after you replaces #300 with something else, it still does not start.

cracyc commented 5 years ago

Well, without a trace I can only guess but I bet your default printer has a name longer than 0x50 bytes which would make it the printer name length problem again.

2100:Call KERNEL.58: GETPROFILESTRING(126f07a0 "windows",126f0798 "device",126f0796 "",126f:7270,0050) ret=1237:09a8 ds=126f
2100:Ret  KERNEL.58: GETPROFILESTRING() retval=0000003f ret=1237:09a8 ds=126f
2100:Call GDI.53: CREATEDC(126f72a1 "winspool",126f7270 "\\\\http://xxxxxxxx.:631\\xxxxxxxxxxxxxxxxxxxxxxxx",126f72aa "Ne03:",00000000) ret=1237:0a0b ds=126f
2100:Ret  GDI.53: CREATEDC() retval=00000054 ret=1237:0a0b ds=126f
2100:Call GDI.80: GETDEVICECAPS(0054,0026) ret=1237:0a1c ds=126f
2100:Ret  GDI.80: GETDEVICECAPS() retval=00006e99 ret=1237:0a1c ds=126f
2100:Call USER.155: ENABLEMENUITEM(0023,0069,0000) ret=1227:08ed ds=126f
2100:Ret  USER.155: ENABLEMENUITEM() retval=00000000 ret=1227:08ed ds=126f
2100:Call GDI.80: GETDEVICECAPS(0054,0004) ret=1227:090e ds=126f
2100:Ret  GDI.80: GETDEVICECAPS() retval=000000bf ret=1227:090e ds=126f
2100:Call GDI.80: GETDEVICECAPS(0054,0006) ret=1227:091d ds=126f
2100:Ret  GDI.80: GETDEVICECAPS() retval=000000fe ret=1227:091d ds=126f
2100:Call GDI.80: GETDEVICECAPS(0054,0008) ret=1227:092c ds=126f
2100:Ret  GDI.80: GETDEVICECAPS() retval=00001194 ret=1227:092c ds=126f
2100:Call GDI.80: GETDEVICECAPS(0054,000a) ret=1227:093b ds=126f
2100:Ret  GDI.80: GETDEVICECAPS() retval=00001770 ret=1227:093b ds=126f
2100:Call GDI.80: GETDEVICECAPS(0054,000c) ret=1227:094a ds=126f
2100:Ret  GDI.80: GETDEVICECAPS() retval=00000020 ret=1227:094a ds=126f
2100:Call GDI.80: GETDEVICECAPS(0054,000e) ret=1227:0959 ds=126f
2100:Ret  GDI.80: GETDEVICECAPS() retval=00000001 ret=1227:0959 ds=126f
2100:Call GDI.80: GETDEVICECAPS(0054,0018) ret=1227:0968 ds=126f
2100:Ret  GDI.80: GETDEVICECAPS() retval=00000008 ret=1227:0968 ds=126f
2100:Call GDI.38: ESCAPE(0054,0008,0002,126f72d4,0000:0000) ret=1227:098f ds=126f
2100:Ret  GDI.38: ESCAPE() retval=00000001 ret=1227:098f ds=126f
2100:Call GDI.38: ESCAPE(0054,000e,0002,00000000,126f:72d0) ret=1227:09ac ds=126f
2100:Ret  GDI.38: ESCAPE() retval=00000001 ret=1227:09ac ds=126f
2100:Call GDI.68: DELETEDC(0054) ret=1227:09e8 ds=126f
2100:Ret  GDI.68: DELETEDC() retval=00000001 ret=1227:09e8 ds=126f
Anixx commented 5 years ago

I have no printers installed. And, as I said this problem appeared with #300. I had pre-#300 version and post-#300 version installed simultaniously and in pre-#300 version all worked.