Mathias Hasselmann

Qt Contributors Summit is over

Really enjoyed the Qt Contributors Summit. Nice, open minded people. Café Moskau turned out as awesome location for technical orientated meetings.

Even held my own little session about my griefs with QObject life-cycle. We found some few chances for improvement, but we also sadly had to conclude that proper two-phase construction and destruction isn't possible in C++, unless you forbid stack allocation and usage of the delete operator. Actually had my little pervert moment of pleasure when realising that Thiago seems a bit jealous for the freedom GObject gets from plain C.

Still wondering a bit if there's really no way to implement proper two-phase destruction in C++. Must we really bribe the C++ standard committee to enhance the specification?

I am attending the Qt Contributors' Summit


Michael Hasselmann commented on June 18, 2011 at 9:26 p.m.

How about hacking the g++, for starters? To see whether it is useful? Then you'd already have sane memory management in Qt/C++ for all the platforms *you* care about :-D

Make it so that you can register two callbacks for each super class (or perhaps just QObject, by writing annotating the C++ type, as this wouldn't work with MI anyway): One that gets called after most specialized c'tor ran, one that gets called before the most specialized d'tor runs.

Too crazy?

Mathias Hasselmann commented on June 19, 2011 at 9:42 a.m.

Qt supports more compiler than gcc, most importantly (for Nokia): Symbian's C++ compiler.

Actually Symbian supports/requires two-phase construction and destruction already. Still for whatever reason Symbian's developers decided to require usage and implementation of a few custom methods, instead of integration that things into their compiler. This makes things a bit cumbersome on their platform it seems.

Johannes commented on June 19, 2011 at 11:21 a.m.

\me remembers Cafe Moskau when there was a Club inside - times are changing...

J├Ârgen commented on June 20, 2011 at 1:07 p.m.

I think the club still exists (at least according to their webpage).