From 30f7fed292e77358f042d0b97fb1bed404961cd0 Mon Sep 17 00:00:00 2001 From: GroM Date: Tue, 25 Jun 2024 10:35:54 +0200 Subject: [PATCH 1/2] Using transmute is not required when defining callbacks used by C API --- ledger_device_sdk/src/nbgl.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ledger_device_sdk/src/nbgl.rs b/ledger_device_sdk/src/nbgl.rs index 768c69bd..875e8623 100644 --- a/ledger_device_sdk/src/nbgl.rs +++ b/ledger_device_sdk/src/nbgl.rs @@ -107,7 +107,11 @@ pub extern "C" fn io_recv_and_process_event() -> bool { } /// Callback triggered by the NBGL API when a setting switch is toggled. -unsafe fn settings_callback(token: ::core::ffi::c_int, _index: u8, _page: ::core::ffi::c_int) { +unsafe extern "C" fn settings_callback( + token: ::core::ffi::c_int, + _index: u8, + _page: ::core::ffi::c_int, +) { let idx = token - FIRST_USER_TOKEN as i32; if idx < 0 || idx >= SETTINGS_SIZE as i32 { panic!("Invalid token."); @@ -237,10 +241,7 @@ impl<'a> NbglHomeAndSettings<'a> { nbSwitches: self.nb_settings, }, }, - contentActionCallback: transmute( - (|token, index, page| settings_callback(token, index, page)) - as fn(::core::ffi::c_int, u8, ::core::ffi::c_int), - ), + contentActionCallback: Some(settings_callback), type_: SWITCHES_LIST, }; From ef702b859d2285da1f50b0fc8a3f4c49ce4f275f Mon Sep 17 00:00:00 2001 From: GroM Date: Tue, 25 Jun 2024 16:24:54 +0200 Subject: [PATCH 2/2] [ledger_device_sdk] Bump version --- Cargo.lock | 2 +- ledger_device_sdk/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b5f3aeab..c11d408e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -348,7 +348,7 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "ledger_device_sdk" -version = "1.10.4" +version = "1.10.5" dependencies = [ "const-zero", "include_gif", diff --git a/ledger_device_sdk/Cargo.toml b/ledger_device_sdk/Cargo.toml index 632c1ba5..e20259ec 100644 --- a/ledger_device_sdk/Cargo.toml +++ b/ledger_device_sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ledger_device_sdk" -version = "1.10.4" +version = "1.10.5" authors = ["yhql", "yogh333", "agrojean-ledger", "kingofpayne"] edition = "2021" license.workspace = true