mirror of
https://git.freebsd.org/ports.git
synced 2025-06-03 20:06:29 -04:00
134 lines
5 KiB
Diff
134 lines
5 KiB
Diff
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);
|