Update to 3.34.2

This commit is contained in:
Kalev Lember 2019-11-27 17:11:15 +01:00
parent adc4e69042
commit 453840f8f5
5 changed files with 7 additions and 179 deletions

1
.gitignore vendored
View File

@ -16,3 +16,4 @@
/gnome-control-center-3.34.0.tar.xz
/gnome-control-center-3.34.0.1.tar.xz
/gnome-control-center-3.34.1.tar.xz
/gnome-control-center-3.34.2.tar.xz

View File

@ -1,63 +0,0 @@
From 0d41cfd6b39935940aa573af3a2e0a1492e6aadc Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
Date: Thu, 10 Oct 2019 09:50:30 +0200
Subject: [PATCH 1/2] display: Add guard for NULL mode in supported scale check
This may prevent crashes in certain error situations.
---
panels/display/cc-display-config-dbus.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/panels/display/cc-display-config-dbus.c b/panels/display/cc-display-config-dbus.c
index 81b2c46f7..cdddbb695 100644
--- a/panels/display/cc-display-config-dbus.c
+++ b/panels/display/cc-display-config-dbus.c
@@ -107,8 +107,10 @@ cc_display_mode_dbus_is_supported_scale (CcDisplayMode *pself,
double scale)
{
CcDisplayModeDBus *self = CC_DISPLAY_MODE_DBUS (pself);
-
guint i;
+
+ g_return_val_if_fail (pself != NULL, FALSE);
+
for (i = 0; i < self->supported_scales->len; i++)
if (g_array_index (self->supported_scales, double, i) == scale)
return TRUE;
--
2.22.0
From 74687108af9241bd12d95a8391a54103ed2bcc78 Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
Date: Thu, 10 Oct 2019 09:51:55 +0200
Subject: [PATCH 2/2] display: Use correct mode for supported scale checking
Monitors may not always have a mode. This means we cannot look up the
mode on the fly, but instead need to have a heuristic to select a mode
if there is none.
Everything was in place already for this, except that one location was
still doing a fresh lookup, possibly causing a crash.
Fixes: #675
---
panels/display/cc-display-settings.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/panels/display/cc-display-settings.c b/panels/display/cc-display-settings.c
index fe2643ede..d793fccaa 100644
--- a/panels/display/cc-display-settings.c
+++ b/panels/display/cc-display-settings.c
@@ -397,7 +397,7 @@ cc_display_settings_rebuild_ui (CcDisplaySettings *self)
GtkWidget *scale_btn;
if (!cc_display_config_is_scaled_mode_valid (self->config,
- cc_display_monitor_get_mode (self->selected_output),
+ current_mode,
*scale) &&
cc_display_monitor_get_scale (self->selected_output) != *scale)
continue;
--
2.22.0

View File

@ -9,8 +9,8 @@
%define gnome_bluetooth_version 3.18.2
Name: gnome-control-center
Version: 3.34.1
Release: 4%{?dist}
Version: 3.34.2
Release: 1%{?dist}
Summary: Utilities to configure the GNOME desktop
License: GPLv2+ and CC-BY-SA
@ -23,13 +23,6 @@ Patch0: distro-logo.patch
# https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/586
Patch1: 0001-region-Explicitly-update-LC_-even-when-matching-LANG.patch
# https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/587
Patch2: printers-provide-scheme-to-address-parser.patch
# https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/588
# https://bugzilla.redhat.com/show_bug.cgi?id=1756553
Patch3: 588.patch
BuildRequires: chrpath
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
@ -199,6 +192,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gnome-control-center
%dir %{_datadir}/gnome/wm-properties
%changelog
* Wed Nov 27 2019 Kalev Lember <klember@redhat.com> - 3.34.2-1
- Update to 3.34.2
* Thu Oct 10 2019 Adam Williamson <awilliam@redhat.com> - 3.34.1-4
- Add patch to fix crash when selecting display with no modes (rhbz#1756553)

View File

@ -1,106 +0,0 @@
From 8f169336e681a4dc5e7f9ded5e5ac46aaa001157 Mon Sep 17 00:00:00 2001
From: Marek Kasik <mkasik@redhat.com>
Date: Tue, 8 Oct 2019 18:04:30 +0200
Subject: [PATCH] printers: Provide a scheme to address parser
Add a scheme to the address which we test for correctness
by g_network_address_parse_uri(). It does not work without it.
Use "none" scheme if user did not entered one.
Use port number 0 if user did not specify any.
Fixes #679
---
panels/printers/pp-new-printer-dialog.c | 66 +++++++++++++++----------
1 file changed, 40 insertions(+), 26 deletions(-)
diff --git a/panels/printers/pp-new-printer-dialog.c b/panels/printers/pp-new-printer-dialog.c
index 651c0d8f3..81a4cc1f6 100644
--- a/panels/printers/pp-new-printer-dialog.c
+++ b/panels/printers/pp-new-printer-dialog.c
@@ -1607,43 +1607,57 @@ search_address (const gchar *text,
if (text && text[0] != '\0')
{
- g_autoptr(GSocketConnectable) conn;
+ g_autoptr(GSocketConnectable) conn = NULL;
+ g_autofree gchar *test_uri = NULL;
+ g_autofree gchar *test_port = NULL;
gchar *scheme = NULL;
gchar *host = NULL;
gint port;
parse_uri (text, &scheme, &host, &port);
- conn = g_network_address_parse_uri (host, port, NULL);
-
- if (host != NULL && conn != NULL)
+ if (host != NULL)
{
- THostSearchData *search_data;
+ if (port >= 0)
+ test_port = g_strdup_printf (":%d", port);
+ else
+ test_port = g_strdup ("");
- search_data = g_new (THostSearchData, 1);
- search_data->host_scheme = scheme;
- search_data->host_name = host;
- search_data->host_port = port;
- search_data->dialog = self;
+ test_uri = g_strdup_printf ("%s://%s%s",
+ scheme != NULL && scheme[0] != '\0' ? scheme : "none",
+ host,
+ test_port);
- if (self->host_search_timeout_id != 0)
+ conn = g_network_address_parse_uri (test_uri, 0, NULL);
+ if (conn != NULL)
{
- g_source_remove (self->host_search_timeout_id);
- self->host_search_timeout_id = 0;
- }
+ THostSearchData *search_data;
- if (delay_search)
- {
- self->host_search_timeout_id = g_timeout_add_full (G_PRIORITY_DEFAULT,
- HOST_SEARCH_DELAY,
- (GSourceFunc) search_for_remote_printers,
- search_data,
- (GDestroyNotify) search_for_remote_printers_free);
- }
- else
- {
- search_for_remote_printers (search_data);
- search_for_remote_printers_free (search_data);
+ search_data = g_new (THostSearchData, 1);
+ search_data->host_scheme = scheme;
+ search_data->host_name = host;
+ search_data->host_port = port;
+ search_data->dialog = self;
+
+ if (self->host_search_timeout_id != 0)
+ {
+ g_source_remove (self->host_search_timeout_id);
+ self->host_search_timeout_id = 0;
+ }
+
+ if (delay_search)
+ {
+ self->host_search_timeout_id = g_timeout_add_full (G_PRIORITY_DEFAULT,
+ HOST_SEARCH_DELAY,
+ (GSourceFunc) search_for_remote_printers,
+ search_data,
+ (GDestroyNotify) search_for_remote_printers_free);
+ }
+ else
+ {
+ search_for_remote_printers (search_data);
+ search_for_remote_printers_free (search_data);
+ }
}
}
}
--
2.21.0

View File

@ -1 +1 @@
SHA512 (gnome-control-center-3.34.1.tar.xz) = 19eb88839891a17f270371f23011bdc3a3bcce5aafc0304ae0a209a0cdab8fb868fcb7f2de7c81b2fa9b0166c0760745a4cba53f9e614d2c8154ceccbb616722
SHA512 (gnome-control-center-3.34.2.tar.xz) = 7b206ea1f95cb3c44c818dec756534e5ff99150ca974859a21b7670fa419ecafacc898b94d906636bab632b7311ad8de3105d2f88e77181c0db2091b48733835