diff options
author | Igor Pavlov <ipavlov@users.sourceforge.net> | 2015-09-22 03:00:00 +0300 |
---|---|---|
committer | Kornel LesiĆski <kornel@geekhood.net> | 2016-05-28 02:16:55 +0300 |
commit | f6444c32568553e0261ca0105083658f12be6284 (patch) | |
tree | 8f4eb80f6accd2a9d0759e2564fd6a2b00836e02 /CPP/7zip/UI/Far | |
parent | cba375916fb18db8b9101aedf4fa079e019311b3 (diff) |
15.0715.07
Diffstat (limited to 'CPP/7zip/UI/Far')
-rw-r--r-- | CPP/7zip/UI/Far/Far.cpp | 15 | ||||
-rw-r--r-- | CPP/7zip/UI/Far/FarUtils.cpp | 33 |
2 files changed, 25 insertions, 23 deletions
diff --git a/CPP/7zip/UI/Far/Far.cpp b/CPP/7zip/UI/Far/Far.cpp index d5656e29..0cd53cc5 100644 --- a/CPP/7zip/UI/Far/Far.cpp +++ b/CPP/7zip/UI/Far/Far.cpp @@ -373,18 +373,21 @@ static HANDLE MyOpenFilePluginW(const wchar_t *name) HRESULT result = ::OpenArchive(fullName, &archiveHandler, archiverInfoResult, defaultName, openArchiveCallback); */ + if (result == E_ABORT) + return (HANDLE)-2; + + UString errorMessage = agent->GetErrorMessage(); + if (!errorMessage.IsEmpty()) + g_StartupInfo.ShowErrorMessage(UnicodeStringToMultiByte(errorMessage, CP_OEMCP)); + if (result != S_OK) { - if (result == E_ABORT) - return (HANDLE)-2; + if (result == S_FALSE) + return INVALID_HANDLE_VALUE; ShowSysErrorMessage(result); return INVALID_HANDLE_VALUE; } - UString errorMessage = agent->GetErrorMessage(); - if (!errorMessage.IsEmpty()) - g_StartupInfo.ShowErrorMessage(UnicodeStringToMultiByte(errorMessage, CP_OEMCP)); - // ::OutputDebugStringA("after OpenArchive\n"); CPlugin *plugin = new CPlugin( diff --git a/CPP/7zip/UI/Far/FarUtils.cpp b/CPP/7zip/UI/Far/FarUtils.cpp index 28a4ada9..1875a189 100644 --- a/CPP/7zip/UI/Far/FarUtils.cpp +++ b/CPP/7zip/UI/Far/FarUtils.cpp @@ -68,6 +68,7 @@ void CStartupInfo::SetErrorTitle(AString &s) s += GetMsgString(NMessageID::kError); } +/* int CStartupInfo::ShowErrorMessage(const char *message) { AString s; @@ -75,6 +76,7 @@ int CStartupInfo::ShowErrorMessage(const char *message) const char *items[]= { s, message }; return ShowWarningWithOk(items, ARRAY_SIZE(items)); } +*/ int CStartupInfo::ShowErrorMessage2(const char *m1, const char *m2) { @@ -84,48 +86,45 @@ int CStartupInfo::ShowErrorMessage2(const char *m1, const char *m2) return ShowWarningWithOk(items, ARRAY_SIZE(items)); } -/* -static void SplitString(const AString &srcString, AStringVector &destStrings) +static void SplitString(const AString &src, AStringVector &destStrings) { destStrings.Clear(); - AString string; - unsigned len = srcString.Len(); + AString s; + unsigned len = src.Len(); if (len == 0) return; for (unsigned i = 0; i < len; i++) { - char c = srcString[i]; + char c = src[i]; if (c == '\n') { - if (!string.IsEmpty()) + if (!s.IsEmpty()) { - destStrings.Add(string); - string.Empty(); + destStrings.Add(s); + s.Empty(); } } else - string += c; + s += c; } - if (!string.IsEmpty()) - destStrings.Add(string); + if (!s.IsEmpty()) + destStrings.Add(s); } -*/ -/* -int CStartupInfo::ShowMessageLines(const char *message) +int CStartupInfo::ShowErrorMessage(const char *message) { AStringVector strings; SplitString(message, strings); const unsigned kNumStringsMax = 20; - const char *items[kNumStringsMax + 1] = { GetMsgString(NMessageID::kError) }; - unsigned pos = 1; + const char *items[kNumStringsMax + 1]; + unsigned pos = 0; + items[pos++] = GetMsgString(NMessageID::kError); for (unsigned i = 0; i < strings.Size() && pos < kNumStringsMax; i++) items[pos++] = strings[i]; items[pos++] = GetMsgString(NMessageID::kOk); return ShowMessage(FMSG_WARNING, NULL, items, pos, 1); } -*/ /* int CStartupInfo::ShowMessageLines(const char *message) |