Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] gnome-authenticator: fix crash with gtk 4.10
@ 2023-04-01  8:26 oreo639
  2023-04-01  8:28 ` [PR PATCH] [Updated] " oreo639
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: oreo639 @ 2023-04-01  8:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1267 bytes --]

There is a new pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages gauthenticator
https://github.com/void-linux/void-packages/pull/43158

gnome-authenticator: fix crash with gtk 4.10
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/43158.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gauthenticator-43158.patch --]
[-- Type: text/x-diff, Size: 20580 bytes --]

From 985b7f29c16276ff481d90beee66c0df144cd48e Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Sat, 1 Apr 2023 01:26:30 -0700
Subject: [PATCH] gnome-authenticator: fix crash with gtk 4.10

---
 ...5826e517c002b39aa2a291d60a127d47b13a.patch | 493 ++++++++++++++++++
 srcpkgs/gnome-authenticator/template          |   2 +-
 2 files changed, 494 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/gnome-authenticator/patches/cb2b5826e517c002b39aa2a291d60a127d47b13a.patch

diff --git a/srcpkgs/gnome-authenticator/patches/cb2b5826e517c002b39aa2a291d60a127d47b13a.patch b/srcpkgs/gnome-authenticator/patches/cb2b5826e517c002b39aa2a291d60a127d47b13a.patch
new file mode 100644
index 000000000000..cbed19cf4c7e
--- /dev/null
+++ b/srcpkgs/gnome-authenticator/patches/cb2b5826e517c002b39aa2a291d60a127d47b13a.patch
@@ -0,0 +1,493 @@
+From cb2b5826e517c002b39aa2a291d60a127d47b13a Mon Sep 17 00:00:00 2001
+From: Bilal Elmoussaoui <belmouss@redhat.com>
+Date: Tue, 3 Jan 2023 11:01:32 +0100
+Subject: [PATCH] Bump gtk4-rs and replace more deprecated APIs
+
+---
+ Cargo.lock                        | 50 +++++++++++++++----------------
+ src/application.rs                |  4 +--
+ src/widgets/accounts/add.rs       | 10 +++----
+ src/widgets/accounts/details.rs   | 18 +++++------
+ src/widgets/camera_paintable.rs   |  3 +-
+ src/widgets/camera_row.rs         |  2 +-
+ src/widgets/error_revealer.rs     |  4 +--
+ src/widgets/preferences/window.rs | 10 +++----
+ src/widgets/providers/page.rs     | 21 ++++++-------
+ src/widgets/providers/row.rs      |  2 +-
+ src/widgets/url_row.rs            | 12 ++++++--
+ src/widgets/window.rs             |  2 +-
+ 12 files changed, 71 insertions(+), 67 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index aa0ff53f..4e62dc35 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1110,9 +1110,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gdk4"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "272db1bbb9b152ea1fea946f9d464085c86cfe14cafba450d7defa433caff8ec"
++checksum = "bb2181330ebf9d091f8ea7fed6877f7adc92114128592e1fdaeb1da28e0d01e9"
+ dependencies = [
+  "bitflags",
+  "cairo-rs",
+@@ -1126,9 +1126,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gdk4-sys"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "45b571f36b889ab529b2e173248dafe83d75c703f5685b9845e490c7994ae309"
++checksum = "de55cb49432901fe2b3534177fa06844665b9b0911d85d8601a8d8b88b7791db"
+ dependencies = [
+  "cairo-sys-rs",
+  "gdk-pixbuf-sys",
+@@ -1143,9 +1143,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gdk4-wayland"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dee24d5a659ecca2170642c0db211446e7fdbc7ebcf1e63be99405df6f541c15"
++checksum = "b9998dedfee371c33356809f24790a1593c4751367ace7f66256dd759173701a"
+ dependencies = [
+  "gdk4",
+  "gdk4-wayland-sys",
+@@ -1156,9 +1156,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gdk4-wayland-sys"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dbb03e044a5f6ae9270823a8ef89739808845120d47b2be83de785e044c83386"
++checksum = "7017f59dc8c3a0c25756d617be038540642be64b9f229a531507b8f8e3e645ea"
+ dependencies = [
+  "glib-sys",
+  "libc",
+@@ -1375,9 +1375,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gsk4"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4053293b79099bdfecd9ab0d811d118a0eafce613dfe0b26075419d955f1f652"
++checksum = "591239f5c52ca803b222124ac9c47f230cd180cee9b114c4d672e4a94b74f491"
+ dependencies = [
+  "bitflags",
+  "cairo-rs",
+@@ -1391,9 +1391,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gsk4-sys"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "08e0642edffdb35028d7d67b830678da98844216b6442e11eee52c91ad2a6dc2"
++checksum = "195a63f0be42529f98c3eb3bae0decfd0428ba2cc683b3e20ced88f340904ec5"
+ dependencies = [
+  "cairo-sys-rs",
+  "gdk4-sys",
+@@ -1643,9 +1643,9 @@ checksum = "da5bf7748fd4cd0b2490df8debcc911809dbcbee4ece9531b96c29a9c729de5a"
+ 
+ [[package]]
+ name = "gtk4"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8954da3659ff1cb35aa95110021b33fadcd8e306e8fe41f32146ffa009665a79"
++checksum = "fd89dba65def483a233dc4fdd3f3dab01576e3d83f80f6c9303ebe421661855e"
+ dependencies = [
+  "bitflags",
+  "cairo-rs",
+@@ -1666,9 +1666,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gtk4-macros"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "58138cd3c595e04f82df050390aa7d2bd093795ce569e5f1d49eb496ef67fe7b"
++checksum = "832687a415d9d8bc11fe9c17dda1bf13ee262c41b995dd4df1d1cce33cead405"
+ dependencies = [
+  "anyhow",
+  "proc-macro-crate",
+@@ -1680,9 +1680,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gtk4-sys"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ef29e09e055b2f2550eb1882caa6961a1ae3c971a70bcb25cb9d5ab6cbd63821"
++checksum = "e370564e3fdacff7cffc99f7366b6a4689feb44e819d3ccee598a9a215b71605"
+ dependencies = [
+  "cairo-sys-rs",
+  "gdk-pixbuf-sys",
+@@ -2265,9 +2265,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "nom"
+-version = "7.1.1"
++version = "7.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
++checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c"
+ dependencies = [
+  "memchr",
+  "minimal-lexical",
+@@ -2411,9 +2411,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "once_cell"
+-version = "1.16.0"
++version = "1.17.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
++checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+ 
+ [[package]]
+ name = "oo7"
+@@ -2514,9 +2514,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "ordered-stream"
+-version = "0.1.2"
++version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "01ca8c99d73c6e92ac1358f9f692c22c0bfd9c4701fa086f5d365c0d4ea818ea"
++checksum = "d4eb9ba3f3e42dbdd3b7b122de5ca169c81e93d561eb900da3a8c99bcfcf381a"
+ dependencies = [
+  "futures-core",
+  "pin-project-lite",
+@@ -4042,7 +4042,7 @@ dependencies = [
+  "hex",
+  "nix 0.25.1",
+  "once_cell",
+- "ordered-stream 0.1.2",
++ "ordered-stream 0.1.3",
+  "rand",
+  "serde",
+  "serde_repr",
+diff --git a/src/application.rs b/src/application.rs
+index ec618352..4a027651 100644
+--- a/src/application.rs
++++ b/src/application.rs
+@@ -106,7 +106,7 @@ mod imp {
+                         app.set_can_be_locked(state);
+                     }));
+                     preferences.set_transient_for(Some(&window));
+-                    preferences.show();
++                    preferences.present();
+                 }).build();
+ 
+             // About
+@@ -147,7 +147,7 @@ mod imp {
+                         window.providers().refilter();
+                     }));
+                     providers.set_transient_for(Some(&window));
+-                    providers.show();
++                    providers.present();
+                 })
+                 .build();
+ 
+diff --git a/src/widgets/accounts/add.rs b/src/widgets/accounts/add.rs
+index 59996bb2..86f73f41 100644
+--- a/src/widgets/accounts/add.rs
++++ b/src/widgets/accounts/add.rs
+@@ -290,7 +290,7 @@ impl AccountAddDialog {
+     fn set_provider(&self, provider: Option<Provider>) {
+         let imp = self.imp();
+         if let Some(provider) = provider {
+-            imp.more_list.show();
++            imp.more_list.set_visible(true);
+             imp.provider_entry.set_text(&provider.name());
+             imp.period_label.set_text(&provider.period().to_string());
+ 
+@@ -306,12 +306,12 @@ impl AccountAddDialog {
+ 
+             match provider.method() {
+                 OTPMethod::TOTP | OTPMethod::Steam => {
+-                    imp.counter_row.hide();
+-                    imp.period_row.show();
++                    imp.counter_row.set_visible(false);
++                    imp.period_row.set_visible(true);
+                 }
+                 OTPMethod::HOTP => {
+-                    imp.counter_row.show();
+-                    imp.period_row.hide();
++                    imp.counter_row.set_visible(true);
++                    imp.period_row.set_visible(false);
+                 }
+             };
+ 
+diff --git a/src/widgets/accounts/details.rs b/src/widgets/accounts/details.rs
+index 36ed74f0..f2061aca 100644
+--- a/src/widgets/accounts/details.rs
++++ b/src/widgets/accounts/details.rs
+@@ -180,7 +180,7 @@ impl AccountDetailsPage {
+             }),
+         );
+ 
+-        dialog.show();
++        dialog.present();
+     }
+ 
+     pub fn set_account(&self, account: &Account) {
+@@ -211,25 +211,25 @@ impl AccountDetailsPage {
+         imp.method_label
+             .set_text(&provider.method().to_locale_string());
+         if provider.method() == OTPMethod::HOTP {
+-            imp.counter_row.show();
+-            imp.period_row.hide();
++            imp.counter_row.set_visible(true);
++            imp.period_row.set_visible(false);
+         } else {
+-            imp.counter_row.hide();
+-            imp.period_row.show();
++            imp.counter_row.set_visible(false);
++            imp.period_row.set_visible(true);
+             imp.period_label.set_text(&provider.period().to_string());
+         }
+         imp.digits_label.set_text(&provider.digits().to_string());
+         if let Some(ref help) = provider.help_url() {
+             imp.help_row.set_uri(help);
+-            imp.help_row.show();
++            imp.help_row.set_visible(true);
+         } else {
+-            imp.help_row.hide();
++            imp.help_row.set_visible(false);
+         }
+         if let Some(ref website) = provider.website() {
+             imp.website_row.set_uri(website);
+-            imp.website_row.show();
++            imp.website_row.set_visible(true);
+         } else {
+-            imp.website_row.hide();
++            imp.website_row.set_visible(false);
+         }
+         imp.selected_provider.replace(Some(provider));
+     }
+diff --git a/src/widgets/camera_paintable.rs b/src/widgets/camera_paintable.rs
+index 8b061fbb..33c10898 100644
+--- a/src/widgets/camera_paintable.rs
++++ b/src/widgets/camera_paintable.rs
+@@ -156,8 +156,7 @@ impl CameraPaintable {
+         {
+             gst::ElementFactory::make("glsinkbin")
+                 .property("sink", &sink)
+-                .build()
+-                .unwrap()
++                .build()?
+         } else {
+             let bin = gst::Bin::default();
+             let convert = gst::ElementFactory::make_with_name("videoconvert", None)?;
+diff --git a/src/widgets/camera_row.rs b/src/widgets/camera_row.rs
+index a0c7cea2..5b2b6fa8 100644
+--- a/src/widgets/camera_row.rs
++++ b/src/widgets/camera_row.rs
+@@ -30,7 +30,7 @@ mod imp {
+ 
+             obj.set_spacing(6);
+             self.checkmark.set_icon_name(Some("object-select-symbolic"));
+-            self.checkmark.hide();
++            self.checkmark.set_visible(false);
+ 
+             obj.append(&self.label);
+             obj.append(&self.checkmark);
+diff --git a/src/widgets/error_revealer.rs b/src/widgets/error_revealer.rs
+index de3f36b7..c0d3d34c 100644
+--- a/src/widgets/error_revealer.rs
++++ b/src/widgets/error_revealer.rs
+@@ -50,13 +50,13 @@ impl ErrorRevealer {
+     pub fn popup(&self, text: &str) {
+         let imp = self.imp();
+         imp.label.set_text(text);
+-        self.show();
++        self.set_visible(true);
+         imp.revealer.set_reveal_child(true);
+         glib::timeout_add_seconds_local(
+             2,
+             glib::clone!(@weak self as error_revealer => @default-return glib::Continue(false), move || {
+                 error_revealer.imp().revealer.set_reveal_child(false);
+-                error_revealer.hide();
++                error_revealer.set_visible(false);
+                 glib::Continue(false)
+             }),
+         );
+diff --git a/src/widgets/preferences/window.rs b/src/widgets/preferences/window.rs
+index c9c98829..faba1ba9 100644
+--- a/src/widgets/preferences/window.rs
++++ b/src/widgets/preferences/window.rs
+@@ -291,7 +291,7 @@ impl PreferencesWindow {
+             clone!(@weak self as win, @weak model => move |_, _| {
+                 let ctx = glib::MainContext::default();
+                 ctx.spawn_local(clone!(@weak win, @weak model => async move {
+-                    if let Ok(Some(file)) = win.select_file(filters, Operation::Backup).await {
++                    if let Ok(file) = win.select_file(filters, Operation::Backup).await {
+                         let key = T::ENCRYPTABLE.then(|| {
+                             win.encyption_key(Operation::Backup, &T::identifier())
+                         }).flatten();
+@@ -455,7 +455,7 @@ impl PreferencesWindow {
+                 clone!(@weak self as win => move |_, _| {
+                     let ctx = glib::MainContext::default();
+                     ctx.spawn_local(clone!(@weak win => async move {
+-                        if let Ok(Some(file)) = win.select_file(filters, Operation::Restore).await {
++                        if let Ok(file) = win.select_file(filters, Operation::Restore).await {
+                             let key = T::ENCRYPTABLE.then(|| {
+                                 win.encyption_key(Operation::Restore, &T::identifier())
+                             }).flatten();
+@@ -505,7 +505,7 @@ impl PreferencesWindow {
+         &self,
+         filters: &'static [&str],
+         operation: Operation,
+-    ) -> Result<Option<gio::File>, glib::Error> {
++    ) -> Result<gio::File, glib::Error> {
+         let filters_model = gio::ListStore::new(gtk::FileFilter::static_type());
+         filters.iter().for_each(|f| {
+             let filter = gtk::FileFilter::new();
+@@ -521,7 +521,7 @@ impl PreferencesWindow {
+                     .filters(&filters_model)
+                     .title(&gettext("Backup"))
+                     .build();
+-                dialog.save_future(Some(self), gio::File::NONE, None).await
++                dialog.save_future(Some(self)).await
+             }
+             Operation::Restore => {
+                 let dialog = gtk::FileDialog::builder()
+@@ -529,7 +529,7 @@ impl PreferencesWindow {
+                     .filters(&filters_model)
+                     .title(&gettext("Restore"))
+                     .build();
+-                dialog.open_future(Some(self), gio::File::NONE).await
++                dialog.open_future(Some(self)).await
+             }
+         }
+     }
+diff --git a/src/widgets/providers/page.rs b/src/widgets/providers/page.rs
+index 023cce1d..d2c2e688 100644
+--- a/src/widgets/providers/page.rs
++++ b/src/widgets/providers/page.rs
+@@ -167,7 +167,7 @@ impl ProviderPage {
+     pub fn set_provider(&self, provider: Option<Provider>) {
+         let imp = self.imp();
+         if let Some(provider) = provider {
+-            imp.delete_button.show();
++            imp.delete_button.set_visible(true);
+             imp.name_entry.set_text(&provider.name());
+             imp.period_spinbutton.set_value(provider.period() as f64);
+ 
+@@ -202,7 +202,7 @@ impl ProviderPage {
+             imp.selected_provider.replace(Some(provider));
+         } else {
+             imp.name_entry.set_text("");
+-            imp.delete_button.hide();
++            imp.delete_button.set_visible(false);
+             imp.period_spinbutton
+                 .set_value(otp::TOTP_DEFAULT_PERIOD as f64);
+             imp.provider_website_entry.set_text("");
+@@ -315,10 +315,7 @@ impl ProviderPage {
+             .filters(&model)
+             .build();
+ 
+-        if let Ok(Some(file)) = file_chooser
+-            .open_future(Some(&parent), gio::File::NONE)
+-            .await
+-        {
++        if let Ok(file) = file_chooser.open_future(Some(&parent)).await {
+             self.set_image(file);
+         };
+     }
+@@ -377,22 +374,22 @@ impl ProviderPage {
+         let selected = OTPMethod::from(combo_row.selected());
+         match selected {
+             OTPMethod::TOTP => {
+-                imp.default_counter_row.hide();
+-                imp.period_row.show();
++                imp.default_counter_row.set_visible(false);
++                imp.period_row.set_visible(true);
+                 imp.digits_spinbutton.set_value(otp::DEFAULT_DIGITS as f64);
+                 imp.period_spinbutton
+                     .set_value(otp::TOTP_DEFAULT_PERIOD as f64);
+             }
+             OTPMethod::HOTP => {
+-                imp.default_counter_row.show();
+-                imp.period_row.hide();
++                imp.default_counter_row.set_visible(true);
++                imp.period_row.set_visible(false);
+                 imp.default_counter_spinbutton
+                     .set_value(otp::HOTP_DEFAULT_COUNTER as f64);
+                 imp.digits_spinbutton.set_value(otp::DEFAULT_DIGITS as f64);
+             }
+             OTPMethod::Steam => {
+-                imp.default_counter_row.hide();
+-                imp.period_row.show();
++                imp.default_counter_row.set_visible(false);
++                imp.period_row.set_visible(true);
+                 imp.digits_spinbutton
+                     .set_value(otp::STEAM_DEFAULT_DIGITS as f64);
+                 imp.period_spinbutton
+diff --git a/src/widgets/providers/row.rs b/src/widgets/providers/row.rs
+index 893b0565..3ef1d027 100644
+--- a/src/widgets/providers/row.rs
++++ b/src/widgets/providers/row.rs
+@@ -162,7 +162,7 @@ impl ProviderRow {
+ 
+         imp.image.set_provider(Some(&provider));
+         if provider.method() == OTPMethod::HOTP {
+-            imp.progress_icon.hide();
++            imp.progress_icon.set_visible(false);
+         } else {
+             // Update the progress bar whnever the remaining-time is updated
+             self.tick_progressbar();
+diff --git a/src/widgets/url_row.rs b/src/widgets/url_row.rs
+index 19e656a4..4e6fdf2f 100644
+--- a/src/widgets/url_row.rs
++++ b/src/widgets/url_row.rs
+@@ -1,5 +1,6 @@
+ use adw::prelude::*;
+ use gtk::{
++    gio,
+     glib::{self, clone},
+     subclass::prelude::*,
+ };
+@@ -54,8 +55,15 @@ mod imp {
+             let obj = self.obj();
+             let gesture = gtk::GestureClick::new();
+             gesture.connect_pressed(clone!(@weak obj as row => move |_,_,_,_| {
+-                if let Some(ref uri) = *row.imp().uri.borrow() {
+-                    gtk::show_uri(gtk::Window::NONE, uri, 0);
++                if let Some(uri) = row.imp().uri.borrow().clone() {
++                    let ctx = glib::MainContext::default();
++                    ctx.spawn_local(async move {
++                        let file = gio::File::for_uri(&uri);
++                        let launcher = gtk::FileLauncher::new(Some(&file));
++                        if let Err(err) = launcher.launch_future(gtk::Window::NONE).await {
++                            tracing::error!("Failed to open URI {err}");
++                        }
++                    });
+                 };
+             }));
+ 
+diff --git a/src/widgets/window.rs b/src/widgets/window.rs
+index 0cff942b..3a53d559 100644
+--- a/src/widgets/window.rs
++++ b/src/widgets/window.rs
+@@ -218,7 +218,7 @@ impl Window {
+         dialog.connect_added(clone!(@weak self as win => move |_| {
+             win.providers().refilter();
+         }));
+-        dialog.show();
++        dialog.present();
+     }
+ 
+     pub fn providers(&self) -> ProvidersList {
+-- 
+GitLab
+
diff --git a/srcpkgs/gnome-authenticator/template b/srcpkgs/gnome-authenticator/template
index db6d2317e57d..e43023e08b5a 100644
--- a/srcpkgs/gnome-authenticator/template
+++ b/srcpkgs/gnome-authenticator/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-authenticator'
 pkgname=gnome-authenticator
 version=4.2.0
-revision=1
+revision=2
 build_style=meson
 build_helper="rust"
 hostmakedepends="pkg-config gettext glib-devel itstool cargo desktop-file-utils

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Updated] gnome-authenticator: fix crash with gtk 4.10
  2023-04-01  8:26 [PR PATCH] gnome-authenticator: fix crash with gtk 4.10 oreo639
@ 2023-04-01  8:28 ` oreo639
  2023-04-01 15:21 ` dexgs
  2023-04-06 16:43 ` [PR PATCH] [Merged]: " paper42
  2 siblings, 0 replies; 4+ messages in thread
From: oreo639 @ 2023-04-01  8:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1272 bytes --]

There is an updated pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages gauthenticator
https://github.com/void-linux/void-packages/pull/43158

gnome-authenticator: fix crash with gtk 4.10
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/43158.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gauthenticator-43158.patch --]
[-- Type: text/x-diff, Size: 20581 bytes --]

From d2652ae9fe02137ae6a914a8bbf27ab5cbf19798 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Sat, 1 Apr 2023 01:26:30 -0700
Subject: [PATCH] gnome-authenticator: fix crash with gtk4 4.10

---
 ...5826e517c002b39aa2a291d60a127d47b13a.patch | 493 ++++++++++++++++++
 srcpkgs/gnome-authenticator/template          |   2 +-
 2 files changed, 494 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/gnome-authenticator/patches/cb2b5826e517c002b39aa2a291d60a127d47b13a.patch

diff --git a/srcpkgs/gnome-authenticator/patches/cb2b5826e517c002b39aa2a291d60a127d47b13a.patch b/srcpkgs/gnome-authenticator/patches/cb2b5826e517c002b39aa2a291d60a127d47b13a.patch
new file mode 100644
index 000000000000..cbed19cf4c7e
--- /dev/null
+++ b/srcpkgs/gnome-authenticator/patches/cb2b5826e517c002b39aa2a291d60a127d47b13a.patch
@@ -0,0 +1,493 @@
+From cb2b5826e517c002b39aa2a291d60a127d47b13a Mon Sep 17 00:00:00 2001
+From: Bilal Elmoussaoui <belmouss@redhat.com>
+Date: Tue, 3 Jan 2023 11:01:32 +0100
+Subject: [PATCH] Bump gtk4-rs and replace more deprecated APIs
+
+---
+ Cargo.lock                        | 50 +++++++++++++++----------------
+ src/application.rs                |  4 +--
+ src/widgets/accounts/add.rs       | 10 +++----
+ src/widgets/accounts/details.rs   | 18 +++++------
+ src/widgets/camera_paintable.rs   |  3 +-
+ src/widgets/camera_row.rs         |  2 +-
+ src/widgets/error_revealer.rs     |  4 +--
+ src/widgets/preferences/window.rs | 10 +++----
+ src/widgets/providers/page.rs     | 21 ++++++-------
+ src/widgets/providers/row.rs      |  2 +-
+ src/widgets/url_row.rs            | 12 ++++++--
+ src/widgets/window.rs             |  2 +-
+ 12 files changed, 71 insertions(+), 67 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index aa0ff53f..4e62dc35 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1110,9 +1110,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gdk4"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "272db1bbb9b152ea1fea946f9d464085c86cfe14cafba450d7defa433caff8ec"
++checksum = "bb2181330ebf9d091f8ea7fed6877f7adc92114128592e1fdaeb1da28e0d01e9"
+ dependencies = [
+  "bitflags",
+  "cairo-rs",
+@@ -1126,9 +1126,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gdk4-sys"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "45b571f36b889ab529b2e173248dafe83d75c703f5685b9845e490c7994ae309"
++checksum = "de55cb49432901fe2b3534177fa06844665b9b0911d85d8601a8d8b88b7791db"
+ dependencies = [
+  "cairo-sys-rs",
+  "gdk-pixbuf-sys",
+@@ -1143,9 +1143,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gdk4-wayland"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dee24d5a659ecca2170642c0db211446e7fdbc7ebcf1e63be99405df6f541c15"
++checksum = "b9998dedfee371c33356809f24790a1593c4751367ace7f66256dd759173701a"
+ dependencies = [
+  "gdk4",
+  "gdk4-wayland-sys",
+@@ -1156,9 +1156,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gdk4-wayland-sys"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dbb03e044a5f6ae9270823a8ef89739808845120d47b2be83de785e044c83386"
++checksum = "7017f59dc8c3a0c25756d617be038540642be64b9f229a531507b8f8e3e645ea"
+ dependencies = [
+  "glib-sys",
+  "libc",
+@@ -1375,9 +1375,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gsk4"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4053293b79099bdfecd9ab0d811d118a0eafce613dfe0b26075419d955f1f652"
++checksum = "591239f5c52ca803b222124ac9c47f230cd180cee9b114c4d672e4a94b74f491"
+ dependencies = [
+  "bitflags",
+  "cairo-rs",
+@@ -1391,9 +1391,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gsk4-sys"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "08e0642edffdb35028d7d67b830678da98844216b6442e11eee52c91ad2a6dc2"
++checksum = "195a63f0be42529f98c3eb3bae0decfd0428ba2cc683b3e20ced88f340904ec5"
+ dependencies = [
+  "cairo-sys-rs",
+  "gdk4-sys",
+@@ -1643,9 +1643,9 @@ checksum = "da5bf7748fd4cd0b2490df8debcc911809dbcbee4ece9531b96c29a9c729de5a"
+ 
+ [[package]]
+ name = "gtk4"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8954da3659ff1cb35aa95110021b33fadcd8e306e8fe41f32146ffa009665a79"
++checksum = "fd89dba65def483a233dc4fdd3f3dab01576e3d83f80f6c9303ebe421661855e"
+ dependencies = [
+  "bitflags",
+  "cairo-rs",
+@@ -1666,9 +1666,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gtk4-macros"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "58138cd3c595e04f82df050390aa7d2bd093795ce569e5f1d49eb496ef67fe7b"
++checksum = "832687a415d9d8bc11fe9c17dda1bf13ee262c41b995dd4df1d1cce33cead405"
+ dependencies = [
+  "anyhow",
+  "proc-macro-crate",
+@@ -1680,9 +1680,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gtk4-sys"
+-version = "0.5.4"
++version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ef29e09e055b2f2550eb1882caa6961a1ae3c971a70bcb25cb9d5ab6cbd63821"
++checksum = "e370564e3fdacff7cffc99f7366b6a4689feb44e819d3ccee598a9a215b71605"
+ dependencies = [
+  "cairo-sys-rs",
+  "gdk-pixbuf-sys",
+@@ -2265,9 +2265,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "nom"
+-version = "7.1.1"
++version = "7.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
++checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c"
+ dependencies = [
+  "memchr",
+  "minimal-lexical",
+@@ -2411,9 +2411,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "once_cell"
+-version = "1.16.0"
++version = "1.17.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
++checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+ 
+ [[package]]
+ name = "oo7"
+@@ -2514,9 +2514,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "ordered-stream"
+-version = "0.1.2"
++version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "01ca8c99d73c6e92ac1358f9f692c22c0bfd9c4701fa086f5d365c0d4ea818ea"
++checksum = "d4eb9ba3f3e42dbdd3b7b122de5ca169c81e93d561eb900da3a8c99bcfcf381a"
+ dependencies = [
+  "futures-core",
+  "pin-project-lite",
+@@ -4042,7 +4042,7 @@ dependencies = [
+  "hex",
+  "nix 0.25.1",
+  "once_cell",
+- "ordered-stream 0.1.2",
++ "ordered-stream 0.1.3",
+  "rand",
+  "serde",
+  "serde_repr",
+diff --git a/src/application.rs b/src/application.rs
+index ec618352..4a027651 100644
+--- a/src/application.rs
++++ b/src/application.rs
+@@ -106,7 +106,7 @@ mod imp {
+                         app.set_can_be_locked(state);
+                     }));
+                     preferences.set_transient_for(Some(&window));
+-                    preferences.show();
++                    preferences.present();
+                 }).build();
+ 
+             // About
+@@ -147,7 +147,7 @@ mod imp {
+                         window.providers().refilter();
+                     }));
+                     providers.set_transient_for(Some(&window));
+-                    providers.show();
++                    providers.present();
+                 })
+                 .build();
+ 
+diff --git a/src/widgets/accounts/add.rs b/src/widgets/accounts/add.rs
+index 59996bb2..86f73f41 100644
+--- a/src/widgets/accounts/add.rs
++++ b/src/widgets/accounts/add.rs
+@@ -290,7 +290,7 @@ impl AccountAddDialog {
+     fn set_provider(&self, provider: Option<Provider>) {
+         let imp = self.imp();
+         if let Some(provider) = provider {
+-            imp.more_list.show();
++            imp.more_list.set_visible(true);
+             imp.provider_entry.set_text(&provider.name());
+             imp.period_label.set_text(&provider.period().to_string());
+ 
+@@ -306,12 +306,12 @@ impl AccountAddDialog {
+ 
+             match provider.method() {
+                 OTPMethod::TOTP | OTPMethod::Steam => {
+-                    imp.counter_row.hide();
+-                    imp.period_row.show();
++                    imp.counter_row.set_visible(false);
++                    imp.period_row.set_visible(true);
+                 }
+                 OTPMethod::HOTP => {
+-                    imp.counter_row.show();
+-                    imp.period_row.hide();
++                    imp.counter_row.set_visible(true);
++                    imp.period_row.set_visible(false);
+                 }
+             };
+ 
+diff --git a/src/widgets/accounts/details.rs b/src/widgets/accounts/details.rs
+index 36ed74f0..f2061aca 100644
+--- a/src/widgets/accounts/details.rs
++++ b/src/widgets/accounts/details.rs
+@@ -180,7 +180,7 @@ impl AccountDetailsPage {
+             }),
+         );
+ 
+-        dialog.show();
++        dialog.present();
+     }
+ 
+     pub fn set_account(&self, account: &Account) {
+@@ -211,25 +211,25 @@ impl AccountDetailsPage {
+         imp.method_label
+             .set_text(&provider.method().to_locale_string());
+         if provider.method() == OTPMethod::HOTP {
+-            imp.counter_row.show();
+-            imp.period_row.hide();
++            imp.counter_row.set_visible(true);
++            imp.period_row.set_visible(false);
+         } else {
+-            imp.counter_row.hide();
+-            imp.period_row.show();
++            imp.counter_row.set_visible(false);
++            imp.period_row.set_visible(true);
+             imp.period_label.set_text(&provider.period().to_string());
+         }
+         imp.digits_label.set_text(&provider.digits().to_string());
+         if let Some(ref help) = provider.help_url() {
+             imp.help_row.set_uri(help);
+-            imp.help_row.show();
++            imp.help_row.set_visible(true);
+         } else {
+-            imp.help_row.hide();
++            imp.help_row.set_visible(false);
+         }
+         if let Some(ref website) = provider.website() {
+             imp.website_row.set_uri(website);
+-            imp.website_row.show();
++            imp.website_row.set_visible(true);
+         } else {
+-            imp.website_row.hide();
++            imp.website_row.set_visible(false);
+         }
+         imp.selected_provider.replace(Some(provider));
+     }
+diff --git a/src/widgets/camera_paintable.rs b/src/widgets/camera_paintable.rs
+index 8b061fbb..33c10898 100644
+--- a/src/widgets/camera_paintable.rs
++++ b/src/widgets/camera_paintable.rs
+@@ -156,8 +156,7 @@ impl CameraPaintable {
+         {
+             gst::ElementFactory::make("glsinkbin")
+                 .property("sink", &sink)
+-                .build()
+-                .unwrap()
++                .build()?
+         } else {
+             let bin = gst::Bin::default();
+             let convert = gst::ElementFactory::make_with_name("videoconvert", None)?;
+diff --git a/src/widgets/camera_row.rs b/src/widgets/camera_row.rs
+index a0c7cea2..5b2b6fa8 100644
+--- a/src/widgets/camera_row.rs
++++ b/src/widgets/camera_row.rs
+@@ -30,7 +30,7 @@ mod imp {
+ 
+             obj.set_spacing(6);
+             self.checkmark.set_icon_name(Some("object-select-symbolic"));
+-            self.checkmark.hide();
++            self.checkmark.set_visible(false);
+ 
+             obj.append(&self.label);
+             obj.append(&self.checkmark);
+diff --git a/src/widgets/error_revealer.rs b/src/widgets/error_revealer.rs
+index de3f36b7..c0d3d34c 100644
+--- a/src/widgets/error_revealer.rs
++++ b/src/widgets/error_revealer.rs
+@@ -50,13 +50,13 @@ impl ErrorRevealer {
+     pub fn popup(&self, text: &str) {
+         let imp = self.imp();
+         imp.label.set_text(text);
+-        self.show();
++        self.set_visible(true);
+         imp.revealer.set_reveal_child(true);
+         glib::timeout_add_seconds_local(
+             2,
+             glib::clone!(@weak self as error_revealer => @default-return glib::Continue(false), move || {
+                 error_revealer.imp().revealer.set_reveal_child(false);
+-                error_revealer.hide();
++                error_revealer.set_visible(false);
+                 glib::Continue(false)
+             }),
+         );
+diff --git a/src/widgets/preferences/window.rs b/src/widgets/preferences/window.rs
+index c9c98829..faba1ba9 100644
+--- a/src/widgets/preferences/window.rs
++++ b/src/widgets/preferences/window.rs
+@@ -291,7 +291,7 @@ impl PreferencesWindow {
+             clone!(@weak self as win, @weak model => move |_, _| {
+                 let ctx = glib::MainContext::default();
+                 ctx.spawn_local(clone!(@weak win, @weak model => async move {
+-                    if let Ok(Some(file)) = win.select_file(filters, Operation::Backup).await {
++                    if let Ok(file) = win.select_file(filters, Operation::Backup).await {
+                         let key = T::ENCRYPTABLE.then(|| {
+                             win.encyption_key(Operation::Backup, &T::identifier())
+                         }).flatten();
+@@ -455,7 +455,7 @@ impl PreferencesWindow {
+                 clone!(@weak self as win => move |_, _| {
+                     let ctx = glib::MainContext::default();
+                     ctx.spawn_local(clone!(@weak win => async move {
+-                        if let Ok(Some(file)) = win.select_file(filters, Operation::Restore).await {
++                        if let Ok(file) = win.select_file(filters, Operation::Restore).await {
+                             let key = T::ENCRYPTABLE.then(|| {
+                                 win.encyption_key(Operation::Restore, &T::identifier())
+                             }).flatten();
+@@ -505,7 +505,7 @@ impl PreferencesWindow {
+         &self,
+         filters: &'static [&str],
+         operation: Operation,
+-    ) -> Result<Option<gio::File>, glib::Error> {
++    ) -> Result<gio::File, glib::Error> {
+         let filters_model = gio::ListStore::new(gtk::FileFilter::static_type());
+         filters.iter().for_each(|f| {
+             let filter = gtk::FileFilter::new();
+@@ -521,7 +521,7 @@ impl PreferencesWindow {
+                     .filters(&filters_model)
+                     .title(&gettext("Backup"))
+                     .build();
+-                dialog.save_future(Some(self), gio::File::NONE, None).await
++                dialog.save_future(Some(self)).await
+             }
+             Operation::Restore => {
+                 let dialog = gtk::FileDialog::builder()
+@@ -529,7 +529,7 @@ impl PreferencesWindow {
+                     .filters(&filters_model)
+                     .title(&gettext("Restore"))
+                     .build();
+-                dialog.open_future(Some(self), gio::File::NONE).await
++                dialog.open_future(Some(self)).await
+             }
+         }
+     }
+diff --git a/src/widgets/providers/page.rs b/src/widgets/providers/page.rs
+index 023cce1d..d2c2e688 100644
+--- a/src/widgets/providers/page.rs
++++ b/src/widgets/providers/page.rs
+@@ -167,7 +167,7 @@ impl ProviderPage {
+     pub fn set_provider(&self, provider: Option<Provider>) {
+         let imp = self.imp();
+         if let Some(provider) = provider {
+-            imp.delete_button.show();
++            imp.delete_button.set_visible(true);
+             imp.name_entry.set_text(&provider.name());
+             imp.period_spinbutton.set_value(provider.period() as f64);
+ 
+@@ -202,7 +202,7 @@ impl ProviderPage {
+             imp.selected_provider.replace(Some(provider));
+         } else {
+             imp.name_entry.set_text("");
+-            imp.delete_button.hide();
++            imp.delete_button.set_visible(false);
+             imp.period_spinbutton
+                 .set_value(otp::TOTP_DEFAULT_PERIOD as f64);
+             imp.provider_website_entry.set_text("");
+@@ -315,10 +315,7 @@ impl ProviderPage {
+             .filters(&model)
+             .build();
+ 
+-        if let Ok(Some(file)) = file_chooser
+-            .open_future(Some(&parent), gio::File::NONE)
+-            .await
+-        {
++        if let Ok(file) = file_chooser.open_future(Some(&parent)).await {
+             self.set_image(file);
+         };
+     }
+@@ -377,22 +374,22 @@ impl ProviderPage {
+         let selected = OTPMethod::from(combo_row.selected());
+         match selected {
+             OTPMethod::TOTP => {
+-                imp.default_counter_row.hide();
+-                imp.period_row.show();
++                imp.default_counter_row.set_visible(false);
++                imp.period_row.set_visible(true);
+                 imp.digits_spinbutton.set_value(otp::DEFAULT_DIGITS as f64);
+                 imp.period_spinbutton
+                     .set_value(otp::TOTP_DEFAULT_PERIOD as f64);
+             }
+             OTPMethod::HOTP => {
+-                imp.default_counter_row.show();
+-                imp.period_row.hide();
++                imp.default_counter_row.set_visible(true);
++                imp.period_row.set_visible(false);
+                 imp.default_counter_spinbutton
+                     .set_value(otp::HOTP_DEFAULT_COUNTER as f64);
+                 imp.digits_spinbutton.set_value(otp::DEFAULT_DIGITS as f64);
+             }
+             OTPMethod::Steam => {
+-                imp.default_counter_row.hide();
+-                imp.period_row.show();
++                imp.default_counter_row.set_visible(false);
++                imp.period_row.set_visible(true);
+                 imp.digits_spinbutton
+                     .set_value(otp::STEAM_DEFAULT_DIGITS as f64);
+                 imp.period_spinbutton
+diff --git a/src/widgets/providers/row.rs b/src/widgets/providers/row.rs
+index 893b0565..3ef1d027 100644
+--- a/src/widgets/providers/row.rs
++++ b/src/widgets/providers/row.rs
+@@ -162,7 +162,7 @@ impl ProviderRow {
+ 
+         imp.image.set_provider(Some(&provider));
+         if provider.method() == OTPMethod::HOTP {
+-            imp.progress_icon.hide();
++            imp.progress_icon.set_visible(false);
+         } else {
+             // Update the progress bar whnever the remaining-time is updated
+             self.tick_progressbar();
+diff --git a/src/widgets/url_row.rs b/src/widgets/url_row.rs
+index 19e656a4..4e6fdf2f 100644
+--- a/src/widgets/url_row.rs
++++ b/src/widgets/url_row.rs
+@@ -1,5 +1,6 @@
+ use adw::prelude::*;
+ use gtk::{
++    gio,
+     glib::{self, clone},
+     subclass::prelude::*,
+ };
+@@ -54,8 +55,15 @@ mod imp {
+             let obj = self.obj();
+             let gesture = gtk::GestureClick::new();
+             gesture.connect_pressed(clone!(@weak obj as row => move |_,_,_,_| {
+-                if let Some(ref uri) = *row.imp().uri.borrow() {
+-                    gtk::show_uri(gtk::Window::NONE, uri, 0);
++                if let Some(uri) = row.imp().uri.borrow().clone() {
++                    let ctx = glib::MainContext::default();
++                    ctx.spawn_local(async move {
++                        let file = gio::File::for_uri(&uri);
++                        let launcher = gtk::FileLauncher::new(Some(&file));
++                        if let Err(err) = launcher.launch_future(gtk::Window::NONE).await {
++                            tracing::error!("Failed to open URI {err}");
++                        }
++                    });
+                 };
+             }));
+ 
+diff --git a/src/widgets/window.rs b/src/widgets/window.rs
+index 0cff942b..3a53d559 100644
+--- a/src/widgets/window.rs
++++ b/src/widgets/window.rs
+@@ -218,7 +218,7 @@ impl Window {
+         dialog.connect_added(clone!(@weak self as win => move |_| {
+             win.providers().refilter();
+         }));
+-        dialog.show();
++        dialog.present();
+     }
+ 
+     pub fn providers(&self) -> ProvidersList {
+-- 
+GitLab
+
diff --git a/srcpkgs/gnome-authenticator/template b/srcpkgs/gnome-authenticator/template
index db6d2317e57d..e43023e08b5a 100644
--- a/srcpkgs/gnome-authenticator/template
+++ b/srcpkgs/gnome-authenticator/template
@@ -1,7 +1,7 @@
 # Template file for 'gnome-authenticator'
 pkgname=gnome-authenticator
 version=4.2.0
-revision=1
+revision=2
 build_style=meson
 build_helper="rust"
 hostmakedepends="pkg-config gettext glib-devel itstool cargo desktop-file-utils

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: gnome-authenticator: fix crash with gtk 4.10
  2023-04-01  8:26 [PR PATCH] gnome-authenticator: fix crash with gtk 4.10 oreo639
  2023-04-01  8:28 ` [PR PATCH] [Updated] " oreo639
@ 2023-04-01 15:21 ` dexgs
  2023-04-06 16:43 ` [PR PATCH] [Merged]: " paper42
  2 siblings, 0 replies; 4+ messages in thread
From: dexgs @ 2023-04-01 15:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 174 bytes --]

New comment by dexgs on void-packages repository

https://github.com/void-linux/void-packages/pull/43158#issuecomment-1493003627

Comment:
These changes fix the issue for me

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Merged]: gnome-authenticator: fix crash with gtk 4.10
  2023-04-01  8:26 [PR PATCH] gnome-authenticator: fix crash with gtk 4.10 oreo639
  2023-04-01  8:28 ` [PR PATCH] [Updated] " oreo639
  2023-04-01 15:21 ` dexgs
@ 2023-04-06 16:43 ` paper42
  2 siblings, 0 replies; 4+ messages in thread
From: paper42 @ 2023-04-06 16:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1109 bytes --]

There's a merged pull request on the void-packages repository

gnome-authenticator: fix crash with gtk 4.10
https://github.com/void-linux/void-packages/pull/43158

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-04-06 16:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-01  8:26 [PR PATCH] gnome-authenticator: fix crash with gtk 4.10 oreo639
2023-04-01  8:28 ` [PR PATCH] [Updated] " oreo639
2023-04-01 15:21 ` dexgs
2023-04-06 16:43 ` [PR PATCH] [Merged]: " paper42

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).