Hi there!
I was trying to figure out how could I get AltGr working with my setup (
vnc.so running on Gentoo, vncviewer on WinXP). So I enabled logging to file
'vncviewer Log=*:file:1969'. For some reason I canceled the initial dialog
querying for the server to connect. Up pops a dialog stating that pure
virtual function had been called.
I downloaded the sources, recompiled them using Visual C++ 2005 Express
Edition, and started studying. I got rid of the run time error by changing
the Logger class' write function's prototype as follows:
Original:
virtual void write(int level, const char *logname, const char *text)
= 0;
After my modification:
virtual void write(int level, const char *logname, const char *text)
{}
With this change in place, I can cancel the initial dialog without a run
time error.
Oh, I almost forgot. The cause of the run time error is in MRU.h.
namespace rfb {
namespace win32 {
namespace MRU {
static const RegKey RegRoot = HKEY_CURRENT_USER;
After WinMain has exited (vncviewer.cxx), run time libraries start cleaning
up stuff, calling remaining objects' destructors, and eventually the above
RegRoot's destructor is called. The destructor calls close(), which in turn
calls vlog.debug(). At that point the logging system has already been
destructed, hence run time libraries are left with the base class' pure
virtual function. And calling that causes a run time error.
p.s. Does anyone have an idea for a solution for my initial problem
described in first paragraph above? Keyboard is Finnish. Inside vncviewer,
xev prints Ctrl_L, and then Alt_L for AltGr. I've been thinking of either
tweaking the server, or client code to fix this (somehow forcing consecutive
left-Ctrl-left-Alt keys being forced into ISO_level3_shift, or something
like that). Or is there some sort of xmodmap tweak to get things working?
And if there is, it should be documented somewhere. I've tried Googlin'
around for an answer, and result point to questions from various continental
European users with the same headache.
Cheers,
--
jussi
_______________________________________________
VNC-List mailing list
[email protected]
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list