mirror of https://github.com/deadw00d/AROS.git
Save/load only the real preferences not the whole struct ReqToolsPrefs
This is what reqtools.library is actually reading and expecting. Looking at code history the bug was introduced when porting ReqTools prefs to be MUI-based.
This commit is contained in:
parent
5b9752ace8
commit
eec138b0cd
|
@ -53,28 +53,23 @@ static BOOL Prefs_Load(STRPTR from)
|
|||
|
||||
BOOL Prefs_ImportFH(BPTR fh)
|
||||
{
|
||||
#if (AROS_BIG_ENDIAN)
|
||||
#define loadprefs reqtoolsprefs
|
||||
#else
|
||||
struct ReqToolsPrefs loadprefs;
|
||||
int i;
|
||||
#endif
|
||||
BOOL retval = FALSE;
|
||||
|
||||
if (Read(fh, &loadprefs, sizeof(loadprefs)) == sizeof(loadprefs))
|
||||
/* Load only real prefs structure */
|
||||
if (Read(fh, &loadprefs.Flags, RTPREFS_SIZE) == RTPREFS_SIZE)
|
||||
{
|
||||
#if (!(AROS_BIG_ENDIAN))
|
||||
reqtoolsprefs.Flags = AROS_BE2LONG(loadprefs.Flags);
|
||||
for(i = 0;i < RTPREF_NR_OF_REQ; i++)
|
||||
{
|
||||
reqtoolsprefs.ReqDefaults[i].Size = AROS_BE2LONG(loadprefs.ReqDefaults[i].Size);
|
||||
reqtoolsprefs.ReqDefaults[i].ReqPos = AROS_BE2LONG(loadprefs.ReqDefaults[i].ReqPos);
|
||||
reqtoolsprefs.ReqDefaults[i].Size = AROS_BE2LONG(loadprefs.ReqDefaults[i].Size);
|
||||
reqtoolsprefs.ReqDefaults[i].ReqPos = AROS_BE2LONG(loadprefs.ReqDefaults[i].ReqPos);
|
||||
reqtoolsprefs.ReqDefaults[i].LeftOffset = AROS_BE2WORD(loadprefs.ReqDefaults[i].LeftOffset);
|
||||
reqtoolsprefs.ReqDefaults[i].TopOffset = AROS_BE2WORD(loadprefs.ReqDefaults[i].TopOffset);
|
||||
reqtoolsprefs.ReqDefaults[i].TopOffset = AROS_BE2WORD(loadprefs.ReqDefaults[i].TopOffset);
|
||||
reqtoolsprefs.ReqDefaults[i].MinEntries = AROS_BE2WORD(loadprefs.ReqDefaults[i].MinEntries);
|
||||
reqtoolsprefs.ReqDefaults[i].MaxEntries = AROS_BE2WORD(loadprefs.ReqDefaults[i].MaxEntries);
|
||||
}
|
||||
#endif
|
||||
retval = TRUE;
|
||||
}
|
||||
|
||||
|
@ -85,29 +80,25 @@ BOOL Prefs_ImportFH(BPTR fh)
|
|||
|
||||
BOOL Prefs_ExportFH(BPTR fh)
|
||||
{
|
||||
#if (AROS_BIG_ENDIAN)
|
||||
#define saveprefs reqtoolsprefs
|
||||
#else
|
||||
struct ReqToolsPrefs saveprefs;
|
||||
int i;
|
||||
#endif
|
||||
BOOL retval = FALSE;
|
||||
|
||||
D(bug("SavePrefsFH: fh: %lx\n", fh));
|
||||
|
||||
#if (!(AROS_BIG_ENDIAN))
|
||||
saveprefs.Flags = AROS_LONG2BE(reqtoolsprefs.Flags);
|
||||
for(i = 0; i < RTPREF_NR_OF_REQ; i++)
|
||||
{
|
||||
saveprefs.ReqDefaults[i].Size = AROS_LONG2BE(reqtoolsprefs.ReqDefaults[i].Size);
|
||||
saveprefs.ReqDefaults[i].ReqPos = AROS_LONG2BE(reqtoolsprefs.ReqDefaults[i].ReqPos);
|
||||
saveprefs.ReqDefaults[i].Size = AROS_LONG2BE(reqtoolsprefs.ReqDefaults[i].Size);
|
||||
saveprefs.ReqDefaults[i].ReqPos = AROS_LONG2BE(reqtoolsprefs.ReqDefaults[i].ReqPos);
|
||||
saveprefs.ReqDefaults[i].LeftOffset = AROS_WORD2BE(reqtoolsprefs.ReqDefaults[i].LeftOffset);
|
||||
saveprefs.ReqDefaults[i].TopOffset = AROS_WORD2BE(reqtoolsprefs.ReqDefaults[i].TopOffset);
|
||||
saveprefs.ReqDefaults[i].TopOffset = AROS_WORD2BE(reqtoolsprefs.ReqDefaults[i].TopOffset);
|
||||
saveprefs.ReqDefaults[i].MinEntries = AROS_WORD2BE(reqtoolsprefs.ReqDefaults[i].MinEntries);
|
||||
saveprefs.ReqDefaults[i].MaxEntries = AROS_WORD2BE(reqtoolsprefs.ReqDefaults[i].MaxEntries);
|
||||
}
|
||||
#endif
|
||||
if (Write(fh, &saveprefs, sizeof(saveprefs)) == sizeof(saveprefs))
|
||||
|
||||
/* Save only real prefs structure */
|
||||
if (Write(fh, &saveprefs.Flags, RTPREFS_SIZE) == RTPREFS_SIZE)
|
||||
{
|
||||
retval = TRUE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue