<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/00b08b3ea4dead777ffd02b0c7fef77bf1794f59">https://github.com/macports/macports-ports/commit/00b08b3ea4dead777ffd02b0c7fef77bf1794f59</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 00b08b3ea4d libsdl2: update to 2.30.11
</span>00b08b3ea4d is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 00b08b3ea4dead777ffd02b0c7fef77bf1794f59
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Fri Jan 3 08:35:30 2025 +1100

<span style='display:block; white-space:pre;color:#404040;'>    libsdl2: update to 2.30.11
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/67666
</span>---
 devel/libsdl2/Portfile                           | 18 ++++----
 devel/libsdl2/files/NSTimer.patch                | 46 +++++++++++++++++++
 devel/libsdl2/files/kAudioChannelLayoutTag.patch | 31 +++++++++++++
 devel/libsdl2/files/patch-revert-issue-6948.diff | 58 ------------------------
 devel/libsdl2/files/showAlert.patch              | 48 ++++++++++++++++++++
 5 files changed, 134 insertions(+), 67 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libsdl2/Portfile b/devel/libsdl2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f00114c8657..1eac3f4cd67 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/libsdl2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libsdl2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup       compiler_blacklist_versions 1.0
</span> PortGroup       github 1.0
 
 name            libsdl2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup    libsdl-org SDL 2.30.10 release-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup    libsdl-org SDL 2.30.11 release-
</span> categories      devel multimedia
 platforms       macosx freebsd
 license         zlib
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,8 +21,8 @@ homepage        https://www.libsdl.org/
</span> 
 github.tarball_from releases
 distname        SDL2-${version}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums       rmd160 af0c5cc2fca394c7a0fd3aaf155a215d6d706a1b \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha256 f59adf36a0fcf4c94198e7d3d776c1b3824211ab7aeebeb31fe19836661196aa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums       rmd160 8765ed2a88d396008d68a8586abff6fcd9fe6624 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256 8b8d4aef2038533da814965220f88f77d60dfa0f32685f80ead65e501337da7f
</span> 
 depends_lib     port:libiconv
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,14 +49,14 @@ if {${os.subplatform} eq "macosx" && ${os.major} <= 10} {
</span>         system "echo $name is a stub port > ${destroot}${prefix}/share/doc/${name}/README"
     }
 } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    conflicts libsdl2-powerpc libsdl2-snowleopard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts libsdl2-powerpc libsdl2-snowleopard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/libsdl-org/SDL/pull/11827
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles      showAlert.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                NSTimer.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                kAudioChannelLayoutTag.patch
</span> 
 platform macosx {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} <= 12} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Patch to revert fix for issue: https://github.com/libsdl-org/SDL/issues/6948
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Necessary to fix builds for 10.7/10.8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append patch-revert-issue-6948.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span>     # Uses ObjC ARC, which can't be used with the legacy runtime (as
     # used on 32-bit) before LLVM 3.8, which is roughly Xcode 7.3.
     compiler.blacklist *gcc*
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libsdl2/files/NSTimer.patch b/devel/libsdl2/files/NSTimer.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4e4ff3a3722
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libsdl2/files/NSTimer.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,46 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/video/cocoa/SDL_cocoawindow.m.orig 2025-01-02 02:48:45
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/video/cocoa/SDL_cocoawindow.m      2025-01-03 08:07:25
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -741,18 +741,28 @@ - (void)windowDidExpose:(NSNotification *)aNotificatio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - (void)windowDidExpose:(NSNotification *)aNotification
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     SDL_SendWindowEvent(_data.window, SDL_WINDOWEVENT_EXPOSED, 0, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++- (void)onLiveResizeTimerFire:(id)sender
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    SDL_OnWindowLiveResizeUpdate(_data.window);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - (void)windowWillStartLiveResize:(NSNotification *)aNotification
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // We'll try to maintain 60 FPS during live resizing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     const NSTimeInterval interval = 1.0 / 60.0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    NSMethodSignature *invocationSig = [Cocoa_WindowListener
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        instanceMethodSignatureForSelector:@selector(onLiveResizeTimerFire:)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    NSInvocation *invocation = [NSInvocation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        invocationWithMethodSignature:invocationSig];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    [invocation setTarget:self];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    [invocation setSelector:@selector(onLiveResizeTimerFire:)];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     liveResizeTimer = [NSTimer scheduledTimerWithTimeInterval:interval
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                      repeats:TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                        block:^(NSTimer *unusedTimer)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        SDL_OnWindowLiveResizeUpdate(_data.window);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    }];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                      invocation:invocation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                                      repeats:TRUE];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     [[NSRunLoop currentRunLoop] addTimer:liveResizeTimer forMode:NSRunLoopCommonModes];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/video/cocoa/SDL_cocoawindow.h.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/video/cocoa/SDL_cocoawindow.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -78,6 +78,7 @@ typedef enum
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Window delegate functionality */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -(BOOL) windowShouldClose:(id) sender;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -(void) windowDidExpose:(NSNotification *) aNotification;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++-(void) onLiveResizeTimerFire:(id) sender;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -(void) windowWillStartLiveResize:(NSNotification *)aNotification;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -(void) windowDidEndLiveResize:(NSNotification *)aNotification;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -(void) windowDidMove:(NSNotification *) aNotification;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libsdl2/files/kAudioChannelLayoutTag.patch b/devel/libsdl2/files/kAudioChannelLayoutTag.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4fc0f6ad5e9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libsdl2/files/kAudioChannelLayoutTag.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,31 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/audio/coreaudio/SDL_coreaudio.m.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/audio/coreaudio/SDL_coreaudio.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -880,14 +880,25 @@ static int prepare_audioqueue(_THIS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         //  L R C LFE Ls Rs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         layout.mChannelLayoutTag = kAudioChannelLayoutTag_DVD_12;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if (defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000) || \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    (defined(MAC_OS_X_VERSION_MAX_ALLOWED) && MAC_OS_X_VERSION_MAX_ALLOWED >= 101500)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case 7:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // L R C LFE Cs Ls Rs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_6_1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (@available(macOS 10.15, iOS 13, *)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_6_1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return SDL_SetError("Unsupported audio channels");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     case 8:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // L R C LFE Rls Rrs Ls Rs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_7_1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (@available(macOS 10.15, iOS 13, *)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_7_1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return SDL_SetError("Unsupported audio channels");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         return SDL_SetError("Unsupported audio channels");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libsdl2/files/patch-revert-issue-6948.diff b/devel/libsdl2/files/patch-revert-issue-6948.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 1349944513b..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/libsdl2/files/patch-revert-issue-6948.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,58 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#==================================================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# libsdl2 v2.28.0 - Revert changes for issue: https://github.com/libsdl-org/SDL/issues/6948
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Necessary to fix builds for 10.8 and earlier
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#==================================================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/video/cocoa/SDL_cocoamessagebox.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/video/cocoa/SDL_cocoamessagebox.m
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -32,7 +32,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     NSInteger clicked;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     NSWindow *nswindow;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- (id)initWithParentWindow:(SDL_Window *)window;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (id) initWithParentWindow:(SDL_Window *)window;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (void) alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @implementation SDLMessageBoxPresenter
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -56,16 +57,35 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- - (void)showAlert:(NSAlert*)alert
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (nswindow) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        [alert beginSheetModalForWindow:nswindow
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                      completionHandler:^(NSModalResponse returnCode) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                        [NSApp stopModalWithCode:returnCode];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                      }];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        clicked = [NSApp runModalForWindow:nswindow];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef MAC_OS_X_VERSION_10_9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if ([alert respondsToSelector:@selector(beginSheetModalForWindow:completionHandler:)]) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            [alert beginSheetModalForWindow:nswindow completionHandler:^(NSModalResponse returnCode) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                self->clicked = returnCode;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            }];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        } else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            [alert beginSheetModalForWindow:nswindow modalDelegate:self didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:) contextInfo:nil];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        while (clicked < 0) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            SDL_PumpEvents();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            SDL_Delay(100);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         nswindow = nil;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         clicked = [alert runModal];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+- (void) alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    clicked = returnCode;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- @end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libsdl2/files/showAlert.patch b/devel/libsdl2/files/showAlert.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0a22fe9d9bc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libsdl2/files/showAlert.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,48 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/video/cocoa/SDL_cocoamessagebox.m.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/video/cocoa/SDL_cocoamessagebox.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -33,6 +33,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     NSWindow *nswindow;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - (id)initWithParentWindow:(SDL_Window *)window;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++- (void)alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @implementation SDLMessageBoxPresenter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -56,16 +59,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ - (void)showAlert:(NSAlert*)alert
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (nswindow) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        [alert beginSheetModalForWindow:nswindow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1090
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if ([alert respondsToSelector:@selector(beginSheetModalForWindow:completionHandler:)]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            [alert beginSheetModalForWindow:nswindow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       completionHandler:^(NSModalResponse returnCode) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                         [NSApp stopModalWithCode:returnCode];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       }];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        clicked = [NSApp runModalForWindow:nswindow];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        } else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            [alert beginSheetModalForWindow:nswindow modalDelegate:self didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:) contextInfo:nil];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        clicked = [NSApp runModalForWindow:nswindow];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         nswindow = nil;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         clicked = [alert runModal];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++- (void) alertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    [NSApp stopModalWithCode:returnCode];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>