Code

git-gui: suppress RenderBadPicture X error caused by Tk bug
authorJindrich Makovicka <makovick@gmail.com>
Fri, 4 Dec 2009 09:28:44 +0000 (10:28 +0100)
committerShawn O. Pearce <spearce@spearce.org>
Mon, 7 Dec 2009 15:39:58 +0000 (07:39 -0800)
Due to a bug in Tk, git-gui almost always (unless git-gui is closed
right after starting) produces an X window error message on exit,
something like:

X Error of failed request:  RenderBadPicture (invalid Picture parameter)
  Major opcode of failed request:  150 (RENDER)
  Minor opcode of failed request:  7 (RenderFreePicture)
  Picture id in failed request: 0x3a000dc
  Serial number of failed request:  1965
  Current serial number in output stream:  1980

Respective Tk bug report is here:

http://sourceforge.net/tracker/?func=detail&atid=112997&aid=1821174&group_id=12997

This bug is triggered only when the send command is blocked via
rename send {} . The following patch re-enables send just before
quiting git-gui to suppress the error.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
git-gui.sh

index 037a1f2c21958252052f4c1cf0d8a8507574ca95..718277a651f1fbc8e100e7eb657d87699b1059cb 100755 (executable)
@@ -2052,6 +2052,11 @@ proc do_quit {{rc {1}}} {
        }
 
        set ret_code $rc
+
+       # Briefly enable send again, working around Tk bug
+       # http://sourceforge.net/tracker/?func=detail&atid=112997&aid=1821174&group_id=12997
+       tk appname [appname]
+
        destroy .
 }