fix saving of resources loaded in the network lobby

Sven Eberhardt 2012-07-12 19:26:45 +02:00
parent 0940116620
commit de7b30d82a
2 changed files with 4 additions and 4 deletions

View File

@ -249,6 +249,7 @@ public:
bool isLoading() const { return fLoading; }
bool isComplete() const { return !fLoading; }
int32_t getPresentPercent() const { return fLoading ? Chunks.getPresentPercent() : 100; }
bool isTempFile() const { return fTempFile; }
bool SetByFile(const char *strFilePath, bool fTemp, C4Network2ResType eType, int32_t iResID, const char *szResName = NULL, bool fSilent = false);
bool SetByGroup(C4Group *pGrp, bool fTemp, C4Network2ResType eType, int32_t iResID, const char *szResName = NULL, bool fSilent = false);

View File

@ -105,7 +105,7 @@ void C4Network2ResDlg::ListItem::LocalSaveResource(bool fDoOverwrite)
if (!pRes) return;
const char *szResFile = pRes->getFile();
StdCopyStrBuf strErrCopyFile(LoadResStr("IDS_NET_ERR_COPYFILE"));
if (!SEqual2(szResFile, Config.Network.WorkPath))
if (!pRes->isTempFile())
{
GetScreen()->ShowMessage(LoadResStr("IDS_NET_ERR_COPYFILE_LOCAL"), strErrCopyFile.getData(), C4GUI::Ico_Error);
return;
@ -146,9 +146,8 @@ bool C4Network2ResDlg::ListItem::IsSavePossible()
bool fCanSave = false;
C4Network2Res::Ref pRes = GetRefRes();
if (!pRes) return false;
// check for local filename
const char *szResFile = pRes->getFile();
if (SEqual2(szResFile, Config.Network.WorkPath))
// temp files from network folder only
if (pRes->isTempFile())
{
// check type
C4Network2ResType eType = pRes->getType();