summaryrefslogtreecommitdiff
path: root/src/macterm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/macterm.c')
-rw-r--r--src/macterm.c21
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;