import gnome-system-monitor-40.1-3.el9
This commit is contained in:
		
							parent
							
								
									3e1a130c6f
								
							
						
					
					
						commit
						1e4002defa
					
				| @ -0,0 +1,78 @@ | ||||
| From cc5200c00aa82894a97ac0a89efe19fcb9db5260 Mon Sep 17 00:00:00 2001 | ||||
| From: Sergey Bugaev <bugaevc@gmail.com> | ||||
| Date: Sat, 1 May 2021 14:23:33 +0300 | ||||
| Subject: [PATCH] Fix crash when changing the number of points | ||||
| 
 | ||||
| std::rotate accepts an "end" iterator that points one after the last | ||||
| item. In plain C, it's possible to create a "one past end" pointer by | ||||
| using the following idiom: &arr[size], which is equivalent to arr + size. | ||||
| No actual pointer dereference happens in this case. In C++, vector[index] | ||||
| always causes a vector.operator[](index) invocation; it is undefined | ||||
| behavior to use this method with out-of-bounds indexes. Therefore, this | ||||
| idiom cannot be used in C++ to get a "one past end" iterator. Instead, | ||||
| C++ provides .begin() and .end() methods. Use those instead. | ||||
| 
 | ||||
| Fixes https://gitlab.gnome.org/GNOME/gnome-system-monitor/-/issues/197 | ||||
| Fixes https://gitlab.gnome.org/GNOME/gnome-system-monitor/-/issues/181 | ||||
| ---
 | ||||
|  src/load-graph.cpp | 23 +++++++++-------------- | ||||
|  1 file changed, 9 insertions(+), 14 deletions(-) | ||||
| 
 | ||||
| diff --git a/src/load-graph.cpp b/src/load-graph.cpp
 | ||||
| index b18bc61c..aa28589f 100644
 | ||||
| --- a/src/load-graph.cpp
 | ||||
| +++ b/src/load-graph.cpp
 | ||||
| @@ -792,9 +792,9 @@ void
 | ||||
|  load_graph_update_data (LoadGraph *graph) | ||||
|  { | ||||
|      // Rotate data one element down. | ||||
| -    std::rotate(&graph->data[0],
 | ||||
| -                &graph->data[graph->num_points - 2],
 | ||||
| -                &graph->data[graph->num_points - 1]);
 | ||||
| +    std::rotate(graph->data.begin(),
 | ||||
| +                graph->data.end() - 1,
 | ||||
| +                graph->data.end());
 | ||||
|   | ||||
|      // Update rotation counter. | ||||
|      graph->latest = (graph->latest + 1) % graph->num_points; | ||||
| @@ -1061,31 +1061,26 @@ void
 | ||||
|  load_graph_change_num_points(LoadGraph *graph, | ||||
|                               guint new_num_points) | ||||
|  { | ||||
| -    //Don't do anything if the value didn't change.
 | ||||
| +    // Don't do anything if the value didn't change.
 | ||||
|      if (graph->num_points == new_num_points) | ||||
|          return; | ||||
|   | ||||
|      // Sort the values in the data_block vector in the order they were accessed in by the pointers in data. | ||||
| -    std::rotate(&graph->data_block[0],
 | ||||
| -                &graph->data_block[(graph->num_points - graph->latest) * graph->n],
 | ||||
| -                &graph->data_block[graph->num_points * graph->n]);
 | ||||
| +    std::rotate(graph->data_block.begin(),
 | ||||
| +                graph->data_block.begin() + (graph->num_points - graph->latest) * graph->n,
 | ||||
| +                graph->data_block.end());
 | ||||
|   | ||||
|      // Reset rotation counter. | ||||
|      graph->latest = 0; | ||||
|   | ||||
|      // Resize the vectors to the new amount of data points. | ||||
| +    // Fill the new values with -1.
 | ||||
|      graph->data.resize(new_num_points); | ||||
| -    graph->data_block.resize(graph->n * new_num_points);
 | ||||
| +    graph->data_block.resize(graph->n * new_num_points, -1.0);
 | ||||
|      if (graph->type == LOAD_GRAPH_NET) { | ||||
|          graph->net.values.resize(new_num_points); | ||||
|      } | ||||
|   | ||||
| -    // Fill the new values with -1 instead of 0 if the vectors got bigger.
 | ||||
| -    if (new_num_points > graph->num_points) {
 | ||||
| -        std::fill(&graph->data_block[graph->n * graph->num_points],
 | ||||
| -                  &graph->data_block[graph->n * new_num_points], -1.0);
 | ||||
| -    }
 | ||||
| -
 | ||||
|      // Replace the pointers in data, to match the new data_block values. | ||||
|      for (guint i = 0; i < new_num_points; ++i) { | ||||
|          graph->data[i] = &graph->data_block[0] + i * graph->n; | ||||
| -- 
 | ||||
| 2.36.1 | ||||
| 
 | ||||
							
								
								
									
										26
									
								
								SOURCES/gnome-system-monitor-40.1-help-shortcut.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								SOURCES/gnome-system-monitor-40.1-help-shortcut.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,26 @@ | ||||
| From f3866651321e0bc4ba79dc62a44ef7caea785e70 Mon Sep 17 00:00:00 2001 | ||||
| From: David King <amigadave@amigadave.com> | ||||
| Date: Mon, 25 Apr 2022 14:17:43 +0100 | ||||
| Subject: [PATCH] application: Fix help overlay shortcut | ||||
| 
 | ||||
| https://gitlab.gnome.org/GNOME/gnome-system-monitor/-/issues/202 | ||||
| https://bugzilla.redhat.com/show_bug.cgi?id=2073741 | ||||
| ---
 | ||||
|  src/application.cpp | 1 + | ||||
|  1 file changed, 1 insertion(+) | ||||
| 
 | ||||
| diff --git a/src/application.cpp b/src/application.cpp
 | ||||
| index e66408a1..196b87ee 100644
 | ||||
| --- a/src/application.cpp
 | ||||
| +++ b/src/application.cpp
 | ||||
| @@ -511,6 +511,7 @@ void GsmApplication::on_startup()
 | ||||
|      add_accelerator("<Alt>Return", "win.process-properties", NULL); | ||||
|      add_accelerator("<Primary>f", "win.search", g_variant_new_boolean (TRUE)); | ||||
|      add_accelerator("F1", "app.help", NULL); | ||||
| +    add_accelerator("<Primary>question", "win.show-help-overlay", NULL);
 | ||||
|   | ||||
|      Gtk::Window::set_default_icon_name ("org.gnome.SystemMonitor"); | ||||
|   | ||||
| -- 
 | ||||
| 2.36.1 | ||||
| 
 | ||||
| @ -4,12 +4,16 @@ | ||||
| 
 | ||||
| Name:           gnome-system-monitor | ||||
| Version:        40.1 | ||||
| Release:        2%{?dist} | ||||
| Release:        3%{?dist} | ||||
| Summary:        Process and resource monitor | ||||
| 
 | ||||
| License:        GPLv2+ | ||||
| URL:            https://wiki.gnome.org/Apps/SystemMonitor | ||||
| Source0:        https://download.gnome.org/sources/%{name}/40/%{name}-%{tarball_version}.tar.xz | ||||
| # https://bugzilla.redhat.com/show_bug.cgi?id=2073741 | ||||
| Patch0:         gnome-system-monitor-40.1-help-shortcut.patch | ||||
| # https://bugzilla.redhat.com/show_bug.cgi?id=2062802 | ||||
| Patch1:         gnome-system-monitor-40.1-changing-points-crash.patch | ||||
| 
 | ||||
| BuildRequires:  gcc | ||||
| BuildRequires:  gcc-c++ | ||||
| @ -66,6 +70,10 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/gnome-system-monit | ||||
| %{_libexecdir}/gnome-system-monitor/ | ||||
| 
 | ||||
| %changelog | ||||
| * Wed May 11 2022 David King <amigadave@amigadave.com> - 40.1-3 | ||||
| - Fix help overlay shortcut (#2073741) | ||||
| - Fix crash when changing data points (#2062802) | ||||
| 
 | ||||
| * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 40.1-2 | ||||
| - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags | ||||
|   Related: rhbz#1991688 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user