]> granicus.if.org Git - python/commitdiff
Issue #19373: Apply upstream change to Tk 8.5.15 fixing OS X 10.9
authorNed Deily <nad@acm.org>
Mon, 28 Oct 2013 02:47:23 +0000 (19:47 -0700)
committerNed Deily <nad@acm.org>
Mon, 28 Oct 2013 02:47:23 +0000 (19:47 -0700)
screen refresh problem.

Mac/BuildScript/build-installer.py
Mac/BuildScript/issue19373_tk_8_5_15_source.patch [new file with mode: 0644]

index 69f3ff7ee904db6f6f4560d9aca789af658cf4cf..0859b3aa068d11b0d945a249981bb3bbe04d3ae7 100755 (executable)
@@ -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 (file)
index 0000000..de5d08e
--- /dev/null
@@ -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];