Other drawable types are ref counted and destroyed only when nothing (e. g., existing contexts) reference them anymore, making sure that if we have a context referencing drawable the GLX drawable is still valid. That was probably left behind for PBuffers.
--
v3: winex11.drv: Destroy GLX pbuffer when destroying drawable.
winex11.drv: Store wgl_drawable instead of GLX drawable in wgl_pbuffer.
https://gitlab.winehq.org/wine/wine/-/merge_requests/244
The problem being solved is that the first-time initialization of Wine displays a dialog saying it is Wine. If a custom packaged application uses its own prefix directory and wants to appear native, that dialog can appear surprising.
When the environment variable `WINEBOOTRESOURCEMODULE` is set, use it to load the dialog and icon on the first application run. If that module does not exist or does not supply the appropriate resources, fall back to the default ones.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/253
Other drawable types are ref counted and destroyed only when nothing (e. g., existing contexts) reference them anymore, making sure that if we have a context referencing drawable the GLX drawable is still valid. That was probably left behind for PBuffers.
--
v2: winex11.drv: Destroy GLX pbuffer when destroying drawable.
winex11.drv: Store sgl_drawable instead of GLX drawable in wgl_pbuffer.
https://gitlab.winehq.org/wine/wine/-/merge_requests/244
Without the changes, the test passes or fails based on the binutils version being used. v2.35 (used on the Debian 11 testbot) gives 64-bit DLLs an image base under 4GB, and the test always passes. On a system with binutils 2.37 or later, 64-bit DLLs are based above 4GBs, and the test will fail.
The map_view() change fixes native DLLs, and virtual_map_section() for
builtin DLLs. I wasn't sure how to test a native DLL.
This showed up under Wow64 when running the 64-bit Notepad++ installer
(a 32-bit EXE), which runs 32-bit regsvr32 to register a 64-bit DLL.
regsvr32 calls LoadLibraryExW() with LOAD_LIBRARY_AS_IMAGE_RESOURCE,
which was returning a truncated pointer to the DLLs base address.
Accessing this then crashed.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/269