From 3fcb69b7ca0c2f301b278949f80d3e09f904e18b Mon Sep 17 00:00:00 2001 From: Ken Thomases Date: Wed, 6 Feb 2013 04:36:49 -0600 Subject: [PATCH] winemac: Implement Beep(). --- dlls/winemac.drv/cocoa_app.m | 12 ++++++++++++ dlls/winemac.drv/keyboard.c | 9 +++++++++ dlls/winemac.drv/macdrv_cocoa.h | 1 + dlls/winemac.drv/winemac.drv.spec | 1 + 4 files changed, 23 insertions(+) diff --git a/dlls/winemac.drv/cocoa_app.m b/dlls/winemac.drv/cocoa_app.m index cd09f95f5f9..3853ec93dab 100644 --- a/dlls/winemac.drv/cocoa_app.m +++ b/dlls/winemac.drv/cocoa_app.m @@ -373,3 +373,15 @@ CFDataRef macdrv_copy_keyboard_layout(CGEventSourceKeyboardType* keyboard_type, return result; } + +/*********************************************************************** + * macdrv_beep + * + * Play the beep sound configured by the user in System Preferences. + */ +void macdrv_beep(void) +{ + OnMainThreadAsync(^{ + NSBeep(); + }); +} diff --git a/dlls/winemac.drv/keyboard.c b/dlls/winemac.drv/keyboard.c index b41f55ab571..d67a20c541c 100644 --- a/dlls/winemac.drv/keyboard.c +++ b/dlls/winemac.drv/keyboard.c @@ -764,6 +764,15 @@ void macdrv_keyboard_changed(const macdrv_event *event) } +/*********************************************************************** + * Beep (MACDRV.@) + */ +void CDECL macdrv_Beep(void) +{ + macdrv_beep(); +} + + /*********************************************************************** * ToUnicodeEx (MACDRV.@) * diff --git a/dlls/winemac.drv/macdrv_cocoa.h b/dlls/winemac.drv/macdrv_cocoa.h index 62bc996a415..242a78e10eb 100644 --- a/dlls/winemac.drv/macdrv_cocoa.h +++ b/dlls/winemac.drv/macdrv_cocoa.h @@ -115,6 +115,7 @@ extern int macdrv_start_cocoa_app(unsigned long long tickcount) DECLSPEC_HIDDEN; extern void macdrv_window_rejected_focus(const struct macdrv_event *event) DECLSPEC_HIDDEN; +extern void macdrv_beep(void) DECLSPEC_HIDDEN; /* display */ diff --git a/dlls/winemac.drv/winemac.drv.spec b/dlls/winemac.drv/winemac.drv.spec index a2271876c39..f4502ea1cca 100644 --- a/dlls/winemac.drv/winemac.drv.spec +++ b/dlls/winemac.drv/winemac.drv.spec @@ -4,6 +4,7 @@ # USER driver +@ cdecl Beep() macdrv_Beep @ cdecl CreateDesktopWindow(long) macdrv_CreateDesktopWindow @ cdecl CreateWindow(long) macdrv_CreateWindow @ cdecl DestroyWindow(long) macdrv_DestroyWindow