diff --git a/.files b/.files
index 19977b9..7a355de 100644
Binary files a/.files and b/.files differ
diff --git a/.rev b/.rev
index 97d912c..382e3d7 100644
--- a/.rev
+++ b/.rev
@@ -15,4 +15,12 @@
946078
+
+ d93f120e4939370fd38dc6a4a236c65b
+ 21.07
+
+ dimstar_suse
+
+ 949190
+
diff --git a/7zip.changes b/7zip.changes
index 41d412c..1f3f477 100644
--- a/7zip.changes
+++ b/7zip.changes
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Wed Jan 26 03:16:03 UTC 2022 - Dario Faggioli
+
+- Fix an incompatibility with p7zip which was breaking some downstreams
+ (e.g., GNOME's File-Roller). See bsc#1195041
+ * Add fix-compatib-with-p7zip.patch
+
+-------------------------------------------------------------------
Wed Jan 12 16:45:41 UTC 2022 - Danilo Spinella
- Replace p7zip with 7zip
diff --git a/7zip.spec b/7zip.spec
index f077354..1c1cb37 100644
--- a/7zip.spec
+++ b/7zip.spec
@@ -29,6 +29,7 @@ URL: https://www.7-zip.org/
Source: https://www.7-zip.org/a/7z%{stripped_version}-src.tar.xz
Source1: p7zip
Source2: p7zip.1
+Patch0: fix-compatib-with-p7zip.patch
BuildRequires: dos2unix
BuildRequires: gcc
BuildRequires: gcc-c++
@@ -45,6 +46,7 @@ extracting various formats.
%prep
tar xaf %{SOURCE0}
+%patch0 -p1
dos2unix DOC/*.txt
# Remove executable perms from docs
chmod -x DOC/*.txt
diff --git a/fix-compatib-with-p7zip.patch b/fix-compatib-with-p7zip.patch
new file mode 100644
index 0000000..a2c6766
--- /dev/null
+++ b/fix-compatib-with-p7zip.patch
@@ -0,0 +1,40 @@
+From: Dario Faggioli
+Date: Wed Jan 26 04:01:09 AM CET 2022
+Subject: [PATCH] Console: Avoid terminating on failed password check
+
+File-roller (i.e., GNOME's Archive Manager), which was working fine
+with p7zip and p7zip-full, does not work well with 7zip. More specifically,
+it is not possible to open or extract a password protected archive, for
+which also the list of the files in the archive itself has been hidden.
+
+This seems to happen because now GetPassword_HRESULT() does some kind of
+error checking, and depending on the results, cause its calling function
+to return with an error, which in turns terminates the 7zz program in
+a way that file-roller interpretes as a critical error, and everything
+stops.
+
+On the other hand, in p7zip-full, the GetPassword() function wasn't
+doing this. There's still a failure, but one that triggers File-roller
+to ask the password of the archive, and once that is provided everything
+works.
+
+From a CLI perspecvive, nothing changes, and things still work fine and
+in the exact same way, no matter whether or not this patch is applied.
+
+Signed-off-by: Dario Faggioli
+---
+ OpenCallbackConsole.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff -Nru 7zip/CPP/7zip/UI/Console/OpenCallbackConsole.cpp 7zip_2/CPP/7zip/UI/Console/OpenCallbackConsole.cpp
+--- 7zip/CPP/7zip/UI/Console/OpenCallbackConsole.cpp 2017-02-18 00:42:14.000000000 +0100
++++ 7zip_2/CPP/7zip/UI/Console/OpenCallbackConsole.cpp 2022-01-26 08:40:15.616512459 +0100
+@@ -87,7 +87,7 @@
+ if (!PasswordIsDefined)
+ {
+ ClosePercents();
+- RINOK(GetPassword_HRESULT(_so, Password));
++ GetPassword_HRESULT(_so, Password);
+ PasswordIsDefined = true;
+ }
+ return StringToBstr(Password, password);