FreeBSD Bugzilla – Attachment 151306 Details for
Bug 192571
[patch] audio/pavucontrol: update to 2.0
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch fixes crash with gtkmm30
pavucontrol.diff (text/plain), 12.32 KB, created by
Olivier Duchateau
on 2015-01-03 22:01:45 UTC
(
hide
)
Description:
Patch fixes crash with gtkmm30
Filename:
MIME Type:
Creator:
Olivier Duchateau
Created:
2015-01-03 22:01:45 UTC
Size:
12.32 KB
patch
obsolete
>Index: Makefile >=================================================================== >--- Makefile (révision 376173) >+++ Makefile (copie de travail) >@@ -2,24 +2,50 @@ > # $FreeBSD$ > > PORTNAME= pavucontrol >-PORTVERSION= 0.9.10 >-PORTREVISION= 3 >+PORTVERSION= 2.0 > CATEGORIES= audio >-MASTER_SITES= http://0pointer.de/lennart/projects/${PORTNAME}/ >+MASTER_SITES= http://freedesktop.org/software/pulseaudio/${PORTNAME}/ > > MAINTAINER= romain@FreeBSD.org > COMMENT= GTK mixer for PulseAudio > >-LIB_DEPENDS= libglademm-2.4.so:${PORTSDIR}/devel/libglademm24 \ >- libpulse.so:${PORTSDIR}/audio/pulseaudio \ >- libcanberra.so:${PORTSDIR}/audio/libcanberra >+LICENSE= GPLv2 >+LICENSE_FILE= ${WRKSRC}/LICENSE > >+LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio >+ > GNU_CONFIGURE= yes >-USES= gettext gmake pkgconfig >-USE_GNOME= intltool >+USES= gmake pkgconfig gettext tar:xz >+USE_GNOME= glibmm intltool libsigc++20 > >+OPTIONS_SUB= yes >+OPTIONS_SINGLE= GTK >+OPTIONS_SINGLE_GTK= GTK2 GTK3 >+OPTIONS_DEFAULT= GTK2 >+ > CONFIGURE_ARGS= --disable-lynx >-CPPFLAGS+= -I${LOCALBASE}/include >-LIBS+= -L${LOCALBASE}/lib > >+GTK2_USE= GNOME=gtkmm24 >+GTK2_LIB_DEPENDS= libcanberra.so:${PORTSDIR}/audio/libcanberra >+GTK2_CONFIGURE_ON= --disable-gtk3 >+ >+GTK3_USE= GNOME=gtkmm30 >+GTK3_LIB_DEPENDS= libcanberra-gtk3.so:${PORTSDIR}/audio/libcanberra-gtk3 >+ >+.include <bsd.port.options.mk> >+ >+.if ${PORT_OPTIONS:MGTK2} >+EXTRA_PATCHES= ${FILESDIR}/extra-patch-support-gtkmm-24.patch >+.endif >+ >+.if ${PORT_OPTIONS:MGTK3} >+EXTRA_PATCHES= ${FILESDIR}/extra-patch-support-gtkmm-30.patch \ >+ ${FILESDIR}/extra-patch-src_pavucontrol.glade >+.endif >+ >+post-patch: >+# Install locales files in right place >+ ${REINPLACE_CMD} -e 's|[$$][(]DATADIRNAME[)]|share|' \ >+ ${WRKSRC}/po/Makefile.in.in >+ > .include <bsd.port.mk> >Index: distinfo >=================================================================== >--- distinfo (révision 376173) >+++ distinfo (copie de travail) >@@ -1,2 +1,2 @@ >-SHA256 (pavucontrol-0.9.10.tar.gz) = 7ee96d2ddc28f53e392a1bc51a7316d2a9087ea2ad18e611f6f6725e756a5a3c >-SIZE (pavucontrol-0.9.10.tar.gz) = 227735 >+SHA256 (pavucontrol-2.0.tar.xz) = 22f29dd81b4a1a34ec7bffe9b027aff2a37fc76ccded4539d43a8c126a39470b >+SIZE (pavucontrol-2.0.tar.xz) = 151560 >Index: files/extra-patch-src_pavucontrol.glade >=================================================================== >--- files/extra-patch-src_pavucontrol.glade (révision 0) >+++ files/extra-patch-src_pavucontrol.glade (copie de travail) >@@ -0,0 +1,52 @@ >+From: Hans de Goede <hdegoede@redhat.com> >+Date: Fri, 29 Aug 2014 09:42:04 +0200 >+Subject: Do not instantiate cardwidget, devicewidget and rolewidget with >+ a type of EventBox >+ >+--- src/pavucontrol.glade.orig 2012-12-17 09:50:42 UTC >++++ src/pavucontrol.glade >+@@ -12,12 +12,12 @@ >+ <property name="can_focus">False</property> >+ <property name="title" translatable="yes">window1</property> >+ <child> >+- <object class="GtkEventBox" id="cardWidget"> >++ <object class="GtkEventBox" id="cardWidgetBox"> >+ <property name="visible">True</property> >+ <property name="can_focus">False</property> >+ <property name="visible_window">False</property> >+ <child> >+- <object class="GtkVBox" id="cardWidget1"> >++ <object class="GtkVBox" id="cardWidget"> >+ <property name="visible">True</property> >+ <property name="can_focus">False</property> >+ <child> >+@@ -202,12 +202,12 @@ >+ <property name="can_focus">False</property> >+ <property name="title" translatable="yes">window1</property> >+ <child> >+- <object class="GtkEventBox" id="deviceWidget"> >++ <object class="GtkEventBox" id="deviceWidgetBox"> >+ <property name="visible">True</property> >+ <property name="can_focus">False</property> >+ <property name="visible_window">False</property> >+ <child> >+- <object class="GtkVBox" id="streamWidget2"> >++ <object class="GtkVBox" id="deviceWidget"> >+ <property name="visible">True</property> >+ <property name="can_focus">False</property> >+ <child> >+@@ -1316,12 +1316,12 @@ >+ <property name="can_focus">False</property> >+ <property name="title" translatable="yes">window1</property> >+ <child> >+- <object class="GtkEventBox" id="streamWidget"> >++ <object class="GtkEventBox" id="streamWidgetBox"> >+ <property name="visible">True</property> >+ <property name="can_focus">False</property> >+ <property name="visible_window">False</property> >+ <child> >+- <object class="GtkVBox" id="streamWidget2"> >++ <object class="GtkVBox" id="streamWidget"> >+ <property name="visible">True</property> >+ <property name="can_focus">False</property> >+ <child> > >Index: files/extra-patch-support-gtkmm-24.patch >=================================================================== >--- files/extra-patch-support-gtkmm-24.patch (révision 0) >+++ files/extra-patch-support-gtkmm-24.patch (copie de travail) >@@ -0,0 +1,28 @@ >+From: Alam Arias <alam.gbc@gmail.com> >+Date: Fri, 8 Mar 2013 14:27:02 -0500 >+Subject: added back support for gtkmm-2.4 builds >+ >+--- src/devicewidget.cc.orig 2012-12-17 09:50:42 UTC >++++ src/devicewidget.cc >+@@ -63,8 +63,8 @@ DeviceWidget::DeviceWidget(BaseObjectTyp >+ for (unsigned i = 0; i < PA_CHANNELS_MAX; i++) >+ channelWidgets[i] = NULL; >+ >+- offsetAdjustment = Gtk::Adjustment::create(0.0, -2000.0, 2000.0, 10.0, 50.0, 0.0); >+- offsetButton->configure(offsetAdjustment, 0, 2); >++ offsetAdjustment = new Gtk::Adjustment(0.0, -2000.0, 2000.0, 10.0, 50.0, 0.0); >++ offsetButton->configure(*offsetAdjustment, 0.0, 2); >+ } >+ >+ void DeviceWidget::init(MainWindow* mainWindow, Glib::ustring deviceType) { >+--- src/devicewidget.h.orig 2012-12-17 09:17:56 UTC >++++ src/devicewidget.h >+@@ -98,7 +98,7 @@ protected: >+ Gtk::HBox *portSelect, *offsetSelect; >+ Gtk::ComboBox *portList; >+ Glib::RefPtr<Gtk::ListStore> treeModel; >+- Glib::RefPtr<Gtk::Adjustment> offsetAdjustment; >++ Gtk::Adjustment *offsetAdjustment; >+ >+ private: >+ Glib::ustring mDeviceType; > >Index: files/extra-patch-support-gtkmm-30.patch >=================================================================== >--- files/extra-patch-support-gtkmm-30.patch (révision 0) >+++ files/extra-patch-support-gtkmm-30.patch (copie de travail) >@@ -0,0 +1,134 @@ >+From: Hans de Goede <hdegoede@redhat.com> >+Date: Thu, 28 Aug 2014 12:58:05 +0200 >+Subject: Reference the widget before returning it from ::create methods >+ >+--- src/cardwidget.cc.orig 2011-08-12 14:18:44 UTC >++++ 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; >+ } >+ >+--- src/channelwidget.cc.orig 2011-03-10 07:39:25 UTC >++++ 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; >+ } >+ >+--- src/mainwindow.cc.orig 2012-12-17 09:19:04 UTC >++++ src/mainwindow.cc >+@@ -298,6 +298,7 @@ void MainWindow::updateCard(const pa_car >+ else { >+ cardWidgets[info.index] = w = CardWidget::create(); >+ cardsVBox->pack_start(*w, false, false, 0); >++ w->unreference(); >+ w->index = info.index; >+ is_new = true; >+ } >+@@ -414,6 +415,7 @@ bool MainWindow::updateSink(const pa_sin >+ 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; >+@@ -567,6 +569,7 @@ void MainWindow::updateSource(const pa_s >+ 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; >+ >+@@ -682,6 +685,7 @@ void MainWindow::updateSinkInput(const p >+ 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; >+@@ -737,6 +741,7 @@ void MainWindow::updateSourceOutput(cons >+ 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; >+@@ -830,6 +835,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); >+ >+--- src/rolewidget.cc.orig 2011-03-10 07:39:25 UTC >++++ 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; >+ } >+ >+--- src/sinkinputwidget.cc.orig 2011-03-10 07:39:25 UTC >++++ src/sinkinputwidget.cc >+@@ -43,6 +43,7 @@ SinkInputWidget* SinkInputWidget::create >+ 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; >+ } >+ >+--- src/sinkwidget.cc.orig 2012-12-17 09:50:42 UTC >++++ src/sinkwidget.cc >+@@ -70,6 +70,7 @@ SinkWidget* SinkWidget::create(MainWindo >+ 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; >+ } >+ >+--- src/sourceoutputwidget.cc.orig 2011-08-08 13:33:17 UTC >++++ src/sourceoutputwidget.cc >+@@ -49,6 +49,7 @@ SourceOutputWidget* SourceOutputWidget:: >+ 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; >+ } >+ >+--- src/sourcewidget.cc.orig 2011-03-10 07:39:25 UTC >++++ src/sourcewidget.cc >+@@ -35,6 +35,7 @@ SourceWidget* SourceWidget::create(MainW >+ 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; >+ } >+ >+--- src/streamwidget.cc.orig 2011-03-10 07:39:25 UTC >++++ src/streamwidget.cc >+@@ -77,6 +77,7 @@ void StreamWidget::setChannelMap(const p >+ 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); > >Index: pkg-descr >=================================================================== >--- pkg-descr (révision 376173) >+++ pkg-descr (copie de travail) >@@ -3,4 +3,4 @@ > tools this one allows you to control both the volume of hardware devices and of > each playback stream separately. > >-WWW: http://0pointer.de/lennart/projects/pavucontrol/ >+WWW: http://freedesktop.org/software/pulseaudio/pavucontrol/ >Index: pkg-plist >=================================================================== >--- pkg-plist (révision 376173) >+++ pkg-plist (copie de travail) >@@ -1,8 +1,8 @@ > bin/pavucontrol > share/applications/pavucontrol.desktop >-share/doc/pavucontrol/README >-share/doc/pavucontrol/README.html >-share/doc/pavucontrol/style.css >+%%DOCSDIR%%/README >+%%DOCSDIR%%/README.html >+%%DOCSDIR%%/style.css > share/locale/as/LC_MESSAGES/pavucontrol.mo > share/locale/bn_IN/LC_MESSAGES/pavucontrol.mo > share/locale/ca/LC_MESSAGES/pavucontrol.mo
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 192571
:
145648
|
146085
|
151298
| 151306