Fixing XIM bugs

Akinori MUSHA knu at iDaemons.org
Sun Nov 30 10:44:32 PST 2003


Dear x11 ports maintainers,

Would you incorporate the following patch into the
x11/XFree86-4-libraries port to make the flash6 plugin work stably?

[files/patch-imDefIm.c]
--- lib/X11/imDefIm.c.orig	Sat Dec 14 10:53:56 2002
+++ lib/X11/imDefIm.c	Mon Dec  1 02:36:45 2003
@@ -2081,6 +2081,7 @@
 	    _XimRegisterServerFilter(im);
 	    return True;
 	}
+	_XimShutdown(im);
 #ifdef XIM_CONNECTABLE
     } else if (IS_DELAYBINDABLE(im)) {
 	if (_XimDelayModeSetAttr(im))


This is an official patch from XFree86.org which fixes a crash when
you use mozilla (Linux binary, or w/ linuxpluginwrapper) + flash6 +
xim.

cf.
	http://bugs.xfree86.org/show_bug.cgi?id=618
	http://cvsweb.xfree86.org/cvsweb/xc/lib/X11/imDefIm.c
	(rev 1.11-1.11.2.2)


And here's another one; Note that whether we should adopt it is a moot
point, because it is actually a workaround against a bug on the flash6
side.

[files/patch-ICWrap.c]
--- lib/X11/ICWrap.c.orig	Mon Nov 25 23:04:53 2002
+++ lib/X11/ICWrap.c	Mon Dec  1 02:38:55 2003
@@ -346,7 +346,7 @@
 XSetICFocus(ic)
     XIC ic;
 {
-  if (ic->core.im)
+  if (ic != NULL && ic->core.im)
       (*ic->methods->set_focus) (ic);
 }
 
This fix just hides critical bugs of client (caller) code when NULL
should never be passed to XSetICFocus().  XFree86.org of course
rejected the patch and said you have to wait for Macromedia to fix
flash6. (Currently no one knows when Macromedia will fix this bug and
release a new version)

What do you guys think?  Is making flash6 work for those who use XIM a
sufficient reason to adopt this evil workaround?

-- 
                     /
                    /__  __            Akinori.org / MUSHA.org
                   / )  )  ) )  /     FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ /  ( (__(  @ iDaemons.org / and.or.jp

"It seems to me as we make our own few circles 'round the sun
          We get it backwards and our seven years go by like one"


More information about the freebsd-x11 mailing list