[PATCH 2/5] user32: Use user_driver_funcs to expose user driver function from drivers.

Rémi Bernon rbernon at codeweavers.com
Tue Nov 9 17:38:39 CST 2021


Hi Jacek,

On 11/9/21 13:54, Jacek Caban wrote:
> Signed-off-by: Jacek Caban <jacek at codeweavers.com>
> ---
> The ultimate plan is for driver to register themselves by a direct Unix 
> call to win32u.
> 
>   dlls/user32/driver.c                      | 154 +++++++++--------
>   dlls/user32/user32.spec                   |   1 +
>   dlls/wineandroid.drv/android.h            |  27 +++
>   dlls/wineandroid.drv/init.c               | 132 ++++-----------
>   dlls/wineandroid.drv/wineandroid.drv.spec |  24 ---
>   dlls/winemac.drv/gdi.c                    | 148 ++++++-----------
>   dlls/winemac.drv/macdrv.h                 |  52 ++++++
>   dlls/winemac.drv/mouse.c                  |   2 +-
>   dlls/winemac.drv/winemac.drv.spec         |  39 -----
>   dlls/winex11.drv/display.c                |   1 -
>   dlls/winex11.drv/event.c                  |   2 -
>   dlls/winex11.drv/init.c                   | 194 +++++++++++-----------
>   dlls/winex11.drv/winex11.drv.spec         |  41 -----
>   dlls/winex11.drv/x11drv.h                 |  50 ++++++
>   dlls/winex11.drv/x11drv_main.c            |   1 +
>   dlls/winex11.drv/xim.c                    |   2 -
>   include/wine/gdi_driver.h                 |   2 +
>   17 files changed, 393 insertions(+), 479 deletions(-)
> 
> 

I think this patch changes the behavior with "null" graphics driver: as 
it doesn't register itself, the newly added

   USER_Driver == &lazy_load_driver

condition now always pass and it now registers nodrv_CreateWindow for 
visible winstation.

Currently when "null" graphics driver is explicitly requested, it uses 
nulldrv_CreateWindow, which succeeds creating windows (invisible of course).

I think it'd be nice to keep it, and the check could be added with the 
LoadLibraryW call instead.

Cheers,
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list