diff options
author | spiff <spiff@xbmc.org> | 2011-11-04 15:54:14 +0100 |
---|---|---|
committer | spiff <spiff@xbmc.org> | 2011-11-04 15:54:14 +0100 |
commit | 94744ecb0544e65349c972e219eb180834298698 (patch) | |
tree | e1960b612b233a507ddf274725676c2afcd390e8 /lib/UnrarXLib | |
parent | 9b411eed6772b8c39958c8803c0aafeebb207cd2 (diff) |
fixed: reinstate compressed rar dialogs
closes ticket #4401
Diffstat (limited to 'lib/UnrarXLib')
-rw-r--r-- | lib/UnrarXLib/rar.cpp | 9 | ||||
-rw-r--r-- | lib/UnrarXLib/rdwrfn.cpp | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/lib/UnrarXLib/rar.cpp b/lib/UnrarXLib/rar.cpp index a0e34d99eb..89f0f0e03f 100644 --- a/lib/UnrarXLib/rar.cpp +++ b/lib/UnrarXLib/rar.cpp @@ -202,8 +202,10 @@ int urarlib_get(char *rarfile, char *targetPath, char *fileToExtract, char *libp if (bShowProgress) { - // temporary workaround to avoid deadlocks caused by dvdplayer halting app thread - pExtract->GetDataIO().m_pDlgProgress = NULL;//(CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS); + pExtract->GetDataIO().m_pDlgProgress = (CGUIDialogProgress*)g_windowManager.GetWindow(WINDOW_DIALOG_PROGRESS); + pExtract->GetDataIO().m_pDlgProgress->SetHeading(fileToExtract); + pExtract->GetDataIO().m_pDlgProgress->SetCanCancel(false); + pExtract->GetDataIO().m_pDlgProgress->StartModal(); } int64_t iOff=0; @@ -232,6 +234,7 @@ int urarlib_get(char *rarfile, char *targetPath, char *fileToExtract, char *libp if (pExtract->GetDataIO().bQuit) { + pExtract->GetDataIO().m_pDlgProgress->Close(); bRes = 2; break; } @@ -265,6 +268,8 @@ int urarlib_get(char *rarfile, char *targetPath, char *fileToExtract, char *libp if (pExtract->GetDataIO().m_pDlgProgress) pExtract->GetDataIO().m_pDlgProgress->ShowProgressBar(false); } + if (bShowProgress) + pExtract->GetDataIO().m_pDlgProgress->Close(); } } } diff --git a/lib/UnrarXLib/rdwrfn.cpp b/lib/UnrarXLib/rdwrfn.cpp index 17e5b21b73..94c8ea4f4e 100644 --- a/lib/UnrarXLib/rdwrfn.cpp +++ b/lib/UnrarXLib/rdwrfn.cpp @@ -146,7 +146,7 @@ int ComprDataIO::UnpRead(byte *Addr,uint Count) if (m_pDlgProgress) { CURL url(SrcArc->FileName); - m_pDlgProgress->SetLine(2,url.GetWithoutUserDetails()); // update currently extracted rar file + m_pDlgProgress->SetLine(0,url.GetWithoutUserDetails()); // update currently extracted rar file m_pDlgProgress->Progress(); } } |