summaryrefslogtreecommitdiff
path: root/libre/xarchiver/xarchiver-0.5.3-fix-password-protected.patch
blob: 00969349db0149ee9379b9a4c79c0360194d10c2 (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
diff -Naur xarchiver-0.5.3.orig/src/window.c xarchiver-0.5.2/src/window.c
--- xarchiver-0.5.3.orig/src/window.c	2014-01-24 08:10:09.305990000 +0100
+++ xarchiver-0.5.3/src/window.c	2014-01-24 08:42:45.110729290 +0100
@@ -1694,7 +1694,7 @@
 		{
 			if (archive->passwd == NULL)
 			{
-				archive->passwd = xa_create_password_dialog(NULL);
+				archive->passwd = xa_create_password_dialog(archive);
 				if ( archive->passwd == NULL)
 				{
 					gtk_drag_finish (dc,FALSE,FALSE,t);
@@ -2702,9 +2702,12 @@
 
 	if (entry->is_encrypted)
 	{
-		archive[idx]->passwd = xa_create_password_dialog(archive[idx]);
 		if (archive[idx]->passwd == NULL)
-			return;
+		{
+			archive[idx]->passwd = xa_create_password_dialog(archive[idx]);
+			if (archive[idx]->passwd == NULL)
+				return;
+		}
 	}
 	filename = g_strconcat(archive[idx]->tmp,"/",entry->filename,NULL);
 	if (g_file_test(filename,G_FILE_TEST_EXISTS))
@@ -2768,8 +2771,12 @@
 	{
		if (entry->is_encrypted)
		{
-		  if (archive->passwd == NULL)
-		     return;
+			if (archive->passwd == NULL)
+			{
+				archive->passwd = xa_create_password_dialog(archive);
+				if (archive->passwd == NULL)
+					return;
+			}
		}
 	   	if (archive->extraction_path)
 	   	{