diff options
Diffstat (limited to 'video/out/cocoa_common.m')
-rw-r--r-- | video/out/cocoa_common.m | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index cbadcf2d94..0d6f310662 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -76,6 +76,7 @@ struct vo_cocoa_state { bool cursor_visibility; bool cursor_visibility_wanted; + bool window_is_dragged; bool embedded; // wether we are embedding in another GUI @@ -946,8 +947,9 @@ int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg) - (void)signalMouseMovement:(NSPoint)point { - mp_input_set_mouse_pos(self.vout->input_ctx, point.x, point.y); [self recalcMovableByWindowBackground:point]; + if (!self.vout->cocoa->window_is_dragged) + mp_input_set_mouse_pos(self.vout->input_ctx, point.x, point.y); } - (void)putKeyEvent:(NSEvent*)event @@ -1052,4 +1054,14 @@ int vo_cocoa_control(struct vo *vo, int *events, int request, void *arg) flag_events(self.vout, VO_EVENT_WIN_STATE); } +- (void)windowWillMove:(NSNotification *)notification +{ + self.vout->cocoa->window_is_dragged = true; +} + +- (void)mouseUp +{ + self.vout->cocoa->window_is_dragged = false; +} + @end |