1 |
ssuominen 10/07/29 17:49:52 |
2 |
|
3 |
Added: gnomeradio-1.8-v4l2.patch |
4 |
gnomeradio-1.8-crash.patch |
5 |
Log: |
6 |
Import Fedora patchset. Fix V4L2 detection wrt #325127 by Jaime Martin. Fix crash in main view. |
7 |
(Portage version: 2.2_rc67/cvs/Linux x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 media-sound/gnomeradio/files/gnomeradio-1.8-v4l2.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/gnomeradio/files/gnomeradio-1.8-v4l2.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/gnomeradio/files/gnomeradio-1.8-v4l2.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: gnomeradio-1.8-v4l2.patch |
16 |
=================================================================== |
17 |
--- src/prefs.c |
18 |
+++ src/prefs.c |
19 |
@@ -112,7 +112,7 @@ |
20 |
/* Load general settings */ |
21 |
settings.device = gconf_client_get_string(client, "/apps/gnomeradio/device" , NULL); |
22 |
if (!settings.device) |
23 |
- settings.device = g_strdup("/dev/radio"); |
24 |
+ settings.device = g_strdup("/dev/radio0"); |
25 |
settings.driver = gconf_client_get_string(client, "/apps/gnomeradio/driver" , NULL); |
26 |
if (!settings.driver) |
27 |
settings.driver = g_strdup("any"); |
28 |
--- src/radio.c |
29 |
+++ src/radio.c |
30 |
@@ -41,9 +41,9 @@ |
31 |
} |
32 |
|
33 |
switch (driver) { |
34 |
+ case DRIVER_ANY: |
35 |
case DRIVER_V4L2: |
36 |
goto try_v4l2; |
37 |
- case DRIVER_ANY: |
38 |
case DRIVER_V4L1: |
39 |
default: |
40 |
goto try_v4l1; |
41 |
|
42 |
|
43 |
|
44 |
1.1 media-sound/gnomeradio/files/gnomeradio-1.8-crash.patch |
45 |
|
46 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/gnomeradio/files/gnomeradio-1.8-crash.patch?rev=1.1&view=markup |
47 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-sound/gnomeradio/files/gnomeradio-1.8-crash.patch?rev=1.1&content-type=text/plain |
48 |
|
49 |
Index: gnomeradio-1.8-crash.patch |
50 |
=================================================================== |
51 |
From 7694c70f99731724dad64444484d070ff760db89 Mon Sep 17 00:00:00 2001 |
52 |
From: Jörgen Scheibengruber <mfcn@×××××××××.org> |
53 |
Date: Sat, 13 Sep 2008 21:00:09 +0000 |
54 |
Subject: Don't update menus while main-view and tray-icon are not visible yet |
55 |
|
56 |
* src/gui.c (main): |
57 |
* src/prefs.c (add_button_clicked_cb), (del_button_clicked_cb), |
58 |
(name_cell_edited_cb): |
59 |
Don't update menus while main-view and tray-icon are not visible yet |
60 |
|
61 |
|
62 |
svn path=/trunk/; revision=208 |
63 |
--- |
64 |
diff --git a/ChangeLog b/ChangeLog |
65 |
index 973a754..814a52d 100644 |
66 |
--- a/ChangeLog |
67 |
+++ b/ChangeLog |
68 |
@@ -1,5 +1,12 @@ |
69 |
2008-09-13 Jörgen Scheibengruber <mfcn@×××.de> |
70 |
|
71 |
+ * src/gui.c (main): |
72 |
+ * src/prefs.c (add_button_clicked_cb), (del_button_clicked_cb), |
73 |
+ (name_cell_edited_cb): |
74 |
+ Don't update menus while main-view and tray-icon are not visible yet |
75 |
+ |
76 |
+2008-09-13 Jörgen Scheibengruber <mfcn@×××.de> |
77 |
+ |
78 |
* configure.in: |
79 |
* src/Makefile.am: |
80 |
|
81 |
diff --git a/src/gui.c b/src/gui.c |
82 |
index faca2b7..6c2155f 100644 |
83 |
--- a/src/gui.c |
84 |
+++ b/src/gui.c |
85 |
@@ -54,6 +54,8 @@ GtkTooltips *tooltips; |
86 |
int mom_ps; |
87 |
gnomeradio_settings settings; |
88 |
|
89 |
+gboolean main_visible; |
90 |
+ |
91 |
static GtkWidget *drawing_area; |
92 |
static GdkPixmap *digits, *signal_s, *stereo; |
93 |
static GtkWidget *freq_scale; |
94 |
@@ -1110,6 +1112,7 @@ int main(int argc, char* argv[]) |
95 |
NULL); |
96 |
gtk_window_set_default_icon_name("gnomeradio"); |
97 |
/* Main app */ |
98 |
+ main_visible = FALSE; |
99 |
app = gnome_radio_gui(); |
100 |
|
101 |
/* Initizialize GStreamer */ |
102 |
@@ -1150,6 +1153,7 @@ int main(int argc, char* argv[]) |
103 |
preset_combo_set_item(mom_ps); |
104 |
|
105 |
gtk_widget_show_all(app); |
106 |
+ main_visible = TRUE; |
107 |
|
108 |
/* Create an tray icon */ |
109 |
create_tray_icon(app); |
110 |
diff --git a/src/prefs.c b/src/prefs.c |
111 |
index 425d116..7b8ee20 100644 |
112 |
--- a/src/prefs.c |
113 |
+++ b/src/prefs.c |
114 |
@@ -30,6 +30,8 @@ extern GtkTooltips *tooltips; |
115 |
extern int mom_ps; |
116 |
extern gnomeradio_settings settings; |
117 |
|
118 |
+extern gboolean main_visible; |
119 |
+ |
120 |
static GtkWidget *device_entry; |
121 |
static GtkWidget *mixer_combo; |
122 |
static GtkWidget *mute_on_exit_cb; |
123 |
@@ -310,16 +312,18 @@ static void add_button_clicked_cb(GtkWidget *widget, gpointer data) |
124 |
v_scb = gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(list_view)); |
125 |
gtk_adjustment_set_value(v_scb, v_scb->upper); |
126 |
|
127 |
- gtk_combo_box_append_text(GTK_COMBO_BOX(preset_combo), ps->title); |
128 |
- mom_ps = g_list_length(settings.presets) - 1; |
129 |
- preset_combo_set_item(mom_ps); |
130 |
- |
131 |
- menuitems = GTK_MENU_SHELL(tray_menu)->children; |
132 |
- menuitem = gtk_menu_item_new_with_label(ps->title); |
133 |
- |
134 |
- gtk_menu_shell_insert(GTK_MENU_SHELL(tray_menu), menuitem, mom_ps); |
135 |
- g_signal_connect(G_OBJECT(menuitem), "activate", (GCallback)preset_menuitem_activate_cb, (gpointer)mom_ps); |
136 |
- gtk_widget_show(menuitem); |
137 |
+ if (main_visible) { |
138 |
+ gtk_combo_box_append_text(GTK_COMBO_BOX(preset_combo), ps->title); |
139 |
+ mom_ps = g_list_length(settings.presets) - 1; |
140 |
+ preset_combo_set_item(mom_ps); |
141 |
+ |
142 |
+ menuitems = GTK_MENU_SHELL(tray_menu)->children; |
143 |
+ menuitem = gtk_menu_item_new_with_label(ps->title); |
144 |
+ |
145 |
+ gtk_menu_shell_insert(GTK_MENU_SHELL(tray_menu), menuitem, mom_ps); |
146 |
+ g_signal_connect(G_OBJECT(menuitem), "activate", (GCallback)preset_menuitem_activate_cb, (gpointer)mom_ps); |
147 |
+ gtk_widget_show(menuitem); |
148 |
+ } |
149 |
|
150 |
buffer = g_strdup_printf("%d", g_list_length(settings.presets) - 1); |
151 |
path = gtk_tree_path_new_from_string(buffer); |
152 |
@@ -356,15 +360,17 @@ static void del_button_clicked_cb(GtkWidget *widget, gpointer data) |
153 |
gtk_tree_model_get_iter(GTK_TREE_MODEL(list_store), &iter, path); |
154 |
gtk_list_store_remove(list_store, &iter); |
155 |
|
156 |
- gtk_combo_box_remove_text(GTK_COMBO_BOX(preset_combo), *row + 1); |
157 |
- if (--mom_ps < 0) mom_ps = 0; |
158 |
- if (!g_list_length(settings.presets)) mom_ps = -1; |
159 |
- preset_combo_set_item(mom_ps); |
160 |
+ if (main_visible) { |
161 |
+ gtk_combo_box_remove_text(GTK_COMBO_BOX(preset_combo), *row + 1); |
162 |
+ if (--mom_ps < 0) mom_ps = 0; |
163 |
+ if (!g_list_length(settings.presets)) mom_ps = -1; |
164 |
+ preset_combo_set_item(mom_ps); |
165 |
|
166 |
- menuitems = GTK_MENU_SHELL(tray_menu)->children; |
167 |
- g_assert(*row < g_list_length(menuitems)); |
168 |
- menuitem = g_list_nth_data(menuitems, *row); |
169 |
- gtk_widget_destroy(menuitem); |
170 |
+ menuitems = GTK_MENU_SHELL(tray_menu)->children; |
171 |
+ g_assert(*row < g_list_length(menuitems)); |
172 |
+ menuitem = g_list_nth_data(menuitems, *row); |
173 |
+ gtk_widget_destroy(menuitem); |
174 |
+ } |
175 |
|
176 |
gtk_tree_path_prev(path); |
177 |
gtk_tree_view_set_cursor(GTK_TREE_VIEW(list_view), path, NULL, FALSE); |
178 |
@@ -420,20 +426,22 @@ static void name_cell_edited_cb(GtkCellRendererText *cellrenderertext, gchar *pa |
179 |
if (ps->title) g_free(ps->title); |
180 |
ps->title = g_strdup(new_val); |
181 |
|
182 |
- gtk_combo_box_remove_text(GTK_COMBO_BOX(preset_combo), *row + 1); |
183 |
- gtk_combo_box_insert_text(GTK_COMBO_BOX(preset_combo), *row + 1, ps->title); |
184 |
- mom_ps = *row; |
185 |
- preset_combo_set_item(mom_ps); |
186 |
- |
187 |
- menuitems = GTK_MENU_SHELL(tray_menu)->children; |
188 |
- g_assert(mom_ps < g_list_length(menuitems)); |
189 |
- menuitem = g_list_nth_data(menuitems, mom_ps); |
190 |
- gtk_widget_destroy(menuitem); |
191 |
- menuitem = gtk_menu_item_new_with_label(ps->title); |
192 |
- |
193 |
- gtk_menu_shell_insert(GTK_MENU_SHELL(tray_menu), menuitem, *row); |
194 |
- g_signal_connect(G_OBJECT(menuitem), "activate", (GCallback)preset_menuitem_activate_cb, (gpointer)mom_ps); |
195 |
- gtk_widget_show(menuitem); |
196 |
+ if (main_visible) { |
197 |
+ gtk_combo_box_remove_text(GTK_COMBO_BOX(preset_combo), *row + 1); |
198 |
+ gtk_combo_box_insert_text(GTK_COMBO_BOX(preset_combo), *row + 1, ps->title); |
199 |
+ mom_ps = *row; |
200 |
+ preset_combo_set_item(mom_ps); |
201 |
+ |
202 |
+ menuitems = GTK_MENU_SHELL(tray_menu)->children; |
203 |
+ g_assert(mom_ps < g_list_length(menuitems)); |
204 |
+ menuitem = g_list_nth_data(menuitems, mom_ps); |
205 |
+ gtk_widget_destroy(menuitem); |
206 |
+ menuitem = gtk_menu_item_new_with_label(ps->title); |
207 |
+ |
208 |
+ gtk_menu_shell_insert(GTK_MENU_SHELL(tray_menu), menuitem, *row); |
209 |
+ g_signal_connect(G_OBJECT(menuitem), "activate", (GCallback)preset_menuitem_activate_cb, (gpointer)mom_ps); |
210 |
+ gtk_widget_show(menuitem); |
211 |
+ } |
212 |
|
213 |
gtk_tree_model_get_iter(GTK_TREE_MODEL(list_store), &iter, path); |
214 |
gtk_list_store_set(GTK_LIST_STORE(list_store), &iter, 0, new_val, -1); |
215 |
-- |
216 |
cgit v0.8.3.1 |