racket/collects/mred/private/wx/cocoa
Matthew Flatt 9420855879 racket/gui cocoa: delay `on-paint' if a GL context isn't ready
The relevant `on-paint' call is one that is forced for a GL
canvas to try to draw a frame's content before the frame is
shown. Sometimes, thread scheduling would let the frame get
sufficiently initialized at the Cocoa level before the `on-paint'
call happened, but sometimes not.
2013-04-12 14:58:53 -06:00
..
agl.rkt OpenGL context sharing 2013-04-12 14:58:53 -06:00
button.rkt
canvas.rkt racket/gui cocoa: delay `on-paint' if a GL context isn't ready 2013-04-12 14:58:53 -06:00
cg.rkt
check-box.rkt
choice.rkt racket/gui: add delete' to choice%' and `list-control<%>' 2012-11-04 08:25:43 -07:00
clipboard.rkt
colordialog.rkt
const.rkt
cursor.rkt
dc.rkt OpenGL context sharing 2013-04-12 14:58:53 -06:00
dialog.rkt
filedialog.rkt
finfo.rkt
font.rkt
frame.rkt fix a bug in recently added display-changed method 2013-01-21 13:47:43 -06:00
gauge.rkt
gc.rkt
group-panel.rkt
image.rkt
init.rkt
item.rkt
keycode.rkt
list-box.rkt racket/gui: make list-box% columns more consistent across platforms 2013-04-12 06:36:51 -06:00
menu-bar.rkt Fix lots of indentation mistakes. 2013-03-14 10:55:47 -04:00
menu-item.rkt
menu.rkt
message.rkt
panel.rkt
platform.rkt racket/gui: add `get-current-mouse-state' 2012-11-07 14:37:39 -07:00
pool.rkt
printer-dc.rkt
procs.rkt racket/gui: add `get-current-mouse-state' 2012-11-07 14:37:39 -07:00
queue.rkt Rackety 2012-12-21 19:22:59 -06:00
radio-box.rkt
README.txt Typo fixes 2012-11-27 07:55:29 -07:00
slider.rkt
sound.rkt
tab-panel.rkt
types.rkt add ffi/unsafe/nsalloc' and ffi/unsafe/nsstring' 2012-08-24 15:48:58 -06:00
utils.rkt add ffi/unsafe/nsalloc' and ffi/unsafe/nsstring' 2012-08-24 15:48:58 -06:00
window.rkt racket/gui: add warp-pointer' to window<%>' 2013-03-19 15:53:13 -07:00

Allocation rules:

 * Use `as-objc-allocation' when creating a Cocoa object. When the
   resulting reference becomes unreachable, the Cocoa object will be
   released.

 * Use `with-autorelease' in atomic mode around calls that autorelease
   and where the release should take effect immediate. Do not create
   an autorelease pool except in atomic mode.

 * Other autoreleased objects may end up in the root pool installed by
   "pool.rkt". The root pool is periodically destroyed and replaced;
   call `queue-autorelease-flush' if you need to encurage replacement
   of the pool. If you need to use an object that might be autoflushed,
   be sure that you're in atomic mode.