summaryrefslogtreecommitdiffstats
path: root/redhat/applications/krusader/krusader-3.5.13.2-tmpvfs-ftbfs.patch
blob: eb1f41ffd566d98406fa4a3f6c5156f226859281 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
diff --git a/krusader/VFS/temp_vfs.cpp b/krusader/VFS/temp_vfs.cpp
index 25f3a15..ee68521 100644
--- a/krusader/VFS/temp_vfs.cpp
+++ b/krusader/VFS/temp_vfs.cpp
@@ -56,7 +56,7 @@ temp_vfs::temp_vfs( TQString origin, TQString type, TQWidget* panel, bool ):
 }
 
 temp_vfs::~temp_vfs(){
-	if( vfs_type == "-iso" ){
+	if( tmpvfs_type == ISO ){
 		// unmount the ISO image
     KShellProcess umount;
 		umount << "umount -f" << tmpDir;
@@ -94,6 +94,13 @@ bool temp_vfs::vfs_refresh(const KURL& origin){
 }
 
 void temp_vfs::handleAceArj(TQString origin, TQString type){
+    if (type == "-ace") {
+	tmpvfs_type = ACE;
+    }
+    else if (type == "-arj") {
+	tmpvfs_type = ARJ;
+    }
+
 	// for ace and arj we just unpack to the tmpDir
 	if( !KRarcHandler::arcHandled(type) ){
   	if (!quietMode) KMessageBox::error(krApp,"This archive type is NOT supported");
@@ -117,6 +124,7 @@ void temp_vfs::handleRpm(TQString origin){
 	rpm.clearArguments();
 	rpm << "rpm -lpq"<<"\""+origin+"\""+" > "+tmpDir+"/filelist.txt";
 	rpm.start(KProcess::Block);
+	tmpvfs_type = RPM;
 }
 
 void temp_vfs::handleIso(TQString origin){
@@ -124,4 +132,5 @@ void temp_vfs::handleIso(TQString origin){
 	KShellProcess mount;
 	mount << KrServices::fullPathName( "mount" ) << "-o loop" << origin << tmpDir;
 	mount.start(KProcess::Block);
+	tmpvfs_type = ISO;
 }
diff --git a/krusader/VFS/temp_vfs.h b/krusader/VFS/temp_vfs.h
index 3b94248..d35169b 100644
--- a/krusader/VFS/temp_vfs.h
+++ b/krusader/VFS/temp_vfs.h
@@ -37,6 +37,8 @@
 
 class temp_vfs : public normal_vfs  {
 public: 
+	enum TMPVFS_TYPE{ERROR=0,ACE,ARJ,RPM,ISO};
+
 	temp_vfs( TQString origin, TQString type, TQWidget* panel, bool writeable);
 	~temp_vfs();
 	TQString vfs_workingDir();
@@ -50,6 +52,7 @@ protected:
 	void handleAceArj(TQString origin, TQString type);
 	void handleRpm(TQString origin);
 	void handleIso(TQString origin);
+	TMPVFS_TYPE tmpvfs_type;     //< the tmp vfs type.
   TQString tmpDir;
 
 };