ui.backend.cocoa.views: unregister window from notification instead of in -dealloc, fixing flakiness of show-listener/show-browser words

db4
Slava Pestov 2010-06-19 18:12:56 -04:00
parent 1a94ce5927
commit a74de80bb0
1 changed files with 7 additions and 9 deletions

View File

@ -138,8 +138,8 @@ CONSTANT: selector>action H{
}
: validate-action ( world selector -- ? validated? )
selector>action at
[ swap world-focus parents-handle-gesture? t ] [ drop f f ] if* ;
selector>action at
[ swap world-focus parents-handle-gesture? t ] [ drop f f ] if* ;
CLASS: {
{ +superclass+ "NSOpenGLView" }
@ -305,8 +305,6 @@ CLASS: {
]
}
! "rotateWithEvent:" void { id SEL id }}
{ "acceptsFirstResponder" char { id SEL }
[ 2drop 1 ]
}
@ -408,10 +406,9 @@ CLASS: {
{ "dealloc" void { id SEL }
[
drop
[ unregister-window ]
[ remove-observer ]
[ SUPER-> dealloc ]
tri
bi
]
} ;
@ -446,8 +443,8 @@ CLASS: {
[
forget-rollover
2nip -> object -> contentView
dup -> isInFullScreenMode zero?
[ window unfocus-world ]
dup -> isInFullScreenMode 0 =
[ window [ unfocus-world ] when* ]
[ drop ] if
]
}
@ -460,7 +457,8 @@ CLASS: {
{ "windowWillClose:" void { id SEL id }
[
2nip -> object -> contentView window ungraft
2nip -> object -> contentView
[ window ungraft ] [ unregister-window ] bi
]
} ;