[Bug 35347] VST plugins crash on LMMS

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jan 23 10:46:29 CST 2014


http://bugs.winehq.org/show_bug.cgi?id=35347

--- Comment #9 from Sebastian Lackner <sebastian at fds-team.de> ---
@ Tobias:

Thanks for providing the links. Concerning the Windows side: this looks fine to
me, in fact we're using a similar way for our project Pipelight.

For the Linux side: The QX11EmbedContainer is pretty much broken. We also had
several issues when developing Pipelight with this one, and I think their code
contains several issues which makes them incompatible with for example the GTK
XEmbed containers. While developing Pipelight I took a look at their code (for
example:
http://qt4-x11.sourcearchive.com/documentation/4.5.3really4.5.2/qx11embed__x11_8cpp_source.html
) and immediately noticed several things which seem to be incorrect, like:

* the QX11EmbedWidget watches for changes in _XEMBED_INFO to hide/show the
window. This is incorrect, the specification states that "The embedder must
track the flags field [...] on the client and map and unmap the client
appropriately" - basically they've implemented it exactly the other way round.

* The code of QX11EmbedContainer::showEvent and QX11EmbedContainer::hideEvent
is exactly the same - which should make pretty obvious that one of both is
incorrect. In fact both are incorrect, since (as stated above) they've
implemented it the wrong way.

I think there were some more problems, but I don't remember them by heart.

Concerning the problem in exactly this case - in their code its:

sendXEmbedMessage(client, q->x11Info().display(), XEMBED_EMBEDDED_NOTIFY,
q->internalWinId(), minversion);

where internalWinId() should be the ID of the container, but somehow isn't? I
assume that the container is somehow not yet initialized when the window is
embedded, but I'll take a closer look at all this later when I'm home.

Nevertheless the workaround above should (most probably) have the effect that
it works at least "as good" as in previous versions of Wine. To make the whole
XEmbed stuff work better, the easiest solution would probably to switch to GTK
;-)

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list