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
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.
12 gdk/quartz/gdkevents-quartz.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
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;
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')
26 if ([tmp_view respondsToSelector:@selector(undoManager)])