We are attempting to use the newly build OpenOffice 4.0.1 for Solaris 11 x86, 
but  the 'Save As' to disk of any document type (i.e. .ods) continuous to 
prompt for a file name.  Each time we hit okay to save the document after 
supplying a unique name, the FilePicker closes, but instantly reappears again.

I have narrowed  it down to the following code located in 
sfx2/source/doc/guisaveas.cxx lines 1497-1520

The program gets stuck in the while loop below.  The variable 'bExit' is never 
set to sal_True, so the loop continuous. I provide a name to the FilePicker 
interface, click Save and the loop continuous, redisplaying the dialog. To 
resolve the issue, I added bExit = sal_True after line 1513 so that the loop 
discontinuous. I am not sure if this will have effects in other situations, 
maybe someone can provide some feedback, but for now. I am able to save.


sal_Bool bExit = sal_False;
1497       while ( !bExit )
1498       {
1499       bUseFilterOptions = aModelData.OutputFileDialog( nStoreMode, 
aFilterProps, bSetStandardName, aSuggestedName, bPreselectPassword, 
aSuggestedDir, nDialog, sStandardDir, aBlackList );
1500
1501       // in case the dialog is opend a second time the folder should be 
the same as before, not what was handed over by parameters
1502       aSuggestedDir = ::rtl::OUString();
1503       if ( nStoreMode == SAVEAS_REQUESTED )
1504       {
1505       // in case of saving check filter for possible alien warning
1506       ::rtl::OUString aSelFilterName = 
aModelData.GetMediaDescr().getUnpackedValueOrDefault(
1507       aFilterNameString,
1508       ::rtl::OUString() );
1509       sal_Int8 nStatusFilterSave = aModelData.CheckFilter( aSelFilterName 
);
1510       if ( nStatusFilterSave == STATUS_SAVEAS_STANDARDNAME ) These are 
equal during runtime
1511       {
1512       // switch to best filter
1513       bSetStandardName = sal_True;     bSetStandardName is set to sal_True 
here, but bExit is not, so the loop continuous. Setting bExit following this 
line allows the program to save.
++++++bExit = salTrue;
1514       }
1515       else if ( nStatusFilterSave == STATUS_SAVE )
1516       {
1517       // user confirmed alien filter or "good" filter is used
1518       bExit = sal_True;
1519       }
1520       }
1521       else
1522       bExit = sal_True;
1523       }



Raymond Steele
U-2 Mission Planning
Software Engineer Sr
Lockheed Martin - IS&GS Defense
1300 S. Litchfield Rd.
Goodyear, AZ 85338
Email: raymond.ste...@lmco.com
Business phone:  623-925-6402

Reply via email to