diff options
author | Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> | 2008-09-26 17:34:50 -0300 |
---|---|---|
committer | Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> | 2008-09-26 17:34:50 -0300 |
commit | cc7cb041c4144f1401fd520f05018028c0e0c87e (patch) | |
tree | cd640c45b66ff4feb0dfde507e4a8c340becf67d | |
parent | dc857b78c00432de6d57124ca2e060ef0a76684f (diff) |
Proper implementation of AddDoubleClickCallback
I tracked it down to
http://cvsweb.xfree86.org/cvsweb/xc/programs/xedit/commands.c?rev=1.5&content-type=text/vnd.viewcvs-markup
After my patches to libXaw. Instead of checking for
"if (XtIsSubclass(w, asciiSrcObjectClass)) {" it should really
do something like "if (isXaw7orNewer) {". But I believe only XFree86
and Xorg versions of Xaw have the XawVersion macro in XawInit.h...
This corrects the problem described in
http://bugs.freedesktop.org/show_bug.cgi?id=17726
And the main reason is that xedit always default'ed to use a 8 bits
iso8859-x locale, while in Xorg it was modified to use multibyte by
default.
-rw-r--r-- | commands.c | 22 |
1 files changed, 4 insertions, 18 deletions
@@ -93,24 +93,10 @@ static int dc_state; static void AddDoubleClickCallback(Widget w, Bool state) { - Arg args[1]; - static XtCallbackRec cb[] = { {NULL, NULL}, {NULL, NULL} }; - - if (XtIsSubclass(w, asciiSrcObjectClass)) { - if (state) - XtAddCallback(w, XtNcallback, ResetDC, NULL); - else - XtRemoveCallback(w, XtNcallback, ResetDC, NULL); - } - else { - if (state) - cb[0].callback = ResetDC; - else - cb[0].callback = NULL; - - XtSetArg(args[0], XtNcallback, cb); - XtSetValues(w, args, ONE); - } + if (state) + XtAddCallback(w, XtNcallback, ResetDC, NULL); + else + XtRemoveCallback(w, XtNcallback, ResetDC, NULL); } /* Function Name: ResetDC |