Qt: bloß keine Waisenkinder instantiieren
Wenn man in Qt eine Klasse implementiert, sollte man tunlichst darauf achten, dass alle instantiierten Attribute
Das Elternelement hier ist
Also besser gut aufpassen bei so was, sonst kann das Debugging richtig ätzend werden.
this
als parent haben.
Andernfalls kann es nämlich sein, dass irgendwann der Garbage-Kollektor auf das offenbar elternlose Kind-Objekt stößt und es im Sinne von "ist das Kunst oder kann das weg" in die Tonne wirft.
Und dann hat man den Salat.
Ist mir hiermit passiert:
- class Measurement : public Object
- {
- Q_OBJECT
- public:
- Measurement(QObject* parent = 0);
- ~Measurement();
- };
- class XYPlot : public QQuickPaintedItem
- {
- Q_OBJECT
- public:
- XYPlot(QQuickPaintedItem* parent = 0);
- private:
- Measurement m_Measurement;
- };
XYPlot
, welches ein Attribut der Klasse Measurement
besitzt.
Bei mir gab es unreproduzierbare SIGSEGV segmentation faults, was immer auf irgendein Problem mit ungültigem Pointer hinweist.
Beim Debuggen habe ich dann festgestellt, dass kurz zuvor der Dekonstruktor von Measurement
aufgerufen wurde - obwohl das zugehörige XYPlot-Objekt noch existierte.
Woran lag es? ⇒ Ich hatte vergessen, dem Kind-Objekt zu sagen wer sein parent ist. Im Konstruktor der Elternklasse XYPlot
also m_Measurement
mit this
instantiieren:
- XYPlot::XYPlot( QQuickPaintedItem* parent) : QQuickPaintedItem(parent), m_Measurement(this)
- {
- }
Gehen Sie weiter, wir haben hier alles unter Kontrolle...
Neues vom Pleiten-, Pech- & Pannenreaktor:
Behörde hatte Störfall im AKW-Fessenheim heruntergespielt
Dabei geht es um einen Rohrbuch im April 2014.
Damals war Wasser in Schaltschränke geflossen und der Reaktor musste heruntergefahren werden.
Was die französischen Behördern und Betreiber damals verheimlicht hatten: das Herunterfahren mit Betriebsmitteln war gar nicht mehr möglich und man musste Bor in den Reaktor einleiten. Nur so zur Info: normalerweise werden Reaktoren über Steuerstäbe und Kühlmittelpumpen kontrolliert. Wenn das aber nicht mehr geht oder es ganz schnell sein muss - also in Notfällen - leitet man Bor in den Reaktor, um die Kernspaltung zu stoppen. Bor kühlt, absorbiert Neutronen und "entschärft" das Uran in den Brennstäben. Das macht man nur, wenn die Kacke so richtig am dampfen ist. Als Griff zum letzten Strohhalm, um eine Kettenreaktion zu verhindern. Aber diese Details kommen natürlich erst jetzt, zwei Jahre später ans Licht.
Was die französischen Behördern und Betreiber damals verheimlicht hatten: das Herunterfahren mit Betriebsmitteln war gar nicht mehr möglich und man musste Bor in den Reaktor einleiten. Nur so zur Info: normalerweise werden Reaktoren über Steuerstäbe und Kühlmittelpumpen kontrolliert. Wenn das aber nicht mehr geht oder es ganz schnell sein muss - also in Notfällen - leitet man Bor in den Reaktor, um die Kernspaltung zu stoppen. Bor kühlt, absorbiert Neutronen und "entschärft" das Uran in den Brennstäben. Das macht man nur, wenn die Kacke so richtig am dampfen ist. Als Griff zum letzten Strohhalm, um eine Kettenreaktion zu verhindern. Aber diese Details kommen natürlich erst jetzt, zwei Jahre später ans Licht.
Für Sicherheit und Umwelt habe keine Gefahr bestanden., hieß es damals seitens der Électricité de France. Haltet mich für einen zynischen Pessimisten, aber diese Verlogenheit der Behörden und Betreibern (hierzulande sicherlich ebenso - macht euch da nichts vor) ist genau der Grund, warum ich non-stopp einen Geigerzähler in unserer Wohnung laufen lasse. TICK ... TICK ... TICKTICK ... TICK ...
Wie war denn eigentlich das Wetter so, am Oster-Wochenende des Beinahe-GAUs?
[...] Regen, dahinter Übergang zu wechselnder Bewölkung und gebietsweise Schauer, die auch kräftig ausfallen können. [...] Schwacher bis mäßiger Nord- bis Westwind [...]
(Quelle)
Juhu! Fallout in ganz Mitteleuropa!
:-D
Wellenbad mit CSS und JavaScript
Ganz nett, was man mit etwas CSS und JS heute so alles machen kann:
Und mit der passenden akkustischen Untermalung steht auch den Anhängern der Prokrastination einem tiefentspannten Zeitvertrieb nichts im Wege.