https://issues.qgis.org/https://issues.qgis.org/favicon.ico2010-12-03T06:24:56ZQGIS Issue TrackingQGIS Application - Bug report #3286: Qgis segfaults instanciating QgsComposition from pythonhttps://issues.qgis.org/issues/3286?journal_id=237122010-12-03T06:24:56ZMarco Hugentoblermarco.hugentobler@sourcepole.ch
<ul></ul><p>Hm, it does not crash for me here when repeating the steps.<br />Could you try to replace line 30 in qgscomposition.sip with the following:</p>
<p><a class="wiki-page new" href="https://issues.qgis.org/projects/qgis/wiki/QgsComposition">QgsComposition</a>( <a class="wiki-page new" href="https://issues.qgis.org/projects/qgis/wiki/QgsMapRenderer">QgsMapRenderer</a>* mapRenderer /TransferThis/ );</p>
<p>Then please recompile QGIS, repeat your script and report back if it fixed the crash</p> QGIS Application - Bug report #3286: Qgis segfaults instanciating QgsComposition from pythonhttps://issues.qgis.org/issues/3286?journal_id=237132010-12-03T08:06:11ZAlessandro Pasotti
<ul></ul><p>Hi, I tested your patch but it still crashes. BTW I suspect it's a bug in QT and I found a way to make it work, it seems like QGraphicsScene (from which <a class="wiki-page new" href="https://issues.qgis.org/projects/qgis/wiki/QgsComposition">QgsComposition</a> inherits, needs a QApplication instance, so this line needs to be added before the call to <a class="wiki-page new" href="https://issues.qgis.org/projects/qgis/wiki/QgsComposition">QgsComposition</a> constructor.</p>
<pre>
app = [[QtGui]].QApplication(sys.argv, [[QtGui]].QApplication.Tty)
</pre>
<p>I thought having called <a class="wiki-page new" href="https://issues.qgis.org/projects/qgis/wiki/QgsApplication">QgsApplication</a>.initQgis would have been enough to have a QApplication instance.</p>
<p>You can probably close this bug.</p> QGIS Application - Bug report #3286: Qgis segfaults instanciating QgsComposition from pythonhttps://issues.qgis.org/issues/3286?journal_id=237142010-12-04T05:00:53ZMartin Dobiaswonder.sk@gmail.com
<ul><li><strong>Resolution</strong> set to <i>invalid</i></li><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Indeed you have to construct a QApplication instance prior to doing any drawing. Closing the bug...</p>