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)? |