From 94764b24aacfb9b46b217bd2bf964b722279ff0b Mon Sep 17 00:00:00 2001 From: Ned Deily Date: Sun, 27 Oct 2013 19:49:29 -0700 Subject: [PATCH] Issue #19373: Apply upstream change to Tk 8.5.15 fixing OS X 10.9 screen refresh problem. --- Mac/BuildScript/build-installer.py | 8 ++++++-- Mac/BuildScript/issue19373_tk_8_5_15_source.patch | 13 +++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 Mac/BuildScript/issue19373_tk_8_5_15_source.patch diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py index 69f3ff7ee90..0859b3aa068 100755 --- a/Mac/BuildScript/build-installer.py +++ b/Mac/BuildScript/build-installer.py @@ -215,6 +215,9 @@ def library_recipes(): name="Tk 8.5.15", url="ftp://ftp.tcl.tk/pub/tcl//tcl8_5/tk8.5.15-src.tar.gz", checksum='55b8e33f903210a4e1c8bce0f820657f', + patches=[ + "issue19373_tk_8_5_15_source.patch", + ], buildDir="unix", configure_pre=[ '--enable-aqua', @@ -797,8 +800,6 @@ def buildRecipe(recipe, basedir, archList): workDir = extractArchive(buildDir, sourceArchive) os.chdir(workDir) - if 'buildDir' in recipe: - os.chdir(recipe['buildDir']) for patch in recipe.get('patches', ()): if isinstance(patch, tuple): @@ -825,6 +826,9 @@ def buildRecipe(recipe, basedir, archList): runCommand('sh %s' % shellQuote(fn)) os.unlink(fn) + if 'buildDir' in recipe: + os.chdir(recipe['buildDir']) + if configure is not None: configure_args = [ "--prefix=/usr/local", diff --git a/Mac/BuildScript/issue19373_tk_8_5_15_source.patch b/Mac/BuildScript/issue19373_tk_8_5_15_source.patch new file mode 100644 index 00000000000..de5d08e9d6c --- /dev/null +++ b/Mac/BuildScript/issue19373_tk_8_5_15_source.patch @@ -0,0 +1,13 @@ +Issue #19373: Patch to Tk 8.5.15 to correct refresh problem on OS x 10.9. +From upstream checkin https://core.tcl.tk/tk/info/5a5abf71f9 + +--- tk8.5.15/macosx/tkMacOSXDraw.c 2013-09-16 09:41:21.000000000 -0700 ++++ Tk_Source_Code-5a5abf71f9fdb0da/macosx/tkMacOSXDraw.c 2013-10-27 13:27:00.000000000 -0700 +@@ -1688,6 +1688,7 @@ + { + if (dcPtr->context) { + CGContextSynchronize(dcPtr->context); ++ [[dcPtr->view window] setViewsNeedDisplay:YES]; + [[dcPtr->view window] enableFlushWindow]; + if (dcPtr->focusLocked) { + [dcPtr->view unlockFocus];