Mac: Fix crash on 10.6 when building with the 10.7 SDK (issue #1026).

git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/1453@1327 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt 2013-07-22 17:05:18 +00:00
parent 27c4636563
commit f34ca16195
2 changed files with 56 additions and 0 deletions

View File

@ -61,6 +61,12 @@ patches = [
'name': 'drag_handler_601',
'path': '../content/',
},
{
# Fix crash on 10.6 when building with the 10.7 SDK
# http://code.google.com/p/chromiumembedded/issues/detail?id=1026
'name': 'renderer_host_1026',
'path': '../content/browser/renderer_host/',
},
{
# http://code.google.com/p/chromiumembedded/issues/detail?id=364
'name': 'spi_webcore_364',

View File

@ -0,0 +1,50 @@
Index: render_widget_host_view_mac.mm
===================================================================
--- render_widget_host_view_mac.mm (revision 212850)
+++ render_widget_host_view_mac.mm (working copy)
@@ -2097,13 +2097,20 @@
NSNotificationCenter* notificationCenter =
[NSNotificationCenter defaultCenter];
+
+ // Backing property notifications crash on 10.6 when building with the 10.7
+ // SDK, see http://crbug.com/260595.
+ BOOL supportsBackingPropertiesNotification = base::mac::IsOSLionOrLater();
+
if (oldWindow) {
+ if (supportsBackingPropertiesNotification) {
+ [notificationCenter
+ removeObserver:self
+ name:NSWindowDidChangeBackingPropertiesNotification
+ object:oldWindow];
+ }
[notificationCenter
removeObserver:self
- name:NSWindowDidChangeBackingPropertiesNotification
- object:oldWindow];
- [notificationCenter
- removeObserver:self
name:NSWindowDidMoveNotification
object:oldWindow];
[notificationCenter
@@ -2112,13 +2119,15 @@
object:oldWindow];
}
if (newWindow) {
+ if (supportsBackingPropertiesNotification) {
+ [notificationCenter
+ addObserver:self
+ selector:@selector(windowDidChangeBackingProperties:)
+ name:NSWindowDidChangeBackingPropertiesNotification
+ object:newWindow];
+ }
[notificationCenter
addObserver:self
- selector:@selector(windowDidChangeBackingProperties:)
- name:NSWindowDidChangeBackingPropertiesNotification
- object:newWindow];
- [notificationCenter
- addObserver:self
selector:@selector(windowChangedGlobalFrame:)
name:NSWindowDidMoveNotification
object:newWindow];