aboutsummaryrefslogtreecommitdiff
path: root/lib/UnrarXLib
diff options
context:
space:
mode:
authorspiff <spiff@xbmc.org>2011-11-04 15:54:14 +0100
committerspiff <spiff@xbmc.org>2011-11-04 15:54:14 +0100
commit94744ecb0544e65349c972e219eb180834298698 (patch)
treee1960b612b233a507ddf274725676c2afcd390e8 /lib/UnrarXLib
parent9b411eed6772b8c39958c8803c0aafeebb207cd2 (diff)
fixed: reinstate compressed rar dialogs
closes ticket #4401
Diffstat (limited to 'lib/UnrarXLib')
-rw-r--r--lib/UnrarXLib/rar.cpp9
-rw-r--r--lib/UnrarXLib/rdwrfn.cpp2
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();
}
}