View | Details | Raw Unified | Return to issue 119994
Collapse All | Expand All

(-)original/main/vcl/source/window/dialog.cxx (-2 / +14 lines)
Lines 877-884 Link Here
877
            mpPrevExecuteDlg->EnableInput( sal_True, sal_True, sal_True, this );
877
            mpPrevExecuteDlg->EnableInput( sal_True, sal_True, sal_True, this );
878
            // ensure continued modality of prev dialog
878
            // ensure continued modality of prev dialog
879
            // do not change modality counter
879
            // do not change modality counter
880
            mpPrevExecuteDlg->SetModalInputMode( sal_False );
880
            
881
            mpPrevExecuteDlg->SetModalInputMode( sal_True );
881
            //Bug 119994
882
            Dialog * pPrevModalDlg = mpPrevExecuteDlg;
883
884
            while( pPrevModalDlg && !pPrevModalDlg->IsModalInputMode() )
885
                pPrevModalDlg = pPrevModalDlg->mpPrevExecuteDlg;
886
887
            if( pPrevModalDlg &&
888
                ( pPrevModalDlg == mpPrevExecuteDlg // Mostly pPrevModalDlg is equal to mpPrevExecuteDlg, and mpPrevExecuteDlg->IsWindowOrChild has been checked above, skip check to improve performance
889
                || !pPrevModalDlg->IsWindowOrChild( this, sal_True ) ) )
890
            {
891
                pPrevModalDlg->SetModalInputMode( sal_False );
892
                pPrevModalDlg->SetModalInputMode( sal_True );
893
            }
882
        }
894
        }
883
    }
895
    }
884
}
896
}

Return to issue 119994