screen redraw problem

Harold L Hunt II huntharo@msu.edu
Fri Nov 7 17:44:00 GMT 2003


JS,

J S wrote:

> Harold,
> 
> Many thanks for email. I have created an XFree debug build now and a 
> symbolic link from /usr/X11R6_suffix/lib/X11/fonts to 
> /usr/X11R6/lib/X11/fonts.

That is a good idea.  I never thought of just creating a symlink.  Doh!

> In order to debug this though, what's the best approach?
> For example, should I use any flags on the xwin command line? Do you use 
> gdb to do the debugging? If so, could you just give me a clue as to 
> where I might want to set the breakpoint given the nature of the problem?

Boy... this is really tough to say.  I think you're going to have to 
look at the client code (to understand what happens when the window is 
scrolled), the Xlib code (to understand what it does when the window is 
scrolled), and the server code (to see whether the requested operation 
is successful and performed correctly).

Actually, a good first start would be some experimentation with your app 
(assuming you have the source and it compiles on Cygwin/X):

1) Compile the app against the Cygwin/X libs and headers.

2) Run the app under XWin.exe (you have done this, I know).

3) Run the app under Exceed (you said you did this too).  At this point, 
it is still linked to our libs, so correct operation would mean the 
problem is in XWin.exe, not in Xlib.

4) If you have access to Solaris machines that are running Sun's X 
Server, recompile the app on them and launch it locally.  Also, launch 
the app through ssh and display it in XWin.exe.  Proper display on 
Solaris when run locally would be interesting.  Proper display in 
XWin.exe would mean that the app is probably using Xlib in a slightly 
broken manner which works for some platforms but not all platforms.  In 
that case, it will be better to fix the app.


The next steps after this are to read the code as I described above and 
figure out where to stick your breakpoint.  I can't really tell you more 
than that since I don't know what functions your code is calling (and I 
don't have your code).

You should be able to figure it out.  Feel free to continue asking 
questions.

Harold




More information about the Cygwin-xfree mailing list