Hi all,

I started to create a proxy platform plugin. The goals range
from understanding the architecture better, learning the interface,
being able to have something like the old VNC backend for QWS that
can sit on top of other modules, and maybe be able to change backends
at runtime (e.g. when the X11/Wayland server goes down, switch to
VNC, when it is back move back...) but most importantly check how
easy it is to bring 'trace' back.

While doing so I encountered some problems, that I would like
to share here. I was doing this on Qt4.8 and some of this is
already fixed in Qt5.


1.) It would be nice if event reporting would go through the
QPlatformIntegration instead of being the static singleton, this
would allow a plugin to manipulate and filter the events coming
from the real backend.

2.) Wrapping a QWindowSurface/QPlatformWindow is a bit difficult.

The most naive way to do:

createPlatformFoo(QWidget* window, WId)
{
   return new FooWrapper(m_real->createPlatformFoo(window, id));
}

Fails as the ctor's of both classes set the pointer to the platform
class and calling the same function again will delete the original
platform surface/window. But this is already gone in the refactor
branch of Qt5.


maybe it is interesting to someone

  h




_______________________________________________
Qt5-feedback mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt5-feedback

Reply via email to