Editorhost with X11 windowing on 3.6.7


I am experimenting the new VST 3.6.7 SDK on ubuntu 16.10 64 bits.
In the “editorhost”, there is the identifier ‘EDITORHOST_GTK’ from “platform/linux/window.h”. From what I’ve understood, it enables X11 windowing if it’s undefined.
When I run the ‘noteexpressionsynth’ plugin with the editorhost with letting the ‘#define EDITORHOST_GTK’ line, it works fine. If I comment the #define, I saw that windowing is handled by X11 functions but I have the following error at some point :
abardet@abardet-Veriton-X4640G:~/Documents/VST_SDK/VST3_SDK/build/bin$ ./editorhost /home/abardet/Documents/VST_SDK/VST3_SDK/build/VST3/noteexpressionsynth.vst3
PlugID: 4200003
editorhost: /home/abardet/Documents/VST_SDK/VST3_SDK/public.sdk/samples/vst/editorhost/source/platform/linux/window.cpp :785 : bool Steinberg::Vst::EditorHost::X11Window::Impl::handlePlugEvent(const XEvent&): l’assertion « xEmbedAtom != None » a échoué.
Abandon (core dumped)

The problem is on the variable ‘Atom xEmbedAtom’ which remains null even at the one time it should be set :
xEmbedAtom = XInternAtom (xDisplay, “_XEMBED”, true); <--------window.cpp::line783
And it remains null because “_XEMBED” is not defined.
Is it normal? Or Am I doing something wrong?

Thanks !


I just tried with Ubuntu 16.10 here.

I commented this line:


After building I start the editorhost with noteexpressionsynth.vst3 plug-in. Opens up like expected. I cannot reproduce it unfortunately.

Any more hints?


Thanks for the reply.
This is weird. I’ve tried to rebuild all the vst3 sdk from scratch after commenting the ‘#define EDITORHOST_GTK’ and I got the same error… (maybe a package or something is missing ?). I will try it with another computer.
The Editor window open (without noting displayed) and close suddenly when it goes into the handlePlugEvent(const XEvent&) function. I don’t know much about X11 but the xEmbedAtom Atom variable remains null after the

xEmbedAtom = XInternAtom (xDisplay, "_XEMBED", true);

window.cpp at line 783
and that what causes the crash.

So I changed the true to false. Hence the Atom is created: https://tronche.com/gui/x/xlib/window-information/XInternAtom.html
I don’t know if it’d create problems afterwards. The noteexpressionsynth GUI seems to work good.


Alright, I just tried to go back to true. And it’s now working (with true or false).
I’m a bit confused… maybe the Atom needed to be created at least the first time ? If you know about this I’d be happy to understand what’s going on ! :slight_smile: