diff options
author | Kevin Walzer <kw@codebykevin.com> | 2016-01-09 03:03:29 (GMT) |
---|---|---|
committer | Kevin Walzer <kw@codebykevin.com> | 2016-01-09 03:03:29 (GMT) |
commit | e07b10f1a79f05875a092a57edd405f0e23f7345 (patch) | |
tree | 8220188017056eedba5ede831ddd2a1e73044b38 /macosx/tkMacOSXWindowEvent.c | |
parent | 52598f831a2b67fd2feb6317fb7fca9828712cf5 (diff) | |
download | tk-e07b10f1a79f05875a092a57edd405f0e23f7345.zip tk-e07b10f1a79f05875a092a57edd405f0e23f7345.tar.gz tk-e07b10f1a79f05875a092a57edd405f0e23f7345.tar.bz2 |
Additional fixes for memory leaks, window flickering on OS X 10.11; thanks to Marc Culler for patch
Diffstat (limited to 'macosx/tkMacOSXWindowEvent.c')
-rw-r--r-- | macosx/tkMacOSXWindowEvent.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/macosx/tkMacOSXWindowEvent.c b/macosx/tkMacOSXWindowEvent.c index 91cc348..fce3801 100644 --- a/macosx/tkMacOSXWindowEvent.c +++ b/macosx/tkMacOSXWindowEvent.c @@ -165,6 +165,10 @@ extern BOOL opaqueTag; if (winPtr) { TkGenWMDestroyEvent((Tk_Window) winPtr); + if (_windowWithMouse == w) { + _windowWithMouse = nil; + [w release]; + } } /* @@ -862,12 +866,9 @@ ConfigureRestrictProc( /* * Try to prevent flickers and flashes. - * - * This stops the flickers, but on OSX 10.11 flashes still occur when - * the width of the window is 16, 32, 48, 64, 80, 96, 112, 256, 512, - * 768, ... */ [w disableFlushWindow]; + NSDisableScreenUpdates(); /* Disable Tk drawing until the window has been completely configured.*/ TkMacOSXSetDrawingEnabled(winPtr, 0); @@ -891,6 +892,7 @@ ConfigureRestrictProc( while (Tk_DoOneEvent(TK_ALL_EVENTS|TK_DONT_WAIT)) {} [w enableFlushWindow]; [w flushWindowIfNeeded]; + NSEnableScreenUpdates(); [NSApp setPoolProtected:NO]; } } |