From: Jacek Caban jacek@codeweavers.com
--- dlls/winex11.drv/Makefile.in | 1 - dlls/winex11.drv/dllmain.c | 8 -------- dlls/winex11.drv/unixlib.h | 1 - dlls/winex11.drv/winex11.drv.spec | 2 -- dlls/winex11.drv/wintab.c | 4 +++- dlls/winex11.drv/x11drv.h | 4 ---- dlls/winex11.drv/x11drv_main.c | 2 -- dlls/wintab32/context.c | 2 +- dlls/wintab32/wintab32.c | 33 +------------------------------ dlls/wintab32/wintab_internal.h | 3 --- 10 files changed, 5 insertions(+), 55 deletions(-) delete mode 100644 dlls/winex11.drv/winex11.drv.spec
diff --git a/dlls/winex11.drv/Makefile.in b/dlls/winex11.drv/Makefile.in index a4023babea3..9806dd350e9 100644 --- a/dlls/winex11.drv/Makefile.in +++ b/dlls/winex11.drv/Makefile.in @@ -22,7 +22,6 @@ SOURCES = \ version.rc \ vulkan.c \ window.c \ - winex11.drv.spec \ wintab.c \ x11drv_main.c \ xim.c \ diff --git a/dlls/winex11.drv/dllmain.c b/dlls/winex11.drv/dllmain.c index 5fee14d3957..2e96b920606 100644 --- a/dlls/winex11.drv/dllmain.c +++ b/dlls/winex11.drv/dllmain.c @@ -35,11 +35,3 @@ BOOL WINAPI DllMain( HINSTANCE instance, DWORD reason, void *reserved )
return TRUE; } - -/*********************************************************************** - * LoadTabletInfo (winex11.@) - */ -BOOL CDECL X11DRV_LoadTabletInfo( HWND hwnd ) -{ - return X11DRV_CALL( tablet_load_info, hwnd ); -} diff --git a/dlls/winex11.drv/unixlib.h b/dlls/winex11.drv/unixlib.h index 463f06adda6..5da7abc1bfd 100644 --- a/dlls/winex11.drv/unixlib.h +++ b/dlls/winex11.drv/unixlib.h @@ -23,7 +23,6 @@ enum x11drv_funcs { unix_init, - unix_tablet_load_info, unix_funcs_count, };
diff --git a/dlls/winex11.drv/winex11.drv.spec b/dlls/winex11.drv/winex11.drv.spec deleted file mode 100644 index 411111bd513..00000000000 --- a/dlls/winex11.drv/winex11.drv.spec +++ /dev/null @@ -1,2 +0,0 @@ -# WinTab32 -@ cdecl LoadTabletInfo(long) X11DRV_LoadTabletInfo diff --git a/dlls/winex11.drv/wintab.c b/dlls/winex11.drv/wintab.c index ee0dd96e540..3dfbb5259ef 100644 --- a/dlls/winex11.drv/wintab.c +++ b/dlls/winex11.drv/wintab.c @@ -485,7 +485,7 @@ static void disable_system_cursors(void) /*********************************************************************** * x11drv_tablet_load_info */ -NTSTATUS x11drv_tablet_load_info( void *hwnd ) +static BOOL load_tablet_info( HWND hwnd ) { static const WCHAR SZ_CONTEXT_NAME[] = {'W','i','n','e',' ','T','a','b','l','e','t',' ','C','o','n','t','e','x','t',0}; static const WCHAR SZ_DEVICE_NAME[] = {'W','i','n','e',' ','T','a','b','l','e','t',' ','D','e','v','i','c','e',0}; @@ -1546,6 +1546,8 @@ LRESULT X11DRV_WintabProc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, vo return tablet_attach_queue( hwnd ); case NtUserWintabInfo: return get_tablet_info( wparam, lparam, buffer ); + case NtUserWintabInit: + return load_tablet_info( hwnd ); case NtUserWintabPacket: *(WTPACKET *)buffer = gMsgPacket; return 1; diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index b6ea393f480..6b7f5c263f6 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -896,10 +896,6 @@ static inline BOOL is_window_rect_mapped( const RECT *rect ) max( rect->bottom, rect->top + 1 ) > virtual_rect.top); }
-/* unixlib interface */ - -extern NTSTATUS x11drv_tablet_load_info( void *arg ); - /* GDI helpers */
static inline BOOL lp_to_dp( HDC hdc, POINT *points, INT count ) diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c index 35cb08da5a6..1343accc47d 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c @@ -806,7 +806,6 @@ BOOL X11DRV_SystemParametersInfo( UINT action, UINT int_param, void *ptr_param, const unixlib_entry_t __wine_unix_call_funcs[] = { x11drv_init, - x11drv_tablet_load_info, };
@@ -818,7 +817,6 @@ C_ASSERT( ARRAYSIZE(__wine_unix_call_funcs) == unix_funcs_count ); const unixlib_entry_t __wine_unix_call_wow64_funcs[] = { x11drv_init, - x11drv_tablet_load_info, };
C_ASSERT( ARRAYSIZE(__wine_unix_call_wow64_funcs) == unix_funcs_count ); diff --git a/dlls/wintab32/context.c b/dlls/wintab32/context.c index ec243b7b2cc..4e19a93cc37 100644 --- a/dlls/wintab32/context.c +++ b/dlls/wintab32/context.c @@ -149,7 +149,7 @@ static inline BOOL LoadTablet(void)
if (loaded == TI_START) { - if (pLoadTabletInfo && pLoadTabletInfo(hwndDefault)) + if (NtUserMessageCall(hwndDefault, NtUserWintabInit, 0, 0, NULL, NtUserWintabDriverCall, FALSE)) { TRACE("Initialized the tablet to hwnd %p\n", hwndDefault); loaded = TI_OK; diff --git a/dlls/wintab32/wintab32.c b/dlls/wintab32/wintab32.c index f9860244cac..15040b9ca9c 100644 --- a/dlls/wintab32/wintab32.c +++ b/dlls/wintab32/wintab32.c @@ -42,8 +42,6 @@ static CRITICAL_SECTION_DEBUG csTablet_debug = }; CRITICAL_SECTION csTablet = { &csTablet_debug, -1, 0, 0, 0, 0 };
-int (CDECL *pLoadTabletInfo)(HWND hwnddefault) = NULL; - static LRESULT WINAPI TABLET_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
@@ -66,30 +64,6 @@ static VOID TABLET_Unregister(void) UnregisterClassW(L"WineTabletClass", NULL); }
-static HMODULE load_graphics_driver(void) -{ - static const WCHAR key_pathW[] = L"System\CurrentControlSet\Control\Video\{"; - static const WCHAR displayW[] = L"}\0000"; - - HMODULE ret = 0; - HKEY hkey; - DWORD size; - WCHAR path[MAX_PATH]; - WCHAR key[ARRAY_SIZE(key_pathW) + ARRAY_SIZE(displayW) + 40]; - UINT guid_atom = HandleToULong( GetPropW( GetDesktopWindow(), L"__wine_display_device_guid" )); - - if (!guid_atom) return 0; - memcpy( key, key_pathW, sizeof(key_pathW) ); - if (!GlobalGetAtomNameW( guid_atom, key + lstrlenW(key), 40 )) return 0; - lstrcatW( key, displayW ); - if (RegOpenKeyW( HKEY_LOCAL_MACHINE, key, &hkey )) return 0; - size = sizeof(path); - if (!RegQueryValueExW( hkey, L"GraphicsDriver", NULL, NULL, (BYTE *)path, &size )) ret = LoadLibraryW( path ); - RegCloseKey( hkey ); - TRACE( "%s %p\n", debugstr_w(path), ret ); - return ret; -} - BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpReserved) { TRACE("%p, %lx, %p\n",hInstDLL,fdwReason,lpReserved); @@ -101,12 +75,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpReserved) TABLET_Register(); hwndDefault = CreateWindowW(L"WineTabletClass", L"Tablet", WS_POPUPWINDOW,0,0,0,0,0,0,hInstDLL,0); - if (hwndDefault) - { - HMODULE module = load_graphics_driver(); - pLoadTabletInfo = (void *)GetProcAddress(module, "LoadTabletInfo"); - } - else + if (!hwndDefault) return FALSE; break; case DLL_PROCESS_DETACH: diff --git a/dlls/wintab32/wintab_internal.h b/dlls/wintab32/wintab_internal.h index 1c13df74402..b4b76c69a98 100644 --- a/dlls/wintab32/wintab_internal.h +++ b/dlls/wintab32/wintab_internal.h @@ -150,9 +150,6 @@ int TABLET_PostTabletMessage(LPOPENCONTEXT newcontext, UINT msg, WPARAM wParam, LPARAM lParam, BOOL send_always); LPOPENCONTEXT AddPacketToContextQueue(LPWTPACKET packet, HWND hwnd);
-/* X11drv functions */ -extern int (CDECL *pLoadTabletInfo)(HWND hwnddefault); - extern HWND hwndDefault; extern CRITICAL_SECTION csTablet;