winemac: Use unixlib for query_drag_exited.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
Jacek Caban 2022-06-01 00:30:21 +02:00 committed by Alexandre Julliard
parent 219eb6ece2
commit dd3d988e43
5 changed files with 27 additions and 6 deletions

View file

@ -29,6 +29,7 @@ HMODULE macdrv_module = 0;
typedef NTSTATUS (WINAPI *kernel_callback)(void *params, ULONG size);
static const kernel_callback kernel_callbacks[] =
{
macdrv_dnd_query_exited,
macdrv_ime_query_char_rect,
macdrv_ime_set_text,
};

View file

@ -482,14 +482,15 @@ BOOL query_drag_drop(macdrv_query* query)
/**************************************************************************
* query_drag_exited
* macdrv_dnd_query_exited
*/
BOOL query_drag_exited(macdrv_query* query)
NTSTATUS WINAPI macdrv_dnd_query_exited(void *arg, ULONG size)
{
HWND hwnd = macdrv_get_window_hwnd(query->window);
struct dnd_query_exited_params *params = arg;
HWND hwnd = params->hwnd;
IDropTarget *droptarget;
TRACE("win %p/%p\n", hwnd, query->window);
TRACE("win %p\n", hwnd);
droptarget = get_droptarget_pointer(last_droptarget_hwnd);
if (droptarget)

View file

@ -179,6 +179,17 @@ static void macdrv_sent_text_input(const macdrv_event *event)
}
/**************************************************************************
* query_drag_exited
*/
static BOOL query_drag_exited(macdrv_query *query)
{
struct dnd_query_exited_params params;
params.hwnd = macdrv_get_window_hwnd(query->window);
return macdrv_client_func(client_func_dnd_query_exited, &params, sizeof(params));
}
/**************************************************************************
* query_ime_char_rect
*/

View file

@ -261,7 +261,6 @@ extern NTSTATUS macdrv_MsgWaitForMultipleObjectsEx(DWORD count, const HANDLE *ha
extern UINT* macdrv_get_pasteboard_formats(CFTypeRef pasteboard, UINT* num_formats) DECLSPEC_HIDDEN;
extern BOOL query_drag_operation(macdrv_query* query) DECLSPEC_HIDDEN;
extern BOOL query_drag_exited(macdrv_query* query) DECLSPEC_HIDDEN;
extern BOOL query_drag_drop(macdrv_query* query) DECLSPEC_HIDDEN;
extern struct opengl_funcs *macdrv_wine_get_wgl_driver(UINT version) DECLSPEC_HIDDEN;
@ -298,6 +297,8 @@ extern CGImageRef create_cgimage_from_icon_bitmaps(HDC hdc, HANDLE icon, HBITMAP
extern NTSTATUS macdrv_client_func(enum macdrv_client_funcs func, const void *params,
ULONG size) DECLSPEC_HIDDEN;
extern NTSTATUS WINAPI macdrv_dnd_query_exited(void *arg, ULONG size) DECLSPEC_HIDDEN;
/* user helpers */
static inline LRESULT send_message(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)

View file

@ -67,11 +67,18 @@
/* driver client callbacks exposed with KernelCallbackTable interface */
enum macdrv_client_funcs
{
client_func_ime_query_char_rect = NtUserDriverCallbackFirst,
client_func_dnd_query_exited = NtUserDriverCallbackFirst,
client_func_ime_query_char_rect,
client_func_ime_set_text,
client_func_last
};
/* macdrv_dnd_query_exited params */
struct dnd_query_exited_params
{
HWND hwnd;
};
/* macdrv_ime_query_char_rect result */
struct ime_query_char_rect_result
{