Subversion Repositories filter_foundry

Rev

Rev 416 | Rev 423 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
414 daniel-mar 1
 
415 daniel-mar 2
Windows NT 3.1 and 3.5x compatibility problems
3
----------------------------------------------
414 daniel-mar 4
 
5
Fixed problems:
6
---------------
7
 
8
- `GetEnvironmentStringsA` and `FreeEnvironmentStrings` not found in WinAPI.
9
 
10
	Fixed: The CLib of OpenWatcom 1.9 imports these two functions.
11
	OpenWatcom 2.0 (beta nov 1 2017) calls these functions dynamically and is therefore compatible with Windows NT 3.1.
12
 
13
- `CreateDIBSection` not found in WinAPI
14
 
15
	Fixed in SVN Revision 407 (removed because not required).
16
 
17
- `GetVersionEx` not found in WinAPI.
18
 
415 daniel-mar 19
	Fixed in SVN Revision 411 and 414 (calling dynamically now).
414 daniel-mar 20
 
21
- `RegisterClassExA` and `GetClassInfoExA` not found in WinAPI.
22
 
23
	Fixed in SVN Revision 412 (replaced by `RegisterClassA` and `GetClassInfoA`).
24
 
415 daniel-mar 25
- Plugins created by the custom implementation of `UpdateResourceA` (for Win9x and WinNT<4.0) could not be loaded on
26
  some versions of Windows, because the Optional PE Header `SizeOfImage` was calculated wrong.
27
 
28
	Fixed in SVN Revision 415.
419 daniel-mar 29
	Reported bug in the Wine code here: https://bugs.winehq.org/show_bug.cgi?id=52119
415 daniel-mar 30
 
416 daniel-mar 31
- The version info of a 64 bit plugin cannot be written using Windows NT 3.51, because the resources could not be loaded from the 64 bit image.
32
 
33
	Fixed in SVN Revision 416: The version info template is now inserted into the 32 bit image as `TPLT` resource.
34
	Therefore, the 64 bit image does not need to be read.
35
 
419 daniel-mar 36
- `LoadImageA` not found in WinAPI of Windows NT 3.1
414 daniel-mar 37
 
419 daniel-mar 38
	Fixed in SVN Revision 419: We removed the "+" and "-" zoom pictures and replaced them with buttons (including the zoom percentage label),
39
	because this looks better in Windows 10, and buttons are more likely to be clicked intuitively.
40
	The caution icon is now a subclass of "Button" instead of "STATIC", and the icon is drawn using `BS_OWNERDRAW` and `DrawIcon`.
41
	Note that Windows 3.51 does not support static controls to be clicked (probably `SS_NOTIFY` and `STM_CLICKED` is not
42
	implemented).
414 daniel-mar 43
 
419 daniel-mar 44
- Windows NT 3.51 clicking the zoom icons and caution icons does not work!
414 daniel-mar 45
 
419 daniel-mar 46
	Fixed in SVN Revision 419: Windows 3.51 does not allow static controls to be clicked.
47
	Therefore, the zoom icons and the caution icons are now Buttons classes (or subclasses).
414 daniel-mar 48
 
419 daniel-mar 49
Things couldn't solve yet:
50
--------------------------
414 daniel-mar 51
 
419 daniel-mar 52
- WinNT311: "msctls_trackbar32" is not supported by Windows NT 3.1. DialogBoxParamA crashes with the confusing error code "Invalid Cursor Handle".
53
	Note: msctls_trackbar32 seems to be defined in COMCTL32.DLL, but Win NT 3.1 has no REGSVR32.EXE, so there can't be any controls added??
54
	For now, we simply remove the sliders by subclassing them from a static control, and let the user enter the numbers via keyboard only (SVN Revision 419).
55
	Windows NT 3.51 has COMCTL32.DLL and works perfectly with the trackbars!
414 daniel-mar 56
 
419 daniel-mar 57
- Preview pane cannot be panned, because it seems that anything clickable needs to be a pushbutton in Win NT 3.51
58
	It also doesn't work if the control is `STATIC`
59
	It looks like `SS_NOTIFY` and `STN_CLICKED` is not implemented in Win NT 3.5x
414 daniel-mar 60
 
419 daniel-mar 61
- WinNT351: Help button does not work
62
	=> Maybe WinExec helps? But can we open an URL there? Unlikely...
414 daniel-mar 63
 
419 daniel-mar 64
- WinNT311+WinNT351: The preview image is not drawn at dialog box opening. You need to enter something first.
65
	Nothing seems to work. Already tried doing a `recalc_preview` and `drawpreview` in `WM_SHOWWINDOW`,
66
	or sending a message `SendMessage(hDlg, WM_USER + 123, 0, 0);` inside `WM_INITDIALOG`, but the code
67
	seems to be executed while the dialog is still hidden (you can see this by showing a messagebox).
414 daniel-mar 68
 
419 daniel-mar 69
Open questions:
70
---------------
414 daniel-mar 71
 
419 daniel-mar 72
Which CPU architecture is required for OpenWatcom settings? Should/can we lower the CPU code generation settings in OpenWatcom (80386)?