Commit 4ad9d5f0 authored by Ken Thomases's avatar Ken Thomases Committed by Alexandre Julliard

winemac: Send WM_ENTER/EXITSIZEMOVE messages at start/end of a resizing operation.

parent d55d2ec8
...@@ -1476,6 +1476,13 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers) ...@@ -1476,6 +1476,13 @@ static inline void fix_generic_modifiers_by_device(NSUInteger* modifiers)
- (void) windowDidEndLiveResize:(NSNotification *)notification - (void) windowDidEndLiveResize:(NSNotification *)notification
{ {
macdrv_query* query = macdrv_create_query();
query->type = QUERY_RESIZE_END;
query->window = (macdrv_window)[self retain];
[self.queue query:query timeout:0.3];
macdrv_release_query(query);
self.liveResizeDisplayTimer = nil; self.liveResizeDisplayTimer = nil;
} }
......
...@@ -146,6 +146,10 @@ static void macdrv_query_event(HWND hwnd, const macdrv_event *event) ...@@ -146,6 +146,10 @@ static void macdrv_query_event(HWND hwnd, const macdrv_event *event)
TRACE("QUERY_PASTEBOARD_DATA\n"); TRACE("QUERY_PASTEBOARD_DATA\n");
success = query_pasteboard_data(hwnd, query->pasteboard_data.type); success = query_pasteboard_data(hwnd, query->pasteboard_data.type);
break; break;
case QUERY_RESIZE_END:
TRACE("QUERY_RESIZE_END\n");
success = query_resize_end(hwnd);
break;
case QUERY_RESIZE_START: case QUERY_RESIZE_START:
TRACE("QUERY_RESIZE_START\n"); TRACE("QUERY_RESIZE_START\n");
success = query_resize_start(hwnd); success = query_resize_start(hwnd);
......
...@@ -161,6 +161,7 @@ extern void macdrv_app_deactivated(void) DECLSPEC_HIDDEN; ...@@ -161,6 +161,7 @@ extern void macdrv_app_deactivated(void) DECLSPEC_HIDDEN;
extern void macdrv_app_quit_requested(const macdrv_event *event) DECLSPEC_HIDDEN; extern void macdrv_app_quit_requested(const macdrv_event *event) DECLSPEC_HIDDEN;
extern void macdrv_window_did_minimize(HWND hwnd) DECLSPEC_HIDDEN; extern void macdrv_window_did_minimize(HWND hwnd) DECLSPEC_HIDDEN;
extern void macdrv_window_did_unminimize(HWND hwnd) DECLSPEC_HIDDEN; extern void macdrv_window_did_unminimize(HWND hwnd) DECLSPEC_HIDDEN;
extern BOOL query_resize_end(HWND hwnd) DECLSPEC_HIDDEN;
extern BOOL query_resize_start(HWND hwnd) DECLSPEC_HIDDEN; extern BOOL query_resize_start(HWND hwnd) DECLSPEC_HIDDEN;
extern void macdrv_mouse_button(HWND hwnd, const macdrv_event *event) DECLSPEC_HIDDEN; extern void macdrv_mouse_button(HWND hwnd, const macdrv_event *event) DECLSPEC_HIDDEN;
......
...@@ -272,6 +272,7 @@ enum { ...@@ -272,6 +272,7 @@ enum {
QUERY_DRAG_OPERATION, QUERY_DRAG_OPERATION,
QUERY_IME_CHAR_RECT, QUERY_IME_CHAR_RECT,
QUERY_PASTEBOARD_DATA, QUERY_PASTEBOARD_DATA,
QUERY_RESIZE_END,
QUERY_RESIZE_START, QUERY_RESIZE_START,
NUM_QUERY_TYPES NUM_QUERY_TYPES
}; };
......
...@@ -1991,6 +1991,22 @@ fail: ...@@ -1991,6 +1991,22 @@ fail:
BOOL query_resize_start(HWND hwnd) BOOL query_resize_start(HWND hwnd)
{ {
TRACE("hwnd %p\n", hwnd); TRACE("hwnd %p\n", hwnd);
sync_window_min_max_info(hwnd); sync_window_min_max_info(hwnd);
SendMessageW(hwnd, WM_ENTERSIZEMOVE, 0, 0);
return TRUE;
}
/***********************************************************************
* query_resize_end
*
* Handler for QUERY_RESIZE_END query.
*/
BOOL query_resize_end(HWND hwnd)
{
TRACE("hwnd %p\n", hwnd);
SendMessageW(hwnd, WM_EXITSIZEMOVE, 0, 0);
return TRUE; return TRUE;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment