After all the previous attempts, the problem seems almost trivial:
although Apple documents `NSAnyEventMask' as the constant #xFFFFFFFF,
it's actually NSUIntegerMax (and the difference matters in 64-bit
mode).
Merge to 5.2.
This fix uses the same`run'-vs-`finishLaunch' technique as before,
but patches up the modal-dialog problem by calling `run' again
with a callback to start a modal loop.
Merge to 5.2.
Calling NSApplication's `run' works better than calling `finishLaunching'
directly, particularly in 64-bit Lion for some reason.
Relevant to PR 12102
Relevant to PR 12257
Especially for gtk, where a client-resize notification was
getting mixed up with a frame-configure notification. On all
platforms, `on-size' and `on-move' for a frame% were queued
at too high a priority.
GRacket registers witht a global table to indicate that
no transform is needed. (This change was intended to address
a 64-bit problem on Lion. It didn't help, but this seems
better than ignoring an error.)
Since the number of monitors can change at any time, reliable
use of these functions requires handling failure in some way.
Handling #f results is easier (and less likely to mask other
problems) than catching exceptions.
Refresh was wrong in the case that a canvas had been "reset"
in certain ways, such as showing and hiding, and the canvas is
drawn on before a Win32-level refresh event was processed. In
that case `on-paint' wasn't called, and it should have been.
Closes PR 12152
Avoids a problem with the file dialog when a sheet is the
current "main window" (Cocoa terminology); when the file
dialog is closed, both the sheet owner and the sheet
become the main window (in that order), so that when the
sheet goes away, the sheet owner doesn't become the main
window as it should. It seems like a Cocoa problem. The
workaround is to hook into the callback that says a
sheet went away.
Closes PR 12073
because HINT doesn't works as expected, and the problem it
seemed to solve at one time (slow resize in DrRacket) seems
to have been fixed some other way. GDK_MOUSE_MOTION_MASK
isn't needed, since GDK_POINTER_MOTION_MASK covers it.
Merge to 5.1.2