diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 17c8128320..da9eface6b 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,11 @@ The license applies to all entries newer than 2009-04-28. */ +2012-06-28 12:14 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) + * contrib/hbxbp/xbpfiledialog.prg + ! Fixed: memory leak. Please read previously documented here + how a child can be destroyed properly with a temp parent. + 2012-06-28 11:56 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbxbp/xbpfiledialog.prg ! Fixed: a regression where QApplication():focusWidget() diff --git a/harbour/contrib/hbxbp/xbpfiledialog.prg b/harbour/contrib/hbxbp/xbpfiledialog.prg index 4814abf745..5a897b4f6e 100644 --- a/harbour/contrib/hbxbp/xbpfiledialog.prg +++ b/harbour/contrib/hbxbp/xbpfiledialog.prg @@ -124,7 +124,6 @@ METHOD XbpFileDialog:create( oParent, oOwner, aPos ) #endif ::oWidget:setOption( QFileDialog_DontResolveSymlinks, .t. ) - ::oWidget:setAttribute( Qt_WA_DeleteOnClose, .f. ) ::postCreate() @@ -270,7 +269,8 @@ METHOD XbpFileDialog:open( cDefaultFile, lCenter, lAllowMultiple, lCreateNewFile ::connect() nResult := ::oWidget:exec() ::disconnect() - ::oWidget:close() + ::oWidget:setParent( QWidget() ) + IF hb_isObject( qFocus ) qFocus:setFocus( 0 ) ENDIF @@ -324,6 +324,8 @@ METHOD XbpFileDialog:saveAs( cDefaultFile, lFileList, lCenter ) ::connect() nResult := ::oWidget:exec() ::disconnect() + ::oWidget:setParent( QWidget() ) + IF hb_isObject( qFocus ) qFocus:setFocus( 0 ) ENDIF