From 99d82c2413d4c213e95cbe327307ea1c25d39208 Mon Sep 17 00:00:00 2001 From: Nathan Woodrow Date: Fri, 26 Jul 2013 23:17:55 +1000 Subject: [PATCH] Keep the return value of Python init function alive while form open --- src/gui/qgsattributedialog.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui/qgsattributedialog.cpp b/src/gui/qgsattributedialog.cpp index a295cedf3ca..ae6a9ab8527 100644 --- a/src/gui/qgsattributedialog.cpp +++ b/src/gui/qgsattributedialog.cpp @@ -423,11 +423,13 @@ QgsAttributeDialog::QgsAttributeDialog( QgsVectorLayer *vl, QgsFeature *thepFeat QgsPythonRunner::run( feature ); QgsPythonRunner::run( layer ); - QString expr = QString( "%1(_qgis_featureform_%2, _qgis_layer_%3, %4)" ) + QString returnvarname = QString( "_qgis_feature_form_%1" ).arg( dt.toString( "yyyyMMddhhmmsszzz" ) ); + QString expr = QString( "%5 = %1(_qgis_featureform_%2, _qgis_layer_%3, %4)" ) .arg( vl->editFormInit() ) .arg( mFormNr ) .arg( vl->id() ) - .arg( featurevarname ); + .arg( featurevarname ) + .arg( returnvarname ); QgsDebugMsg( QString( "running featureForm init: %1" ).arg( expr ) ); QgsPythonRunner::run( expr );