On Wed, Mar 29, 2006 at 08:53:37PM +0200, Georg Baum wrote:
> Am Mittwoch, 29. März 2006 03:11 schrieb Enrico Forestieri:
> 
> > The client works with the cygwin/X11 version of LyX.
> 
> Sorry, I meant windows without cygwin.
> 
> > It doesn't work 
> > with the cygwin/native-graphics version, but I suspect that this is
> > because the Qt sources are crippled when using the cygwin-g++-win32
> > target (as opposed to cygwin-g++, which uses X11). I am confident that
> > I can solve this problem.
> 
> Qt should not have anything to do with the client. It should just work if 
> socket support is available in the OS. AFAIK this is the case on cygwin, 
> but not on plain win32.

Indeed, when configuring for X11 everything works, because in this case
all *_unix.cpp files are pulled in. But, when configuring for cygwin
without X11, a mix of *_win.cpp and *_unix.cpp files are compiled.

I think the reason is that using the cygwin-g++-win32 target,
qeventloop_win.cpp is compiled instead of qeventloop_unix.cpp.
The socket code here apparently doesn't work with cygwin. My idea
is to substitute the socket code in qeventloop_win.cpp with the one
in qeventloop_unix.cpp (when/if I'll have the time...).
Notice that qsocketdevice_unix.cpp is always compiled instead of its
*_win.cpp counterpart.

If it is not so, I can't explain why it works when linking with libqt
for X11 and it does not work when linking with libqt without X11.

I had not a closer look at the LyX sources, but it seems to me that
some sort of callback function gets registered with Qt.

-- 
Enrico

Reply via email to