mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
make sure that function doesn't return while structure is
holding pointer to a stack variable. Also, simplify logic. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10234 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
dc020bfec8
commit
2efc2f1f60
@ -2073,32 +2073,31 @@ gboolean gnc_xfer_dialog_run_until_done( XferDialog *xferData )
|
||||
{
|
||||
gboolean result_ok = FALSE;
|
||||
|
||||
if( xferData )
|
||||
{
|
||||
xferData->result_p = &result_ok;
|
||||
while( TRUE )
|
||||
{
|
||||
gnome_dialog_run( GNOME_DIALOG(xferData->dialog) );
|
||||
|
||||
/* See if the dialog is still there. For various reasons, the
|
||||
* user could have hit OK but remained in the dialog. We don't
|
||||
* want to return processing back to anyone else until we clear
|
||||
* off this dialog, so if the dialog is still there we'll just
|
||||
* run it again.
|
||||
*/
|
||||
if( NULL == xferData ) return FALSE;
|
||||
|
||||
DEBUG("find component");
|
||||
if( !gnc_find_first_gui_component( DIALOG_TRANSFER_CM_CLASS,
|
||||
find_xfer, xferData ) )
|
||||
{
|
||||
/* no more dialog, and OK was clicked, so assume it's all good */
|
||||
return( result_ok );
|
||||
}
|
||||
/* else run the dialog again */
|
||||
}
|
||||
xferData->result_p = &result_ok;
|
||||
while( TRUE )
|
||||
{
|
||||
gnome_dialog_run( GNOME_DIALOG(xferData->dialog) );
|
||||
|
||||
/* See if the dialog is still there. For various reasons, the
|
||||
* user could have hit OK but remained in the dialog. We don't
|
||||
* want to return processing back to anyone else until we clear
|
||||
* off this dialog, so if the dialog is still there we'll just
|
||||
* run it again.
|
||||
*/
|
||||
|
||||
DEBUG("find component");
|
||||
if( !gnc_find_first_gui_component( DIALOG_TRANSFER_CM_CLASS,
|
||||
find_xfer, xferData ) )
|
||||
{
|
||||
/* no more dialog, and OK was clicked, so assume it's all good */
|
||||
xferData->result_p = NULL;
|
||||
return( result_ok );
|
||||
}
|
||||
/* else run the dialog again */
|
||||
}
|
||||
|
||||
return( FALSE );
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user