Fwd: Re: [VirtualGL-Users] VirtualGL and Qt5

68 views
Skip to first unread message

Grothausmann, Roman Dr.

unread,
Jun 29, 2015, 9:02:15 AM6/29/15
to itksn...@googlegroups.com, itksna...@googlegroups.com
This is just to pass on some info concerning the use of ITK-Snap over VirtualGL
with Qt5:
As we run ITK-Snap over VirtualGL and ITK-Snap moved on to Qt5 the application
crashes when a (sub-) window is closed by using the X-button of the window
frame. Below is DRC's answer from the VirtualGL mailing list in which he
suggests to "catch the WM_DELETE_WINDOW message from the window manager and shut
down its window cleanly." I'll give it a try to realize that when I find the time.
Meanwhile a simple workaround is to use a Close or OK button inside a window. It
only requires a bit of discipline by the users;-) I could not find a sub-window
where such a button was missing.

Also, ITK-Snap over VirtualGL with Qt5 needs XCB (see thread in VirtualGL
mailinglist: http://sourceforge.net/p/virtualgl/mailman/message/33606642/).

Furthermore, at least on our debian server, the vncserver (TightVNC as well as
RealVNC) needs to be started with the additional option -pixelformat rgb888 to
prevent wrongly mapped label colours and a mangled colour wheel in the label editor.


-------- Forwarded Message --------
Subject: Re: [VirtualGL-Users] VirtualGL and Qt5
Date: Sun, 29 Mar 2015 23:16:18 -0500
From: DRC <dcomm...@users.sourceforge.net>
Reply-To: VirtualGL Users <virtual...@lists.sourceforge.net>
To: virtual...@lists.sourceforge.net

On 3/24/15 9:49 AM, Dr. Roman Grothausmann wrote:
> One problem that I've observed with VirtualGL-2.4 (+XCB) is that the app crashes
> with
>
> [VGL] ERROR: in getGLXDrawable--
> [VGL] 186: Window has been deleted by window manager

That isn't a crash. It's VirtualGL being nice and preventing a crash by
catching the fact that the X window disappeared without the application
explicitly calling XDestroyWindow(). In other words, it's a feature,
not a bug. From VirtualGL's point of view, it actually is an error,
because if the application never calls XDestroyWindow(), then VirtualGL
never has a chance to shut down the virtual window instance (which, if
using the VirtualGL transport, would also shut down the connection to
vglclient.)

In order to prevent it, the application should catch the
WM_DELETE_WINDOW message from the window manager and shut down its
window cleanly. See glxspheres.c in the VirtualGL source for an example
of how to do this (although that source code shows how to do it with
Xlib, not xcb, I assume it would be similar with xcb.)


Reply all
Reply to author
Forward
0 new messages