diff options
Diffstat (limited to 'src/macterm.c')
-rw-r--r-- | src/macterm.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/macterm.c b/src/macterm.c index f14193a2d56..bfd7dca2c3b 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -2360,6 +2360,9 @@ mac_define_fringe_bitmap (which, bits, h, wd) for (i = 0; i < h; i++) bits[i] = ~bits[i]; + + BLOCK_INPUT; + provider = CGDataProviderCreateWithData (NULL, bits, sizeof (unsigned short) * h, NULL); if (provider) @@ -2369,6 +2372,8 @@ mac_define_fringe_bitmap (which, bits, h, wd) provider, NULL, 0); CGDataProviderRelease (provider); } + + UNBLOCK_INPUT; } static void @@ -2379,7 +2384,11 @@ mac_destroy_fringe_bitmap (which) return; if (fringe_bmp[which]) - CGImageRelease (fringe_bmp[which]); + { + BLOCK_INPUT; + CGImageRelease (fringe_bmp[which]); + UNBLOCK_INPUT; + } fringe_bmp[which] = 0; } #endif @@ -8757,7 +8766,7 @@ mac_load_query_font (f, fontname) font_id = atsu_find_font_from_family_name (family); if (font_id == kATSUInvalidFontID) - return; + return NULL; size_fixed = Long2Fix (size); bold_p = (fontface & bold) != 0; italic_p = (fontface & italic) != 0; @@ -12148,7 +12157,13 @@ XTread_socket (sd, expected, hold_quit) will be selected only when it is active. */ if (WINDOWP (window) && !EQ (window, last_window) - && !EQ (window, selected_window)) + && !EQ (window, selected_window) + /* For click-to-focus window managers + create event iff we don't leave the + selected frame. */ + && (focus_follows_mouse + || (EQ (XWINDOW (window)->frame, + XWINDOW (selected_window)->frame)))) { inev.kind = SELECT_WINDOW_EVENT; inev.frame_or_window = window; |