This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
Re: screen redraw problem
- From: Harold L Hunt II <huntharo at msu dot edu>
- To: cygwin-xfree at cygwin dot com
- Date: Fri, 07 Nov 2003 12:44:49 -0500
- Subject: Re: screen redraw problem
- References: <Sea2-F109nl6gvdJ4ab0007fb40@hotmail.com>
- Reply-to: cygwin-xfree at cygwin dot com
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