https://bugs.winehq.org/show_bug.cgi?id=48636
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Lotus Organizer 97, Wine |Lotus Organizer 97 toolbar |5.0, Debian Stretch. Lotus |balloon tooltips lack |Organizer icon speech |transparency (black |bubbles display incorrectly |background displayed) |- they are on square black | |background. | Keywords| |download Ever confirmed|0 |1 URL| |https://archive.org/details | |/lotusorganizer97edition Component|winelib |-unknown Status|UNCONFIRMED |NEW CC| |focht@gmx.net
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
filling/correcting some fields and confirming. It's not tied to distro/window manager.
Looks like some custom/owner drawn balloon tooltips, not using TOOLTIPS_CLASS.
--- snip --- $ pwd /home/focht/.wine/drive_c/lotus/organize
$ WINEDEBUG=+seh,+relay,+win,+msg,+bitmap,+dc,+gdi,+bitblt wine ./org32.exe
log.txt 2>&1
... 005a:Call user32.RegisterClassA(0032f01c) ret=1dc01157 005a:Call ntdll.strlen(1dc07030 "TzBubble32") ret=7b01b60c 005a:Ret ntdll.strlen() retval=0000000a ret=7b01b60c 005a:trace:win:alloc_winproc allocated 0xffff0048 for A 0x1dc02ed9 (73/4096 used) 005a:Ret user32.RegisterClassA() retval=0000c08f ret=1dc01157 ... 005a:Ret PE DLL (proc=0x1dc03680,module=0x1dc00000 L"LTBUBN12.DLL",reason=PROCESS_ATTACH,res=(nil)) retval=1 ... 005a:Call user32.CreateWindowExA(00000080,1dc07030 "TzBubble32",01193b00 "Click to create a Calls entry",40000000,00000000,00000000,00000000,00000000,000100d0,00000000,1dc00000,00000000) ret=1dc01c0f ... 005a:trace:win:WIN_CreateWindowEx "Click to create a Calls entry" L"TzBubble32" ex=00000080 style=40000000 0,0 0x0 parent=0x100d0 menu=(nil) inst=0x1dc00000 params=(nil) 005a:trace:win:dump_window_styles style: WS_CHILD 005a:trace:win:dump_window_styles exstyle: WS_EX_TOOLWINDOW 005a:trace:win:WIN_SetWindowLong 0x20088 -12 0 W ... 005a:trace:win:WIN_CreateWindowEx hwnd 0x20088 cs 0,0 0x0 (0,0)-(0,0) ... 005a:Ret window proc 0x14409c50 (hwnd=0x100d0,msg=WM_PARENTNOTIFY,wp=00000001,lp=00020088) retval=00000000 005a:trace:win:WIN_CreateWindowEx created window 0x20088 005a:Ret user32.CreateWindowExA() retval=00020088 ret=1dc01c0f
005a:Call user32.SetParent(00020088,00000000) ret=1dc01ac7 005a:trace:win:SetParent (0x20088 (nil)) 005a:trace:win:show_window hwnd=0x20088, cmd=0, wasVisible 0 ... 005a:Ret window proc 0x1dc02ed9 (hwnd=0x20088,msg=WM_WINDOWPOSCHANGED,wp=00000000,lp=0032f9c0) retval=00000000 005a:Ret user32.SetParent() retval=000100d0 ret=1dc01ac7 ... 005a:Ret window proc 0x1dc02ed9 (hwnd=0x20088,msg=WM_NCCALCSIZE,wp=00000001,lp=0032f90c) retval=00000300 005a:trace:win:SWP_DoNCCalcSize hwnd 0x20088 old win (0,0)-(0,0) old client (0,0)-(0,0) new win (569,368)-(669,443) new client (569,368)-(669,443) 005a:Call winex11.drv.WindowPosChanging(00020088,ffffffff,00000008,0032f8b0,0032f8c0,0032f740,0032f73c) ret=7e8c0e96 ... 005a:trace:bitblt:create_surface created 0x1cdf778 for 5000008 (0,0)-(128,96) bits 0x7d883000-0x7d88f000 image 0x7d883000 005a:Ret winex11.drv.WindowPosChanging() retval=00000000 ret=7e8c0e96 ... 005a:Call user32.EnumWindows(1dc01721,00020088) ret=1dc019b0 005a:Call user32.EnumChildWindows(00020088,1dc016cb,00020088) ret=1dc01761 005a:Ret user32.EnumChildWindows() retval=00000000 ret=1dc01761 005a:Call user32.UpdateWindow(000100ce) ret=1dc0174e ... 005a:Ret user32.UpdateWindow() retval=00000001 ret=1dc0174e 005a:Call user32.EnumChildWindows(00010032,1dc016cb,00020088) ret=1dc01761 005a:Ret user32.EnumChildWindows() retval=00000000 ret=1dc01761 005a:Ret user32.EnumWindows() retval=00000001 ret=1dc019b0 005a:Call user32.ShowWindow(00020088,00000008) ret=1dc01b5a 005a:trace:win:show_window hwnd=0x20088, cmd=8, wasVisible 0 ... 005a:trace:win:SetWindowPos hwnd 0x20088, after (nil), 0,0 (0x0), flags 00000057 005a:trace:win:dump_winpos_flags flags: SWP_NOSIZE SWP_NOMOVE SWP_NOZORDER SWP_NOACTIVATE SWP_SHOWWINDOW 005a:trace:msg:WINPROC_CallProcWtoA (hwnd=0x20088,msg=WM_WINDOWPOSCHANGING,wp=00000000,lp=0032f964) 005a:Call window proc 0x1dc02ed9 (hwnd=0x20088,msg=WM_WINDOWPOSCHANGING,wp=00000000,lp=0032f964) ... 005a:trace:msg:PostMessageW hwnd 0x10020 msg 210 (WM_PARENTNOTIFY) wp 85 lp 20088 005a:Ret user32.DefWindowProcA() retval=00000000 ret=1dc02f7c 005a:Ret window proc 0x1dc02ed9 (hwnd=0x20088,msg=WM_NCPAINT,wp=00000001,lp=00000000) retval=00000000 005a:trace:win:GetDCEx hwnd 0x20088, hrgnClip 0x41008b, flags 00010080 005a:Call user32.GetDpiForSystem() ret=7e745a3d 005a:Ret user32.GetDpiForSystem() retval=00000060 ret=7e745a3d 005a:trace:gdi:alloc_gdi_handle allocated OBJ_DC 0x1600d6 199/16384 005a:trace:dc:CreateDCW (driver=L"DISPLAY", device=(null), output=(null)): returning 0x1600d6 ... 005a:Call winex11.drv.GetDC(001600d6,00020088,00020088,0032f6b0,0032f6c0,00000092) ret=7e894e5e 005a:Ret winex11.drv.GetDC() retval=00000001 ret=7e894e5e 005a:trace:dc:SetTextColor hdc=0x1600d6 color=0x00000000 005a:trace:dc:SetBkColor hdc=0x1600d6 color=0x00ffffff ... 005a:trace:win:GetDCEx (0x20088,0x41008b,0x10090): returning 0x1600d6 (updated) 005a:trace:msg:WINPROC_CallProcWtoA (hwnd=0x20088,msg=WM_ERASEBKGND,wp=001600d6,lp=00000000) 005a:Call window proc 0x1dc02ed9 (hwnd=0x20088,msg=WM_ERASEBKGND,wp=001600d6,lp=00000000) 005a:Ret window proc 0x1dc02ed9 (hwnd=0x20088,msg=WM_ERASEBKGND,wp=001600d6,lp=00000000) retval=00000001 ... 005a:Ret user32.ShowWindow() retval=00000000 ret=1dc01b5a 005a:Call user32.UpdateWindow(00020088) ret=1dc01b64 005a:trace:win:RedrawWindow 0x20088 whole window flags: RDW_ALLCHILDREN RDW_UPDATENOW ... 005a:trace:msg:WINPROC_CallProcWtoA (hwnd=0x20088,msg=WM_PAINT,wp=00000000,lp=00000000) 005a:Call window proc 0x1dc02ed9 (hwnd=0x20088,msg=WM_PAINT,wp=00000000,lp=00000000) 005a:Call user32.BeginPaint(00020088,0032f2f4) ret=1dc02f09 ... 005a:trace:win:BeginPaint hdc = 0x1600d6 box = ((0,0)-(100,75)), fErase = 0 005a:Ret user32.BeginPaint() retval=001600d6 ret=1dc02f09 ... 005a:Call gdi32.CreateCompatibleDC(001600d6) ret=1dc01fce ... 005a:trace:gdi:alloc_gdi_handle allocated OBJ_MEMDC 0xe00d9 201/16384 005a:trace:dc:CreateCompatibleDC (0x1600d6): returning 0xe00d9 ... 005a:Ret gdi32.CreateCompatibleDC() retval=000e00d9 ret=1dc01fce 005a:Call user32.CopyRect(0032f1f8,0032f250) ret=1dc01ff7 005a:Ret user32.CopyRect() retval=00000001 ret=1dc01ff7
005a:Call gdi32.CreateCompatibleBitmap(001600d6,00000064,0000004b) ret=1dc0207b 005a:trace:bitmap:CreateCompatibleBitmap (0x1600d6,100,75) 005a:trace:gdi:GetObjectType 0x1600d6 -> 3 005a:trace:gdi:alloc_gdi_handle allocated OBJ_BITMAP 0x500d7 202/16384 005a:trace:bitmap:CreateBitmapIndirect 100x75, bpp 32 planes 1: returning 0x500d7 005a:Ret gdi32.CreateCompatibleBitmap() retval=000500d7 ret=1dc0207b ... 005a:Call gdi32.SelectObject(000e00d9,000500d7) ret=1dc020a1 005a:trace:gdi:SelectObject (0xe00d9,0x500d7) 005a:trace:gdi:GetObjectType 0xe00d9 -> 10 005a:trace:dc:SetTextColor hdc=0xe00d9 color=0x00000000 005a:trace:dc:SetBkColor hdc=0xe00d9 color=0x00ffffff ... 005a:Ret gdi32.SelectObject() retval=0001002a ret=1dc020a1 005a:Call gdi32.BitBlt(000e00d9,00000000,00000000,00000064,0000004b,001600d6,00000000,00000000,00cc0020) ret=1dc020cd 005a:trace:bitblt:StretchBlt src 0x1600d6 log=0,0 100x75 phys=0,0 100x75 vis=(0,0)-(100,75) dst 0xe00d9 log=0,0 100x75 phys=0,0 100x75 vis=(0,0)-(100,75) rop=cc0020 005a:Ret gdi32.BitBlt() retval=00000001 ret=1dc020cd 005a:Call gdi32.CreatePolygonRgn(0032f238,00000003,00000001) ret=1dc0217d ... 005a:Ret gdi32.CreatePolygonRgn() retval=000f00d8 ret=1dc0217d ... 005a:Call gdi32.Ellipse(000e00d9,00000009,0000000a,00000061,0000004b) ret=1dc028ac ... 005a:Ret gdi32.Ellipse() retval=00000001 ret=1dc029ab ... 005a:Call user32.DrawTextA(000e00d9,01393278 "Click to create a Calls entry",ffffffff,0032f210,00000d11) ret=1dc024d2 ... 005a:Ret user32.DrawTextA() retval=00000027 ret=1dc02558 005a:Call gdi32.BitBlt(001600d6,00000000,00000000,00000064,0000004b,000e00d9,00000000,00000000,00cc0020) ret=1dc0257e 005a:trace:bitblt:StretchBlt src 0xe00d9 log=0,0 100x75 phys=0,0 100x75 vis=(0,0)-(100,75) dst 0x1600d6 log=0,0 100x75 phys=0,0 100x75 vis=(0,0)-(100,75) rop=cc0020 005a:trace:bitblt:x11drv_surface_flush flushing 0x1cdf778 128x96 bounds (0,0)-(100,75) bits 0x7d883000 005a:Ret gdi32.BitBlt() retval=00000001 ret=1dc0257e --- snip ---
https://archive.org/details/lotusorganizer97edition
https://archive.org/download/lotusorganizer97edition/Lotus%20Organizer%20%27...
The app suffers from bug 625 as well (private dll search path support).
$ sha1sum Lotus\ Organizer\ '97\ Edition\ (R87820)(Lotus\ Development\ Corporation)(1996).iso 834393f37f57f4d220e5da29574d453e8dfdb235 Lotus Organizer '97 Edition (R87820)(Lotus Development Corporation)(1996).iso
$ du -sh Lotus\ Organizer\ '97\ Edition\ (R87820)(Lotus\ Development\ Corporation)(1996).iso 15M Lotus Organizer '97 Edition (R87820)(Lotus Development Corporation)(1996).iso
$ wine --version wine-5.2-160-ge7c735b825
Regards