Subject: | "smokegen" should need TLC as many attempts to copy privitised QWidget |
on a debian "testing" near 2018/10 distro ,
somewhat libqwt and .
and other packages like ...
libqt4-dev, libqt4-opengl-dev, libqtwebkit-dev, libphonon-dev
ii libqwt-headers 6.1.3-1 amd64 Qt widgets library for technical applications (header files)
ii libphonon-dev 4:4.10.1-1 amd64 multimedia framework from KDE using Qt 4 - development files
ii libqt4-dev 4:4.8.7+dfsg-17 amd64 Qt 4 development files
ii libqt4-opengl-dev 4:4.8.7+dfsg-17 amd64 Qt 4 OpenGL library development files
ii libqtwebkit-dev 2.3.4.dfsg-10 amd64 Web content engine library for Qt - development files
seem to have evolved (thankfully).
Anyway fixes in https://rt.cpan.org/Ticket/Display.html?id=121203
are not enough to compile and test it all.
mainly it seems "QWidget" has been privatised more
by macro...
Q_DISABLE_COPY(QWidget)
and conversion const& to * becomes forbidden;
the gnu compiler gurgle fortunately.
to go around, I just cast (void*) into (QWidget*) or so...
like here... in ./smokeqt/phonon/x_9.cpp
...
static void x_24(Smoke::Stack x) {
//x_Phonon__SeekSlider* xret = new x_Phonon__SeekSlider(*(const Phonon::SeekSlider*)x[1].s_class);
x_Phonon__SeekSlider* xret = new x_Phonon__SeekSlider((QWidget*)x[1].s_class);
x[0].s_class = (void*)xret;
}
//explicit x_Phonon__SeekSlider(const Phonon::SeekSlider& x1) : SeekSlider(x1) {}
...
there are unfortunately similarly a dozen of instances waiting for you to operate. At least I give you an example to follow. and gain a little time. In the end, after more "minor" header fixes, I managed to run the tests. ~70% passes. so this patch might still not work! But really "smokegen" in the first place need to be revisited. thx.