ba9fbea66ca9541479430b2abf44b742126e2cf1
[mono.git] / bockbuild / mac-sdk / patches / gtk / bxc-41657.patch
1 From ccd93c714859737d9b40b547e433a690ad6a9e55 Mon Sep 17 00:00:00 2001
2 From: iain holmes <iain@xamarin.com>
3 Date: Thu, 30 Jun 2016 12:34:56 +0100
4 Subject: [PATCH] [Gdk] Don't crash when turning screen off
5
6 Check the length of characters in the NSFlagsChanged event before accessing
7 the individual characters because cmd+alt+power key doesn't have any characters
8 so an ObjC will throw an exception.
9
10 Fixes BXC #41657
11 ---
12  gdk/quartz/gdkevents-quartz.c | 2 +-
13  1 file changed, 1 insertion(+), 1 deletion(-)
14
15 diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c
16 index 8cb05c0..0fa63be 100644
17 --- a/gdk/quartz/gdkevents-quartz.c
18 +++ b/gdk/quartz/gdkevents-quartz.c
19 @@ -1847,7 +1847,7 @@ gdk_event_translate (GdkEvent *event,
20          NSView *tmp_view = [nswindow firstResponder];
21          gboolean gtk_child = FALSE;
22
23 -        if (event_type == NSKeyDown && ([nsevent modifierFlags] & NSCommandKeyMask) != 0 && [[nsevent characters] characterAtIndex:0] == 'z')
24 +        if (event_type == NSKeyDown && ([nsevent modifierFlags] & NSCommandKeyMask) != 0 && [[nsevent characters] length] > 0 && [[nsevent characters] characterAtIndex:0] == 'z')
25            {
26              if ([tmp_view respondsToSelector:@selector(undoManager)])
27                {