Handle gsm_sim virtual modems

Related: RHEL-4193
This commit is contained in:
Felipe Borges 2025-01-21 15:03:43 +01:00 committed by Felipe Borges
parent 4a91cd59a7
commit ede18c8239
2 changed files with 54 additions and 2 deletions

View File

@ -14,7 +14,7 @@
Name: gnome-control-center
Version: 40.0
Release: 38%{?dist}
Release: 39%{?dist}
Summary: Utilities to configure the GNOME desktop
License: GPLv2+ and CC-BY-SA
@ -60,7 +60,7 @@ Patch16: background-solid-colors.patch
Patch17: 0001-wacom-Group-devices-using-libwacom-API-too.patch
# Needs Jira ticket
# https://issues.redhat.com/browse/RHEL-71937
Patch18: power-button-action-server.patch
# https://issues.redhat.com/browse/RHEL-50729
@ -72,6 +72,9 @@ Patch20: keyboard-dont-force-compose-key-value.patch
# https://issues.redhat.com/browse/RHEL-4196
Patch21: display-draw-larger-monitors-when-multiple.patch
# https://issues.redhat.com/browse/RHEL-4193
Patch22: wwan-handle-gsm_sim_virtual-modems.patch
BuildRequires: chrpath
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
@ -261,6 +264,10 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center
%dir %{_datadir}/gnome/wm-properties
%changelog
* Thu Feb 27 2025 Felipe Borges <feborges@redhat.com> - 40.0-39
- Handle gsm_sim virtual modems in Mobile Networks settings
Resolves: RHEL-4193
* Thu Jan 23 2025 Felipe Borges <feborges@redhat.com> - 40.0-38
- Scale up monitors drawing in display arrangment settings when multiple monitors
Related: RHEL-4196

View File

@ -0,0 +1,45 @@
From dad011062bb9f6bfa6751c43964f718e676014f3 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Wed, 8 Jun 2022 13:24:49 +0200
Subject: [PATCH] wwan: do not insist SIM ID being present
It is perfectly possible for mm_sim_dup_identifier() to return NULL if
the SIM ID wasn't provided by the modem for any reason, leading to an
assertion failure:
(gnome-control-center:910641): cc-wwan-data-CRITICAL **: 12:43:51.573:
cc_wwan_data_set_default_apn: assertion 'self->sim_id != NULL' failed
Handle the NULL SIM ID gracefully.
---
panels/wwan/cc-wwan-data.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/panels/wwan/cc-wwan-data.c b/panels/wwan/cc-wwan-data.c
index ca54c731fd..3bb7ad78ff 100644
--- a/panels/wwan/cc-wwan-data.c
+++ b/panels/wwan/cc-wwan-data.c
@@ -1024,7 +1024,6 @@ cc_wwan_data_set_default_apn (CcWwanData *self,
g_return_val_if_fail (CC_IS_WWAN_DATA (self), FALSE);
g_return_val_if_fail (CC_IS_WWAN_DATA_APN (apn), FALSE);
- g_return_val_if_fail (self->sim_id != NULL, FALSE);
if (self->default_apn == apn)
return FALSE;
@@ -1040,8 +1039,10 @@ cc_wwan_data_set_default_apn (CcWwanData *self,
self->default_apn = apn;
connection = wwan_data_get_nm_connection (apn);
setting = NM_SETTING (nm_connection_get_setting_gsm (connection));
- g_object_set (G_OBJECT (setting),
- NM_SETTING_GSM_SIM_ID, self->sim_id, NULL);
+
+ if (self->sim_id)
+ g_object_set (G_OBJECT (setting),
+ NM_SETTING_GSM_SIM_ID, self->sim_id, NULL);
return TRUE;
}
--
GitLab