diff --git a/gnu/local.mk b/gnu/local.mk index ecd60f9c91..4532dac66d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -947,7 +947,6 @@ dist_patch_DATA = \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ %D%/packages/patches/ceph-boost-compat.patch \ %D%/packages/patches/ceph-rocksdb-compat.patch \ - %D%/packages/patches/cheese-vala-update.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c571682e8f..13b046bca9 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10723,7 +10723,7 @@ (define-public gnome-video-effects (define-public cheese (package (name "cheese") - (version "3.38.0") + (version "41.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -10731,8 +10731,7 @@ (define-public cheese version ".tar.xz")) (sha256 (base32 - "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8")) - (patches (search-patches "cheese-vala-update.patch")))) + "1y92glc0d6w323x2bdbc0gdh1jdffvkbv6cwlwm1rx0wgvv1svqh")))) (arguments `(#:glib-or-gtk? #t ;; Tests require GDK. diff --git a/gnu/packages/patches/cheese-vala-update.patch b/gnu/packages/patches/cheese-vala-update.patch deleted file mode 100644 index cb18952ce4..0000000000 --- a/gnu/packages/patches/cheese-vala-update.patch +++ /dev/null @@ -1,180 +0,0 @@ -Taken from upstream: -https://gitlab.gnome.org/GNOME/cheese/-/commit/7cf6268e54620bbbe5e6e61800c50fb0cb4bea57.patch. - -From 7cf6268e54620bbbe5e6e61800c50fb0cb4bea57 Mon Sep 17 00:00:00 2001 From: -=?UTF-8?q?Corentin=20No=C3=ABl?= Date: Fri, 16 Oct -2020 19:56:26 +0200 Subject: [PATCH] Change GLib.PtrArray into -GLib.GenericArray - -This is the vala-friendly way of handling GPtrArray. -Fix several memory leaks on the go and unnecessary reference increase. ---- - src/cheese-preferences.vala | 26 ++++++++++++-------------- - src/cheese-window.vala | 22 +++++++++++----------- - src/vapi/cheese-common.vapi | 2 +- - 3 files changed, 24 insertions(+), 26 deletions(-) - -diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala -index f56af7e0..80a92431 100644 ---- a/src/cheese-preferences.vala -+++ b/src/cheese-preferences.vala -@@ -100,7 +100,7 @@ public PreferencesDialog (Cheese.Camera camera) - */ - private void initialize_camera_devices () - { -- unowned GLib.PtrArray devices = camera.get_camera_devices (); -+ GLib.GenericArray devices = camera.get_camera_devices (); - camera_model = new Gtk.ListStore (2, typeof (string), typeof (Cheese.CameraDevice)); - - source_combo.model = camera_model; -@@ -357,13 +357,13 @@ public PreferencesDialog (Cheese.Camera camera) - */ - private void on_camera_update_num_camera_devices () - { -- unowned GLib.PtrArray devices = camera.get_camera_devices (); -- Cheese.CameraDevice dev; -+ GLib.GenericArray devices = camera.get_camera_devices (); -+ unowned Cheese.CameraDevice dev; - - // Add (if) / Remove (else) a camera device. -- if (devices.len > camera_model.iter_n_children (null)) -+ if (devices.length > camera_model.iter_n_children (null)) - { -- dev = (Cheese.CameraDevice) devices.index (devices.len - 1); -+ dev = devices.get (devices.length - 1); - add_camera_device(dev); - } - else -@@ -382,12 +382,11 @@ public PreferencesDialog (Cheese.Camera camera) - bool device_removed = false; - devices.foreach ((device) => - { -- var old_device = (Cheese.CameraDevice) device; - Cheese.CameraDevice new_device; - camera_model.get (iter, 1, out new_device, -1); - - // Found the device that was removed. -- if (old_device != new_device) -+ if (device != new_device) - { - remove_camera_device (iter, new_device, active_device); - device_removed = true; -@@ -418,17 +417,16 @@ public PreferencesDialog (Cheese.Camera camera) - * - * @param device a Cheese.CameraDevice to add to the device combo box model - */ -- private void add_camera_device (void *device) -+ private void add_camera_device (Cheese.CameraDevice device) - { - TreeIter iter; -- Cheese.CameraDevice dev = (Cheese.CameraDevice) device; - - camera_model.append (out iter); - camera_model.set (iter, -- 0, dev.get_name (), -- 1, dev); -+ 0, device.get_name (), -+ 1, device); - -- if (camera.get_selected_device () == dev) -+ if (camera.get_selected_device () == device) - source_combo.set_active_iter (iter); - - if (camera_model.iter_n_children (null) > 1) -@@ -445,12 +443,12 @@ public PreferencesDialog (Cheese.Camera camera) - private void remove_camera_device (TreeIter iter, Cheese.CameraDevice device_node, - Cheese.CameraDevice active_device_node) - { -- unowned GLib.PtrArray devices = camera.get_camera_devices (); -+ GLib.GenericArray devices = camera.get_camera_devices (); - - // Check if the camera that we want to remove, is the active one - if (device_node == active_device_node) - { -- if (devices.len > 0) -+ if (devices.length > 0) - set_new_available_camera_device (iter); - else - this.hide (); -diff --git a/src/cheese-window.vala b/src/cheese-window.vala -index ff069808..cc119b68 100644 ---- a/src/cheese-window.vala -+++ b/src/cheese-window.vala -@@ -1216,9 +1216,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow - */ - public void on_switch_camera_clicked () - { -- Cheese.CameraDevice selected; -- Cheese.CameraDevice next = null; -- GLib.PtrArray cameras; -+ unowned Cheese.CameraDevice selected; -+ unowned Cheese.CameraDevice next = null; -+ GLib.GenericArray cameras; - uint i; - - if (camera == null) -@@ -1235,9 +1235,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow - - cameras = camera.get_camera_devices (); - -- for (i = 0; i < cameras.len; i++) -+ for (i = 0; i < cameras.length; i++) - { -- next = (Cheese.CameraDevice )cameras.index (i); -+ next = cameras.get (i); - - if (next == selected) - { -@@ -1245,13 +1245,13 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow - } - } - -- if (i + 1 < cameras.len) -+ if (i + 1 < cameras.length) - { -- next = (Cheese.CameraDevice )cameras.index (i + 1); -+ next = cameras.get (i + 1); - } - else - { -- next = (Cheese.CameraDevice )cameras.index (0); -+ next = cameras.get (0); - } - - if (next == selected) -@@ -1269,8 +1269,8 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow - */ - public void set_switch_camera_button_state () - { -- Cheese.CameraDevice selected; -- GLib.PtrArray cameras; -+ unowned Cheese.CameraDevice selected; -+ GLib.GenericArray cameras; - - if (camera == null) - { -@@ -1288,7 +1288,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow - - cameras = camera.get_camera_devices (); - -- if (cameras.len > 1) -+ if (cameras.length > 1) - { - switch_camera_button.set_visible (true); - return; -diff --git a/src/vapi/cheese-common.vapi b/src/vapi/cheese-common.vapi -index 6517cdfc..e4ae7ad3 100644 ---- a/src/vapi/cheese-common.vapi -+++ b/src/vapi/cheese-common.vapi -@@ -35,7 +35,7 @@ namespace Cheese - [CCode (has_construct_function = false)] - public Camera (Clutter.Actor video_texture, string camera_device_node, int x_resolution, int y_resolution); - public bool get_balance_property_range (string property, double min, double max, double def); -- public unowned GLib.PtrArray get_camera_devices (); -+ public GLib.GenericArray get_camera_devices (); - public unowned Cheese.VideoFormat get_current_video_format (); - public int get_num_camera_devices (); - public unowned Cheese.CameraDevice get_selected_device (); --- -GitLab -