unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: pavucontrol: Update to 3.0
@ 2015-08-17  7:45 Jeff Mickey
  2015-08-17  7:51 ` Jeff Mickey
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Mickey @ 2015-08-17  7:45 UTC (permalink / raw)
  To: guix-devel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: 0001-gnu-pavucontrol-Update-to-3.0.patch --]
[-- Type: text/x-patch, Size: 1181 bytes --]

From 198a627aaec3020b83da6818b7131ca0659fff41 Mon Sep 17 00:00:00 2001
From: Jeff Mickey <j@codemac.net>
Date: Mon, 17 Aug 2015 00:42:05 -0700
Subject: [PATCH] gnu: pavucontrol: Update to 3.0

* gnu/packages/pulseaudio.scm (pavucontrol): Update to 3.0
---
 gnu/packages/pulseaudio.scm | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 6eb16de..d832228 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -188,7 +188,7 @@ sound server.")
 (define-public pavucontrol
   (package
     (name "pavucontrol")
-    (version "2.0")
+    (version "3.0")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -197,8 +197,7 @@ sound server.")
                    ".tar.xz"))
              (sha256
               (base32
-               "02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2"))
-             (patches (list (search-patch "pavucontrol-sigsegv.patch")))))
+               "14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk"))))
     (build-system gnu-build-system)
     (inputs
      `(("libcanberra" ,libcanberra)
-- 
2.4.3


[-- Attachment #2: Type: text/plain, Size: 15 bytes --]


  //  codemac

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] gnu: pavucontrol: Update to 3.0
  2015-08-17  7:45 [PATCH] gnu: pavucontrol: Update to 3.0 Jeff Mickey
@ 2015-08-17  7:51 ` Jeff Mickey
  2015-08-20 15:53   ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Mickey @ 2015-08-17  7:51 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 38 bytes --]

Updated to remove unused patch file.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-pavucontrol-Update-to-3.0.patch --]
[-- Type: text/x-patch, Size: 9729 bytes --]

From 92a1d757059451b5a468f5dec9b85d8abca2651d Mon Sep 17 00:00:00 2001
From: Jeff Mickey <j@codemac.net>
Date: Mon, 17 Aug 2015 00:42:05 -0700
Subject: [PATCH] gnu: pavucontrol: Update to 3.0

* gnu/packages/pulseaudio.scm (pavucontrol): Update to 3.0.
* gnu/packages/patches/pavucontrol-sigsegv.patch: Removed.
---
 gnu/packages/patches/pavucontrol-sigsegv.patch | 203 -------------------------
 gnu/packages/pulseaudio.scm                    |   5 +-
 2 files changed, 2 insertions(+), 206 deletions(-)
 delete mode 100644 gnu/packages/patches/pavucontrol-sigsegv.patch

diff --git a/gnu/packages/patches/pavucontrol-sigsegv.patch b/gnu/packages/patches/pavucontrol-sigsegv.patch
deleted file mode 100644
index 094765b..0000000
--- a/gnu/packages/patches/pavucontrol-sigsegv.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-Work around a segmentation fault when starting pavucontrol.
-
-From a98200f2699d453a78c9dfbb85e307bbdb3e3dbf Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Thu, 28 Aug 2014 12:58:05 +0200
-Subject: [PATCH] Reference the widget before returning it from ::create
- methods
-
-Widgets (unlike Windows and Dialogs) returned by Gtk::Builder::get_widget*
-start owned by the GtkBuilder object, the idea being that they will get
-added to a container before the scope of the GtkBuilder object ends, and it
-thus automatically gets destroyed.
-
-But in the various ::create methods in pavucontrol, a pointer to the widget
-gets returned, so that it can be added to a cointainer by the caller.
-However as soon as the ::create method exits the GtkBuilder object owning
-the widget, and thus also the widget gets destroyed, and we end up returning
-free-ed memory.
-
-This commit fixes this by making all ::create methods take a reference on
-the widget before returning it, and having all the callers unreference the
-widget after adding it to a container.
-
-https://bugs.freedesktop.org/show_bug.cgi?id=83144
-https://bugzilla.redhat.com/show_bug.cgi?id=1133339
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- src/cardwidget.cc         | 1 +
- src/channelwidget.cc      | 1 +
- src/devicewidget.cc       | 1 +
- src/mainwindow.cc         | 6 ++++++
- src/rolewidget.cc         | 1 +
- src/sinkinputwidget.cc    | 1 +
- src/sinkwidget.cc         | 1 +
- src/sourceoutputwidget.cc | 1 +
- src/sourcewidget.cc       | 1 +
- src/streamwidget.cc       | 1 +
- 10 files changed, 15 insertions(+)
-
-diff --git a/src/cardwidget.cc b/src/cardwidget.cc
-index c79ac6c..28c558d 100644
---- a/src/cardwidget.cc
-+++ b/src/cardwidget.cc
-@@ -45,6 +45,7 @@ CardWidget* CardWidget::create() {
-     CardWidget* w;
-     Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "cardWidget");
-     x->get_widget_derived("cardWidget", w);
-+    w->reference();
-     return w;
- }
- 
-diff --git a/src/channelwidget.cc b/src/channelwidget.cc
-index 6f59de2..fe94c11 100644
---- a/src/channelwidget.cc
-+++ b/src/channelwidget.cc
-@@ -53,6 +53,7 @@ ChannelWidget* ChannelWidget::create() {
-     x->add_from_file(GLADE_FILE, "adjustment1");
-     x->add_from_file(GLADE_FILE, "channelWidget");
-     x->get_widget_derived("channelWidget", w);
-+    w->reference();
-     return w;
- }
- 
-diff --git a/src/devicewidget.cc b/src/devicewidget.cc
-index 1a148ee..813780f 100644
---- a/src/devicewidget.cc
-+++ b/src/devicewidget.cc
-@@ -89,6 +89,7 @@ void DeviceWidget::setChannelMap(const pa_channel_map &m, bool can_decibel) {
-         snprintf(text, sizeof(text), "<b>%s</b>", pa_channel_position_to_pretty_string(m.map[i]));
-         cw->channelLabel->set_markup(text);
-         channelsVBox->pack_start(*cw, false, false, 0);
-+        cw->unreference();
-     }
-     channelWidgets[m.channels-1]->last = true;
- 
-diff --git a/src/mainwindow.cc b/src/mainwindow.cc
-index 5a42318..5d205fb 100644
---- a/src/mainwindow.cc
-+++ b/src/mainwindow.cc
-@@ -300,6 +300,7 @@ void MainWindow::updateCard(const pa_card_info &info) {
-     else {
-         cardWidgets[info.index] = w = CardWidget::create();
-         cardsVBox->pack_start(*w, false, false, 0);
-+        w->unreference();
-         w->index = info.index;
-         is_new = true;
-     }
-@@ -416,6 +417,7 @@ bool MainWindow::updateSink(const pa_sink_info &info) {
-         sinkWidgets[info.index] = w = SinkWidget::create(this);
-         w->setChannelMap(info.channel_map, !!(info.flags & PA_SINK_DECIBEL_VOLUME));
-         sinksVBox->pack_start(*w, false, false, 0);
-+        w->unreference();
-         w->index = info.index;
-         w->monitor_index = info.monitor_source;
-         is_new = true;
-@@ -570,6 +572,7 @@ void MainWindow::updateSource(const pa_source_info &info) {
-         sourceWidgets[info.index] = w = SourceWidget::create(this);
-         w->setChannelMap(info.channel_map, !!(info.flags & PA_SOURCE_DECIBEL_VOLUME));
-         sourcesVBox->pack_start(*w, false, false, 0);
-+        w->unreference();
-         w->index = info.index;
-         is_new = true;
- 
-@@ -686,6 +689,7 @@ void MainWindow::updateSinkInput(const pa_sink_input_info &info) {
-         sinkInputWidgets[info.index] = w = SinkInputWidget::create(this);
-         w->setChannelMap(info.channel_map, true);
-         streamsVBox->pack_start(*w, false, false, 0);
-+        w->unreference();
-         w->index = info.index;
-         w->clientIndex = info.client;
-         is_new = true;
-@@ -743,6 +747,7 @@ void MainWindow::updateSourceOutput(const pa_source_output_info &info) {
-         w->setChannelMap(info.channel_map, true);
- #endif
-         recsVBox->pack_start(*w, false, false, 0);
-+        w->unreference();
-         w->index = info.index;
-         w->clientIndex = info.client;
-         is_new = true;
-@@ -838,6 +843,7 @@ bool MainWindow::createEventRoleWidget() {
- 
-     eventRoleWidget = RoleWidget::create();
-     streamsVBox->pack_start(*eventRoleWidget, false, false, 0);
-+    eventRoleWidget->unreference();
-     eventRoleWidget->role = "sink-input-by-media-role:event";
-     eventRoleWidget->setChannelMap(cm, true);
- 
-diff --git a/src/rolewidget.cc b/src/rolewidget.cc
-index fd3196c..db07f92 100644
---- a/src/rolewidget.cc
-+++ b/src/rolewidget.cc
-@@ -40,6 +40,7 @@ RoleWidget* RoleWidget::create() {
-     RoleWidget* w;
-     Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget");
-     x->get_widget_derived("streamWidget", w);
-+    w->reference();
-     return w;
- }
- 
-diff --git a/src/sinkinputwidget.cc b/src/sinkinputwidget.cc
-index b88b718..5a0ba39 100644
---- a/src/sinkinputwidget.cc
-+++ b/src/sinkinputwidget.cc
-@@ -43,6 +43,7 @@ SinkInputWidget* SinkInputWidget::create(MainWindow* mainWindow) {
-     Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget");
-     x->get_widget_derived("streamWidget", w);
-     w->init(mainWindow);
-+    w->reference();
-     return w;
- }
- 
-diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
-index 7f4902c..f682cf2 100644
---- a/src/sinkwidget.cc
-+++ b/src/sinkwidget.cc
-@@ -82,6 +82,7 @@ SinkWidget* SinkWidget::create(MainWindow* mainWindow) {
-     Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "deviceWidget");
-     x->get_widget_derived("deviceWidget", w);
-     w->init(mainWindow, "sink");
-+    w->reference();
-     return w;
- }
- 
-diff --git a/src/sourceoutputwidget.cc b/src/sourceoutputwidget.cc
-index 827c5a8..4d915b0 100644
---- a/src/sourceoutputwidget.cc
-+++ b/src/sourceoutputwidget.cc
-@@ -49,6 +49,7 @@ SourceOutputWidget* SourceOutputWidget::create(MainWindow* mainWindow) {
-     Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget");
-     x->get_widget_derived("streamWidget", w);
-     w->init(mainWindow);
-+    w->reference();
-     return w;
- }
- 
-diff --git a/src/sourcewidget.cc b/src/sourcewidget.cc
-index 5e4ecf0..fde5333 100644
---- a/src/sourcewidget.cc
-+++ b/src/sourcewidget.cc
-@@ -35,6 +35,7 @@ SourceWidget* SourceWidget::create(MainWindow* mainWindow) {
-     Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "deviceWidget");
-     x->get_widget_derived("deviceWidget", w);
-     w->init(mainWindow, "source");
-+    w->reference();
-     return w;
- }
- 
-diff --git a/src/streamwidget.cc b/src/streamwidget.cc
-index 94363ec..e602cce 100644
---- a/src/streamwidget.cc
-+++ b/src/streamwidget.cc
-@@ -77,6 +77,7 @@ void StreamWidget::setChannelMap(const pa_channel_map &m, bool can_decibel) {
-         snprintf(text, sizeof(text), "<b>%s</b>", pa_channel_position_to_pretty_string(m.map[i]));
-         cw->channelLabel->set_markup(text);
-         channelsVBox->pack_start(*cw, false, false, 0);
-+        cw->unreference();
-     }
-     channelWidgets[m.channels-1]->last = true;
-     channelWidgets[m.channels-1]->setBaseVolume(PA_VOLUME_NORM);
--- 
-2.1.0
-
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 6eb16de..d832228 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -188,7 +188,7 @@ sound server.")
 (define-public pavucontrol
   (package
     (name "pavucontrol")
-    (version "2.0")
+    (version "3.0")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -197,8 +197,7 @@ sound server.")
                    ".tar.xz"))
              (sha256
               (base32
-               "02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2"))
-             (patches (list (search-patch "pavucontrol-sigsegv.patch")))))
+               "14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk"))))
     (build-system gnu-build-system)
     (inputs
      `(("libcanberra" ,libcanberra)
-- 
2.4.3


[-- Attachment #3: Type: text/plain, Size: 15 bytes --]


  //  codemac

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] gnu: pavucontrol: Update to 3.0
  2015-08-17  7:51 ` Jeff Mickey
@ 2015-08-20 15:53   ` Ludovic Courtès
  0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2015-08-20 15:53 UTC (permalink / raw)
  To: Jeff Mickey; +Cc: guix-devel

Jeff Mickey <j@codemac.net> skribis:

> From 92a1d757059451b5a468f5dec9b85d8abca2651d Mon Sep 17 00:00:00 2001
> From: Jeff Mickey <j@codemac.net>
> Date: Mon, 17 Aug 2015 00:42:05 -0700
> Subject: [PATCH] gnu: pavucontrol: Update to 3.0
>
> * gnu/packages/pulseaudio.scm (pavucontrol): Update to 3.0.
> * gnu/packages/patches/pavucontrol-sigsegv.patch: Removed.

I removed the patch from gnu-system.am, adjusted the commit log
accordingly, and applied it.  Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-08-20 16:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-17  7:45 [PATCH] gnu: pavucontrol: Update to 3.0 Jeff Mickey
2015-08-17  7:51 ` Jeff Mickey
2015-08-20 15:53   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).