Subversion Repositories filter_foundry

Rev

Rev 466 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 466 Rev 529
1
 
1
 
2
Windows 3.11 (via Win32s), Windows NT 3.1 and NT 3.5x compatibility problems
2
Windows 3.11 (via Win32s), Windows NT 3.1 and NT 3.5x compatibility problems
3
----------------------------------------------------------------------------
3
----------------------------------------------------------------------------
4
 
4
 
5
Fixed problems:
5
Fixed problems:
6
---------------
6
---------------
7
 
7
 
8
- `GetEnvironmentStringsA` and `FreeEnvironmentStrings` not found in WinAPI.
8
- `GetEnvironmentStringsA` and `FreeEnvironmentStrings` not found in WinAPI.
9
 
9
 
10
	Fixed: The CLib of OpenWatcom 1.9 imports these two functions.
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.
11
	OpenWatcom 2.0 (beta nov 1 2017) calls these functions dynamically and is therefore compatible with Windows NT 3.1.
12
 
12
 
13
- `CreateDIBSection` not found in WinAPI
13
- `CreateDIBSection` not found in WinAPI
14
 
14
 
15
	Fixed in SVN Revision 407 (removed because not required).
15
	Fixed in SVN Revision 407 (removed because not required).
16
 
16
 
17
- `GetVersionEx` not found in WinAPI.
17
- `GetVersionEx` not found in WinAPI.
18
 
18
 
19
	Fixed in SVN Revision 411 and 414 (calling dynamically now).
19
	Fixed in SVN Revision 411 and 414 (calling dynamically now).
20
 
20
 
21
- `RegisterClassExA` and `GetClassInfoExA` not found in WinAPI.
21
- `RegisterClassExA` and `GetClassInfoExA` not found in WinAPI.
22
 
22
 
23
	Fixed in SVN Revision 412 (replaced by `RegisterClassA` and `GetClassInfoA`).
23
	Fixed in SVN Revision 412 (replaced by `RegisterClassA` and `GetClassInfoA`).
24
 
24
 
25
- Plugins created by the custom implementation of `UpdateResourceA` (for Win9x and WinNT<4.0) could not be loaded on
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.
26
  some versions of Windows, because the Optional PE Header `SizeOfImage` was calculated wrong.
27
  
27
  
28
	Fixed in SVN Revision 415.
28
	Fixed in SVN Revision 415.
29
	Reported bug in the Wine code here: https://bugs.winehq.org/show_bug.cgi?id=52119
29
	Reported bug in the Wine code here: https://bugs.winehq.org/show_bug.cgi?id=52119
30
 
30
 
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.
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
 
32
 
33
	Fixed in SVN Revision 416: The version info template is now inserted into the 32 bit image as `TPLT` resource.
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.
34
	Therefore, the 64 bit image does not need to be read.
35
 
35
 
36
- `LoadImageA` not found in WinAPI of Windows NT 3.1
36
- `LoadImageA` not found in WinAPI of Windows NT 3.1
37
 
37
 
38
	Fixed in SVN Revision 419: We removed the "+" and "-" zoom pictures and replaced them with buttons (including the zoom percentage label),
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.
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`.
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
41
	Note that Windows 3.51 does not support static controls to be clicked (probably `SS_NOTIFY` and `STM_CLICKED` is not
42
	implemented).
42
	implemented).
43
 
43
 
44
- Windows NT 3.51 clicking the zoom icons and caution icons does not work!
44
- Windows NT 3.51 clicking the zoom icons and caution icons does not work!
45
 
45
 
46
	Fixed in SVN Revision 419: Windows 3.51 does not allow static controls to be clicked.
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).
47
	Therefore, the zoom icons and the caution icons are now Buttons classes (or subclasses).
48
 
48
 
49
- WinNT311: "msctls_trackbar32" is not supported by Windows NT 3.1. `DialogBoxParamA` crashes with the confusing error code "Invalid Cursor Handle".
49
- WinNT311: "msctls_trackbar32" is not supported by Windows NT 3.1. `DialogBoxParamA` crashes with the confusing error code "Invalid Cursor Handle".
50
 
50
 
51
	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??
51
	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??
52
	Windows NT 3.51 has COMCTL32.DLL and works perfectly with the trackbars!
52
	Windows NT 3.51 has COMCTL32.DLL and works perfectly with the trackbars!
-
 
53
 
53
	Fixed in SVN Revision 422: We are now using the sliders of Photoshop using PLUGIN.DLL (like Filter Factory 3.0.4 does).
54
	Fixed in SVN Revision 422: We are now using the sliders of Photoshop using PLUGIN.DLL (like Filter Factory 3.0.4 does).
-
 
55
 
54
	If PLUGIN.DLL is not existing (e.g. non-Photoshop host) and msctls_trackbar32 is not available (Windows NT 3.1),
56
	If PLUGIN.DLL is not existing (e.g. non-Photoshop host) and msctls_trackbar32 is not available (Windows NT 3.1),
55
	then we will simply remove the sliders completely by subclassing them from a static control,
57
	then we will simply remove the sliders completely by subclassing them from a static control,
56
	and let the user enter the control values via keyboard only (SVN Revision 419).
58
	and let the user enter the control values via keyboard only (SVN Revision 419).
-
 
59
 
57
	Note that you can copy PLUGIN.DLL to any host application. It is not bound to Photoshop. However, it is copyrighted by Adobe!
60
	Note that you can copy PLUGIN.DLL to any host application. It is not bound to Photoshop. However, it is copyrighted by Adobe!
58
 
61
 
59
- WinNT311+WinNT351: The preview image is not drawn at dialog box opening. You need to enter something first.
62
- WinNT311+WinNT351: The preview image is not drawn at dialog box opening. You need to enter something first.
60
 
63
 
61
	Nothing seems to work. Already tried doing a `recalc_preview` and `drawpreview` in `WM_SHOWWINDOW` or
64
	Nothing seems to work. Already tried doing a `recalc_preview` and `drawpreview` in `WM_SHOWWINDOW` or
62
	`WM_ACTIVATE` or `WM_WINDOWPOSCHANGES`, or sending a message `SendMessage(hDlg, WM_USER + 123, 0, 0);` inside `WM_INITDIALOG`,
65
	`WM_ACTIVATE` or `WM_WINDOWPOSCHANGES`, or sending a message `SendMessage(hDlg, WM_USER + 123, 0, 0);` inside `WM_INITDIALOG`,
63
	but the code seems to be executed while the dialog is still hidden (you can see this by showing a messagebox).
66
	but the code seems to be executed while the dialog is still hidden (you can see this by showing a messagebox).
64
	So, I have finally solved it with a `WM_TIMER` in SVN Revision445.
67
	So, I have finally solved it with a `WM_TIMER` in SVN Revision445.
65
 
68
 
66
 
69
 
67
Things couldn't solve yet:
70
Things couldn't solve yet:
68
--------------------------
71
--------------------------
69
 
72
 
70
- Preview pane cannot be panned, because it seems that anything clickable needs to be a pushbutton in Win NT 3.51
73
- Preview pane cannot be panned, because it seems that anything clickable needs to be a pushbutton in Win NT 3.51
71
	It also doesn't work if the control is `STATIC`
74
	It also doesn't work if the control is `STATIC`
72
	It looks like `SS_NOTIFY` and `STN_CLICKED` is not implemented in Win NT 3.5x
75
	It looks like `SS_NOTIFY` and `STN_CLICKED` is not implemented in Win NT 3.5x
73
 
76
 
74
- Windows 3.11, NT 3.1, NT 3.51: The PREVIEW control loses its contents when the window is dragged out of the screen region.
77
- Windows 3.11, NT 3.1, NT 3.51: The PREVIEW control loses its contents when the window is dragged out of the screen region.
75
	The WM_REPAINT message is not sent by the OS?
78
	The WM_REPAINT message is not sent by the OS?
76
 
79
 
77
- Help button does not work
80
- Help button does not work
78
	=> Maybe WinExec helps? But can we open an URL there? Unlikely...
81
	=> Maybe WinExec helps? But can we open an URL there? Unlikely...
79
 
82
 
80
- Windows NT 3.51: Window is gray instead of white. Why? Is the "OS Subsystem 4.0" detected?!
83
- Windows NT 3.51: Window is gray instead of white. Why? Is the "OS Subsystem 4.0" detected?!
81
	It doesn't look good, because the PLUGIN.DLL sliders as well as all other Photoshop 3.0 windows are white.
84
	It doesn't look good, because the PLUGIN.DLL sliders as well as all other Photoshop 3.0 windows are white.
82
 
85
 
83
- Win32s seems to be unstable, since some actions crash the system and/or Photoshop. I am not sure if we do anything wrong, though.
86
- Win32s seems to be unstable, since some actions crash the system and/or Photoshop. I am not sure if we do anything wrong, though.
84
 
87
 
85
 
88
 
86
Open questions:
89
Open questions:
87
---------------
90
---------------
88
 
91
 
89
Which CPU architecture is required for OpenWatcom settings? Should/can we lower the CPU code generation settings in OpenWatcom (80386)?
92
Which CPU architecture is required for OpenWatcom settings? Should/can we lower the CPU code generation settings in OpenWatcom (80386)?