Subversion Repositories filter_foundry

Rev

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

Rev Author Line No. Line
414 daniel-mar 1
 
466 daniel-mar 2
Windows 3.11 (via Win32s), Windows NT 3.1 and NT 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
 
423 daniel-mar 49
- WinNT311: "msctls_trackbar32" is not supported by Windows NT 3.1. `DialogBoxParamA` crashes with the confusing error code "Invalid Cursor Handle".
445 daniel-mar 50
 
423 daniel-mar 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!
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
	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,
56
	and let the user enter the control values via keyboard only (SVN Revision 419).
57
	Note that you can copy PLUGIN.DLL to any host application. It is not bound to Photoshop. However, it is copyrighted by Adobe!
58
 
445 daniel-mar 59
- WinNT311+WinNT351: The preview image is not drawn at dialog box opening. You need to enter something first.
60
 
61
	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`,
63
	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.
65
 
466 daniel-mar 66
 
419 daniel-mar 67
Things couldn't solve yet:
68
--------------------------
414 daniel-mar 69
 
419 daniel-mar 70
- 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`
72
	It looks like `SS_NOTIFY` and `STN_CLICKED` is not implemented in Win NT 3.5x
414 daniel-mar 73
 
466 daniel-mar 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.
75
	The WM_REPAINT message is not sent by the OS?
76
 
77
- Help button does not work
419 daniel-mar 78
	=> Maybe WinExec helps? But can we open an URL there? Unlikely...
414 daniel-mar 79
 
466 daniel-mar 80
- 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.
82
 
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.
84
 
85
 
419 daniel-mar 86
Open questions:
87
---------------
414 daniel-mar 88
 
419 daniel-mar 89
Which CPU architecture is required for OpenWatcom settings? Should/can we lower the CPU code generation settings in OpenWatcom (80386)?