diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nsterm.m | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/nsterm.m b/src/nsterm.m index c8ae31abc09..df883346dee 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -1958,12 +1958,20 @@ x_set_parent_frame (struct frame *f, Lisp_Object new_value, Lisp_Object old_valu | |||
| 1958 | 1958 | ||
| 1959 | if (p != FRAME_PARENT_FRAME (f)) | 1959 | if (p != FRAME_PARENT_FRAME (f)) |
| 1960 | { | 1960 | { |
| 1961 | parent = [FRAME_NS_VIEW (p) window]; | 1961 | block_input (); |
| 1962 | child = [FRAME_NS_VIEW (f) window]; | 1962 | child = [FRAME_NS_VIEW (f) window]; |
| 1963 | 1963 | ||
| 1964 | block_input (); | 1964 | if ([child parentWindow] != nil) |
| 1965 | [parent addChildWindow: child | 1965 | [[child parentWindow] removeChildWindow:child]; |
| 1966 | ordered: NSWindowAbove]; | 1966 | |
| 1967 | if (!NILP (new_value)) | ||
| 1968 | { | ||
| 1969 | parent = [FRAME_NS_VIEW (p) window]; | ||
| 1970 | |||
| 1971 | [parent addChildWindow: child | ||
| 1972 | ordered: NSWindowAbove]; | ||
| 1973 | } | ||
| 1974 | |||
| 1967 | unblock_input (); | 1975 | unblock_input (); |
| 1968 | 1976 | ||
| 1969 | fset_parent_frame (f, new_value); | 1977 | fset_parent_frame (f, new_value); |