diff options
author | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2014-02-01 04:45:05 -0200 |
---|---|---|
committer | coadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu> | 2014-02-01 04:45:05 -0200 |
commit | 52dd108836155b53454bd95a4a9dbd0c104b79d3 (patch) | |
tree | c87f4853b64b5333f7a5aa97bdb5823d34628e21 /libre/xarchiver-libre/xarchiver-0.5.2-segfault-password-protected.patch | |
parent | 5af0fca430a07bda87310d2ef1a33b6cdb31f732 (diff) | |
parent | e2abfecd7d65712f41cd27c8f5ae8d69c478f214 (diff) | |
download | abslibre-52dd108836155b53454bd95a4a9dbd0c104b79d3.tar.gz abslibre-52dd108836155b53454bd95a4a9dbd0c104b79d3.tar.bz2 abslibre-52dd108836155b53454bd95a4a9dbd0c104b79d3.zip |
Merge branch 'master' of ssh://projects.parabolagnulinux.org:1863/srv/git/abslibre
Diffstat (limited to 'libre/xarchiver-libre/xarchiver-0.5.2-segfault-password-protected.patch')
-rw-r--r-- | libre/xarchiver-libre/xarchiver-0.5.2-segfault-password-protected.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/libre/xarchiver-libre/xarchiver-0.5.2-segfault-password-protected.patch b/libre/xarchiver-libre/xarchiver-0.5.2-segfault-password-protected.patch new file mode 100644 index 000000000..a1fa1f2ca --- /dev/null +++ b/libre/xarchiver-libre/xarchiver-0.5.2-segfault-password-protected.patch @@ -0,0 +1,43 @@ +diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c +--- xarchiver-0.5.2.orig/src/window.c 2014-01-24 08:10:09.305990000 +0100 ++++ xarchiver-0.5.2/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)) +@@ -2766,6 +2769,15 @@ + /* The selected entry it's not a dir so extract it to the tmp dir and send it to xa_determine_program_to_run() */ + else + { ++ if (entry->is_encrypted) ++ { ++ if (archive->passwd == NULL) ++ { ++ archive->passwd = xa_create_password_dialog(archive); ++ if (archive->passwd == NULL) ++ return; ++ } ++ } + if (archive->extraction_path) + { + dummy = g_strdup(archive->extraction_path); |