diff --git a/src/nsterm.m b/src/nsterm.m index 8c5eb06641bc..056d4139279e 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2304,14 +2304,19 @@ so some key presses (TAB) are swallowed by the system. */ { NSTRACE ("frame_set_mouse_pixel_position"); ns_raise_frame (f); -#if 0 - /* FIXME: this does not work, and what about GNUstep? */ + #ifdef NS_IMPL_COCOA + [FRAME_NS_VIEW (f) lockFocus]; - PSsetmouse ((float)pix_x, (float)pix_y); + + CGPoint pt; + pt.x = (float)(pix_x+f->left_pos); + pt.y = (float)(pix_y+f->top_pos+FRAME_NS_TITLEBAR_HEIGHT(f)+\ + FRAME_TOOLBAR_HEIGHT(f)); + CGWarpMouseCursorPosition(pt); + [FRAME_NS_VIEW (f) unlockFocus]; #endif -#endif } static int