Re: RE: [Xpert]FreeBSD 5.0 XFree86 4_2_1 source anyone?

Yury Tarasievich <[email protected]> Sun, 05 Jan 2003 12:32:53 +0200
Newsgroups gmane.comp.xfree86.expert
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------040902010805060100070407
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

John Baldwin wrote:

>If you go to /usr/ports/x11/XFree86-4, you can build X 4.2.1 from source
>that way and it should work fine.  That's how I build X on my laptop running
>FreeBSD-current.
>  
>
Slightly off the subject... I wonder, if anybody else running X on 
FreeBSD encounters coredumps of X applications trying to use XIM??

Either QT-based or GTK-based, apps walk into  
...something...InstatiateCallback from XLib and fail when Xlib tries to 
call function (supposed to be somewhere in app code, I think) by 
pointer. I'm not at all expert in debugging with gdb, so I just made a 
hack of this function in lib/X11 (attached) to permanently "fail".

Everything work fine now (Opera/FreeBSD included). But what was happening?


I use now FreeBSD 4.7-RELEASE and XFree86 4.2.1 from the packages 
directory on disk #1.
Same issue with all combinations of FreeBSD 4.6.* and with 4.2.0/4.2.1 
either from ports or built manually. I'm not sure about FreeBSD 4.4/4.5. 
Is my hardware essential? (I remember having this problem at least on 
two completely different HW configurations)


--------------040902010805060100070407
Content-Type: text/plain;
 name="uuu"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="uuu"

*** XlcDL.c.good	Mon Dec 23 19:25:06 2002
--- XlcDL.c	Mon Dec 23 23:20:19 2002
***************
*** 506,512 ****
  					      objects_list->im_register);
      if (!im_registerIM) continue;
  #endif
!     ret_flag = (*im_registerIM)(lcd, display, rdb,
  				res_name, res_class,
  				callback, client_data);
      if (ret_flag) break;
--- 506,512 ----
  					      objects_list->im_register);
      if (!im_registerIM) continue;
  #endif
! return False;    ret_flag = (*im_registerIM)(lcd, display, rdb,
  				res_name, res_class,
  				callback, client_data);
      if (ret_flag) break;

--------------040902010805060100070407--