[gnomeradio] - fix build with current GTK2
Dominik Mierzejewski
rathann at fedoraproject.org
Wed Aug 11 23:23:45 UTC 2010
commit fa8f43d71f31e23e96371ad2ca9b8ee3d7f86aac
Author: Dominik Mierzejewski <rpm at greysector.net>
Date: Thu Aug 12 01:21:30 2010 +0200
- fix build with current GTK2
gnomeradio-gtk.patch | 492 ++++++++++++++++++++++++++++++++++++++++++++++++++
gnomeradio.spec | 4 +-
2 files changed, 495 insertions(+), 1 deletions(-)
---
diff --git a/gnomeradio-gtk.patch b/gnomeradio-gtk.patch
new file mode 100644
index 0000000..335e295
--- /dev/null
+++ b/gnomeradio-gtk.patch
@@ -0,0 +1,492 @@
+diff -up gnomeradio-1.8/src/bacon-volume.c.gtk gnomeradio-1.8/src/bacon-volume.c
+--- gnomeradio-1.8/src/bacon-volume.c.gtk 2007-02-25 00:33:36.000000000 +0100
++++ gnomeradio-1.8/src/bacon-volume.c 2010-08-12 01:14:00.616442010 +0200
+@@ -242,19 +242,23 @@ bacon_volume_button_scroll (GtkWidget
+ BaconVolumeButton *button = BACON_VOLUME_BUTTON (widget);
+ GtkAdjustment *adj = gtk_range_get_adjustment (GTK_RANGE (button->scale));
+ float d;
++ gdouble i;
+
+ if (event->type != GDK_SCROLL)
+ return FALSE;
+
+ d = bacon_volume_button_get_value (button);
++ i = gtk_adjustment_get_step_increment(adj);
+ if (event->direction == GDK_SCROLL_UP) {
+- d += adj->step_increment;
+- if (d > adj->upper)
+- d = adj->upper;
++ gdouble u = gtk_adjustment_get_upper(adj);
++ d += i;
++ if (d > u)
++ d = u;
+ } else {
+- d -= adj->step_increment;
+- if (d < adj->lower)
+- d = adj->lower;
++ gdouble l = gtk_adjustment_get_lower(adj);
++ d -= i;
++ if (d < l)
++ d = l;
+ }
+ bacon_volume_button_set_value (button, d);
+
+@@ -270,55 +274,59 @@ bacon_volume_button_press (GtkWidget
+ gint x, y, m, dx, dy, sx, sy, ystartoff, mouse_y;
+ float v;
+ GdkEventButton *e;
++ GtkAllocation widget_all, dock_all, scale_all;
+
+ /* position roughly */
+- gdk_window_get_origin (widget->window, &x, &y);
+- x += widget->allocation.x;
+- y += widget->allocation.y;
++ gdk_window_get_origin (gtk_widget_get_window(widget), &x, &y);
++ gtk_widget_get_allocation(widget, &widget_all);
++ x += widget_all.x;
++ y += widget_all.y;
+ gtk_window_move (GTK_WINDOW (button->dock), x, y - (SCALE_SIZE / 2));
+ gtk_widget_show_all (button->dock);
+- gdk_window_get_origin (button->dock->window, &dx, &dy);
+- dy += button->dock->allocation.y;
+- gdk_window_get_origin (button->scale->window, &sx, &sy);
+- sy += button->scale->allocation.y;
++ gdk_window_get_origin (gtk_widget_get_window(button->dock), &dx, &dy);
++ gtk_widget_get_allocation (button->dock, &dock_all);
++ dy += dock_all.y;
++ gdk_window_get_origin (gtk_widget_get_window(button->scale), &sx, &sy);
++ gtk_widget_get_allocation (button->scale, &scale_all);
++ sy += scale_all.y;
+ ystartoff = sy - dy;
+ mouse_y = event->y;
+ button->timeout = TRUE;
+
+ /* position (needs widget to be shown already) */
+- v = bacon_volume_button_get_value (button) / (adj->upper - adj->lower);
+- x += (widget->allocation.width - button->dock->allocation.width) / 2;
++ v = bacon_volume_button_get_value (button) / (gtk_adjustment_get_upper(adj) - gtk_adjustment_get_lower(adj));
++ x += (widget_all.width - dock_all.width) / 2;
+ y -= ystartoff;
+- y -= GTK_RANGE (button->scale)->min_slider_size / 2;
+- m = button->scale->allocation.height -
+- GTK_RANGE (button->scale)->min_slider_size;
++ y -= gtk_range_get_min_slider_size(GTK_RANGE (button->scale)) / 2;
++ m = scale_all.height -
++ gtk_range_get_min_slider_size(GTK_RANGE (button->scale));
+ y -= m * (1.0 - v);
+ y += mouse_y;
+ gtk_window_move (GTK_WINDOW (button->dock), x, y);
+- gdk_window_get_origin (button->scale->window, &sx, &sy);
++ gdk_window_get_origin (gtk_widget_get_window(button->scale), &sx, &sy);
+
+ GTK_WIDGET_CLASS (parent_class)->button_press_event (widget, event);
+
+ /* grab focus */
+ gtk_widget_grab_focus (button->dock);
+ gtk_grab_add (button->dock);
+- gdk_pointer_grab (button->dock->window, TRUE,
++ gdk_pointer_grab (gtk_widget_get_window(button->dock), TRUE,
+ GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
+ GDK_POINTER_MOTION_MASK, NULL, NULL, GDK_CURRENT_TIME);
+- gdk_keyboard_grab (button->dock->window, TRUE, GDK_CURRENT_TIME);
++ gdk_keyboard_grab (gtk_widget_get_window(button->dock), TRUE, GDK_CURRENT_TIME);
+
+ /* forward event to the slider */
+ e = (GdkEventButton *) gdk_event_copy ((GdkEvent *) event);
+- e->window = button->scale->window;
++ e->window = gtk_widget_get_window(button->scale);
+
+ /* position: the X position isn't relevant, halfway will work just fine.
+ * The vertical position should be *exactly* in the middle of the slider
+ * of the scale; if we don't do that correctly, it'll move from its current
+ * position, which means a position change on-click, which is bad. */
+- e->x = button->scale->allocation.width / 2;
+- m = button->scale->allocation.height -
+- GTK_RANGE (button->scale)->min_slider_size;
+- e->y = ((1.0 - v) * m) + GTK_RANGE (button->scale)->min_slider_size / 2;
++ e->x = scale_all.width / 2;
++ m = scale_all.height -
++ gtk_range_get_min_slider_size(GTK_RANGE (button->scale));
++ e->y = ((1.0 - v) * m) + gtk_range_get_min_slider_size(GTK_RANGE (button->scale)) / 2;
+ gtk_widget_event (button->scale, (GdkEvent *) e);
+ e->window = event->window;
+ gdk_event_free ((GdkEvent *) e);
+@@ -345,12 +353,12 @@ cb_button_timeout (gpointer data)
+
+ val = bacon_volume_button_get_value (button);
+ val += button->direction;
+- if (val <= adj->lower) {
++ if (val <= gtk_adjustment_get_lower(adj)) {
+ res = FALSE;
+- val = adj->lower;
+- } else if (val > adj->upper) {
++ val = gtk_adjustment_get_lower(adj);
++ } else if (val > gtk_adjustment_get_upper(adj)) {
+ res = FALSE;
+- val = adj->upper;
++ val = gtk_adjustment_get_upper(adj);
+ }
+ bacon_volume_button_set_value (button, val);
+
+@@ -373,7 +381,7 @@ cb_button_press (GtkWidget * widget
+ if (button->click_id != 0)
+ g_source_remove (button->click_id);
+ button->direction = (widget == button->plus) ?
+- fabs (adj->page_increment) : - fabs (adj->page_increment);
++ fabs (gtk_adjustment_get_page_increment(adj)) : - fabs (gtk_adjustment_get_page_increment(adj));
+ button->click_id = g_timeout_add (CLICK_TIMEOUT,
+ (GSourceFunc) cb_button_timeout, button);
+ cb_button_timeout (button);
+@@ -416,7 +424,7 @@ bacon_volume_release_grab (BaconVolumeBu
+ button->timeout = FALSE;
+
+ e = (GdkEventButton *) gdk_event_copy ((GdkEvent *) event);
+- e->window = GTK_WIDGET (button)->window;
++ e->window = gtk_widget_get_window (GTK_WIDGET (button));
+ e->type = GDK_BUTTON_RELEASE;
+ gtk_widget_event (GTK_WIDGET (button), (GdkEvent *) e);
+ e->window = event->window;
+@@ -571,7 +579,7 @@ bacon_volume_scale_value_changed (GtkRan
+ BaconVolumeScale *scale = BACON_VOLUME_SCALE (range);
+ BaconVolumeButton *button = scale->button;
+ GtkAdjustment *adj = gtk_range_get_adjustment (GTK_RANGE (button->scale));
+- float step = (adj->upper - adj->lower) / 4;
++ float step = (gtk_adjustment_get_upper(adj) - gtk_adjustment_get_lower(adj)) / 4;
+ float val = gtk_range_get_value (range);
+ gint w, h;
+ #ifdef HAVE_GTK_ONLY
+@@ -585,13 +593,13 @@ bacon_volume_scale_value_changed (GtkRan
+ const char *s;
+ GdkPixbuf *buf;
+
+- if (val == adj->lower)
++ if (val == gtk_adjustment_get_lower(adj))
+ s = "stock_volume-mute";
+- else if (val > adj->lower && val <= adj->lower + step)
++ else if (val > gtk_adjustment_get_lower(adj) && val <= gtk_adjustment_get_lower(adj) + step)
+ s = "stock_volume-0";
+- else if (val > adj->lower + step && val <= adj->lower + step * 2)
++ else if (val > gtk_adjustment_get_lower(adj) + step && val <= gtk_adjustment_get_lower(adj) + step * 2)
+ s = "stock_volume-min";
+- else if (val > adj->lower + step * 2 && val <= adj->lower + step * 3)
++ else if (val > gtk_adjustment_get_lower(adj) + step * 2 && val <= gtk_adjustment_get_lower(adj) + step * 3)
+ s = "stock_volume-med";
+ else
+ s = "stock_volume-max";
+diff -up gnomeradio-1.8/src/gui.c.gtk gnomeradio-1.8/src/gui.c
+--- gnomeradio-1.8/src/gui.c.gtk 2010-08-11 20:55:53.000000000 +0200
++++ gnomeradio-1.8/src/gui.c 2010-08-12 00:51:33.652692968 +0200
+@@ -22,6 +22,7 @@
+
+ #include <config.h>
+ #include <gnome.h>
++#include <profiles/gnome-media-profiles.h>
+ #include <gconf/gconf-client.h>
+ #include <math.h>
+ #include "bacon-volume.h"
+@@ -139,14 +140,14 @@ static void initial_frequency_scan(GtkWi
+ gtk_misc_set_alignment(GTK_MISC(title), 0, 0.5);
+ gtk_label_set_use_markup(GTK_LABEL(title), TRUE);
+ g_free(title_hdr);
+- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(data.dialog)->vbox), title, FALSE, FALSE, 6);
++ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(data.dialog))), title, FALSE, FALSE, 6);
+
+ data.progress = gtk_progress_bar_new();
+- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(data.dialog)->vbox), data.progress, TRUE, FALSE, 6);
++ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(data.dialog))), data.progress, TRUE, FALSE, 6);
+
+ data.label = gtk_label_new(_("No stations found"));
+ gtk_misc_set_alignment(GTK_MISC(data.label), 0, 0.5);
+- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(data.dialog)->vbox), data.label, TRUE, FALSE, 6);
++ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(data.dialog))), data.label, TRUE, FALSE, 6);
+
+ gtk_widget_show_all(data.dialog);
+
+@@ -162,7 +163,7 @@ static void initial_frequency_scan(GtkWi
+ } else {
+ if (g_list_length(data.stations) > 0) {
+ gfloat f = *((gfloat*)data.stations->data);
+- adj->value = f*STEPS;
++ gtk_adjustment_set_value(adj, f*STEPS);
+ radio_set_freq(f);
+
+ GtkWidget *dialog;
+@@ -310,7 +311,7 @@ static gboolean redraw_status_window(voi
+ int win_width, win_height;
+ int val, freq[5], signal_strength, is_stereo;
+
+- val = (int)(rint(adj->value/STEPS * 100.0));
++ val = (int)(rint(gtk_adjustment_get_value(adj)/STEPS * 100.0));
+
+ freq[0] = val / 10000;
+ freq[1] = (val % 10000) / 1000;
+@@ -325,7 +326,7 @@ static gboolean redraw_status_window(voi
+ if (signal_strength < 0) signal_strength = 0;
+ is_stereo = (is_stereo == 1) ? 1 : 0;
+
+- real_window = drawing_area->window;
++ real_window = gtk_widget_get_window(drawing_area);
+ if (real_window == NULL)
+ /* UI has not been realized yet */
+ return TRUE;
+@@ -400,7 +401,7 @@ const char* get_preset(float freq, int *
+ static void adj_value_changed_cb(GtkAdjustment* data, gpointer window)
+ {
+ char *buffer;
+- float freq = rint(adj->value)/STEPS;
++ float freq = rint(gtk_adjustment_get_value(adj))/STEPS;
+ const char *preset_title = get_preset(freq, &mom_ps);
+
+ preset_combo_set_item(mom_ps);
+@@ -419,7 +420,7 @@ static void adj_value_changed_cb(GtkAdju
+ gtk_tooltips_set_tip(tooltips, freq_scale, buffer, NULL);
+ g_free(buffer);
+
+- radio_set_freq(adj->value/STEPS);
++ radio_set_freq(gtk_adjustment_get_value(adj)/STEPS);
+ }
+
+ static void volume_value_changed_cb(BaconVolumeButton *button, gpointer user_data)
+@@ -460,20 +461,21 @@ static gboolean poll_volume_change(gpoin
+ static void change_frequency(gpointer data)
+ {
+ gboolean increase = (gboolean)data;
++ gint v = gtk_adjustment_get_value(adj);
+
+ if (increase)
+ {
+- if (adj->value >= FREQ_MAX*STEPS)
++ if (v >= FREQ_MAX*STEPS)
+ gtk_adjustment_set_value(adj, FREQ_MIN*STEPS);
+ else
+- gtk_adjustment_set_value(adj, adj->value+1);
++ gtk_adjustment_set_value(adj, v+1);
+ }
+ else
+ {
+- if (adj->value <= FREQ_MIN*STEPS)
++ if (v <= FREQ_MIN*STEPS)
+ gtk_adjustment_set_value(adj, FREQ_MAX*STEPS);
+ else
+- gtk_adjustment_set_value(adj, adj->value-1);
++ gtk_adjustment_set_value(adj, v-1);
+ }
+ }
+
+@@ -517,14 +519,14 @@ static gboolean scan_freq(gpointer data)
+ max = (FREQ_MAX - FREQ_MIN) * STEPS;
+ }
+
+- if (radio_check_station(adj->value/STEPS) || (start > max)) {
++ if (radio_check_station(gtk_adjustment_get_value(adj)/STEPS) || (start > max)) {
+ start = mom = 0;
+ radio_unmute();
+ timeout_id = 0;
+ return FALSE;
+ }
+ if (!mom) {
+- mom = adj->value;
++ mom = gtk_adjustment_get_value(adj);
+ }
+
+ if (mom > FREQ_MAX*STEPS)
+@@ -610,7 +612,7 @@ void tray_icon_items_set_sensible(gboole
+ int i, cnt = g_list_length(settings.presets);
+
+
+- menuitems = GTK_MENU_SHELL(tray_menu)->children;
++ menuitems = gtk_container_get_children(GTK_CONTAINER(tray_menu));
+
+ g_assert(cnt + 6 == g_list_length(menuitems));
+
+@@ -683,7 +685,7 @@ void rec_button_clicked_cb(GtkButton *bu
+ strftime(time_str, 100, _("%B-%d-%Y_%H-%M-%S"), localtime(&t));
+
+ if (mom_ps < 0) {
+- station = g_strdup_printf(_("%.2f MHz"), rint(adj->value)/STEPS);
++ station = g_strdup_printf(_("%.2f MHz"), rint(gtk_adjustment_get_value(adj))/STEPS);
+ } else {
+ g_assert(mom_ps < g_list_length(settings.presets));
+ preset* ps = g_list_nth_data(settings.presets, mom_ps);
+@@ -797,7 +799,7 @@ void display_help_cb(char *topic)
+ void toggle_mainwindow_visibility(GtkWidget *app)
+ {
+ static gint posx, posy;
+- if (GTK_WIDGET_VISIBLE(app))
++ if (gtk_widget_get_visible(app))
+ {
+ gtk_window_get_position(GTK_WINDOW(app), &posx, &posy);
+ gtk_widget_hide(app);
+@@ -813,6 +815,7 @@ void toggle_mainwindow_visibility(GtkWid
+ GtkWidget* gnome_radio_gui(void)
+ {
+ GtkWidget *app;
++ GdkWindow *app_window;
+ GtkWidget *prefs_button, *quit_button, *scfw_button, *scbw_button;
+ GtkWidget *stfw_button, *stbw_button, *about_button, *rec_button;
+ GtkWidget *prefs_pixmap, *quit_pixmap, *scfw_pixmap, *scbw_pixmap;
+@@ -901,10 +904,11 @@ GtkWidget* gnome_radio_gui(void)
+ /*gtk_widget_set_size_request(freq_scale, 160, -1);*/
+
+ gtk_widget_realize(app);
++ app_window = gtk_widget_get_window(app);
+ drawing_area = gtk_drawing_area_new();
+- digits = gdk_pixmap_create_from_xpm_d (app->window, NULL, NULL, digits_xpm);
+- signal_s = gdk_pixmap_create_from_xpm_d (app->window, NULL, NULL, signal_xpm);
+- stereo = gdk_pixmap_create_from_xpm_d (app->window, NULL, NULL, stereo_xpm);
++ digits = gdk_pixmap_create_from_xpm_d (app_window, NULL, NULL, digits_xpm);
++ signal_s = gdk_pixmap_create_from_xpm_d (app_window, NULL, NULL, signal_xpm);
++ stereo = gdk_pixmap_create_from_xpm_d (app_window, NULL, NULL, stereo_xpm);
+
+ vseparator1 = gtk_vseparator_new();
+ vseparator2 = gtk_vseparator_new();
+@@ -993,7 +997,7 @@ GtkWidget* gnome_radio_gui(void)
+ gtk_tooltips_set_tip(tooltips, prefs_button, _("Edit your Preferences"), NULL);
+ gtk_tooltips_set_tip(tooltips, mute_button, _("Adjust the Volume"), NULL);
+ gtk_tooltips_set_tip(tooltips, quit_button, _("Quit"), NULL);
+- text = g_strdup_printf(_("Frequency: %.2f MHz"), adj->value/STEPS);
++ text = g_strdup_printf(_("Frequency: %.2f MHz"), gtk_adjustment_get_value(adj)/STEPS);
+ gtk_tooltips_set_tip(tooltips, freq_scale, text, NULL);
+ g_free(text);
+ /* text = g_strdup_printf(_("Volume: %d%%"), (gint)volume->value);
+@@ -1206,7 +1210,7 @@ int main(int argc, char* argv[])
+ return 0;
+ }
+
+-static show_message(GtkMessageType type, const char* text, const char* details)
++static void show_message(GtkMessageType type, const char* text, const char* details)
+ {
+ GtkWidget *dialog;
+
+diff -up gnomeradio-1.8/src/prefs.c.gtk gnomeradio-1.8/src/prefs.c
+--- gnomeradio-1.8/src/prefs.c.gtk 2010-08-11 20:55:53.000000000 +0200
++++ gnomeradio-1.8/src/prefs.c 2010-08-12 01:06:06.886442378 +0200
+@@ -60,7 +60,7 @@ gboolean save_settings(void)
+ gconf_client_set_string(client, "/apps/gnomeradio/mixer-device", settings.mixer_dev, NULL);
+ gconf_client_set_bool(client, "/apps/gnomeradio/mute-on-exit", settings.mute_on_exit, NULL);
+ /*gconf_client_set_float(client, "/apps/gnomeradio/volume", volume->value, NULL);*/
+- gconf_client_set_float(client, "/apps/gnomeradio/last-freq", adj->value/STEPS, NULL);
++ gconf_client_set_float(client, "/apps/gnomeradio/last-freq", gtk_adjustment_get_value(adj)/STEPS, NULL);
+
+ /* Store recording settings */
+ /* gconf_client_set_string(client, "/apps/gnomeradio/recording/audiodevice", rec_settings.audiodevice, NULL);
+@@ -128,9 +128,9 @@ gboolean load_settings(void)
+ /*volume->value = gconf_client_get_float(client, "/apps/gnomeradio/volume", NULL);*/
+ freq = gconf_client_get_float(client, "/apps/gnomeradio/last-freq", NULL);
+ if ((freq < FREQ_MIN) || (freq > FREQ_MAX))
+- adj->value = FREQ_MIN * STEPS;
++ gtk_adjustment_set_value(adj, FREQ_MIN * STEPS);
+ else
+- adj->value = freq * STEPS;
++ gtk_adjustment_set_value(adj, freq * STEPS);
+
+ /* Load recording settings */
+ /* rec_settings.audiodevice = gconf_client_get_string(client, "/apps/gnomeradio/recording/audiodevice", NULL);
+@@ -299,7 +299,7 @@ static void add_button_clicked_cb(GtkWid
+
+ ps = malloc(sizeof(preset));
+ ps->title = g_strdup(_("unnamed"));
+- ps->freq = rint(adj->value) / STEPS;
++ ps->freq = rint(gtk_adjustment_get_value(adj)) / STEPS;
+ settings.presets = g_list_append(settings.presets, (gpointer) ps);
+ buffer = g_strdup_printf("%.2f", ps->freq);
+
+@@ -310,14 +310,14 @@ static void add_button_clicked_cb(GtkWid
+ gtk_tree_selection_unselect_all(selection);
+
+ v_scb = gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(list_view));
+- gtk_adjustment_set_value(v_scb, v_scb->upper);
++ gtk_adjustment_set_value(v_scb, gtk_adjustment_get_upper(v_scb));
+
+ if (main_visible) {
+ gtk_combo_box_append_text(GTK_COMBO_BOX(preset_combo), ps->title);
+ mom_ps = g_list_length(settings.presets) - 1;
+ preset_combo_set_item(mom_ps);
+
+- menuitems = GTK_MENU_SHELL(tray_menu)->children;
++ menuitems = gtk_container_get_children(GTK_CONTAINER(tray_menu));
+ menuitem = gtk_menu_item_new_with_label(ps->title);
+
+ gtk_menu_shell_insert(GTK_MENU_SHELL(tray_menu), menuitem, mom_ps);
+@@ -366,7 +366,7 @@ static void del_button_clicked_cb(GtkWid
+ if (!g_list_length(settings.presets)) mom_ps = -1;
+ preset_combo_set_item(mom_ps);
+
+- menuitems = GTK_MENU_SHELL(tray_menu)->children;
++ menuitems = gtk_container_get_children(GTK_CONTAINER(tray_menu));
+ g_assert(*row < g_list_length(menuitems));
+ menuitem = g_list_nth_data(menuitems, *row);
+ gtk_widget_destroy(menuitem);
+@@ -432,7 +432,7 @@ static void name_cell_edited_cb(GtkCellR
+ mom_ps = *row;
+ preset_combo_set_item(mom_ps);
+
+- menuitems = GTK_MENU_SHELL(tray_menu)->children;
++ menuitems = gtk_container_get_children(GTK_CONTAINER(tray_menu));
+ g_assert(mom_ps < g_list_length(menuitems));
+ menuitem = g_list_nth_data(menuitems, mom_ps);
+ gtk_widget_destroy(menuitem);
+@@ -546,7 +546,7 @@ GtkWidget* prefs_window(GtkWidget *app)
+
+ box = gtk_vbox_new(FALSE, 18);
+ gtk_container_set_border_width(GTK_CONTAINER(box), 12);
+- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), box, TRUE, TRUE, 0);
++ gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), box, TRUE, TRUE, 0);
+
+ settings_box = gtk_vbox_new(FALSE, 6);
+ gtk_box_pack_start(GTK_BOX(box), settings_box, TRUE, TRUE, 0);
+@@ -653,17 +653,17 @@ GtkWidget* prefs_window(GtkWidget *app)
+ gtk_tree_selection_set_select_function(selection, (GtkTreeSelectionFunc)list_view_select_cb, NULL, NULL);*/
+
+ cellrenderer = gtk_cell_renderer_text_new();
+- cellrenderer->mode = GTK_CELL_RENDERER_MODE_EDITABLE;
+- GTK_CELL_RENDERER_TEXT(cellrenderer)->editable = TRUE;
++ g_object_set(GTK_OBJECT(cellrenderer), "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
++ g_object_set(GTK_OBJECT(GTK_CELL_RENDERER_TEXT(cellrenderer)), "editable", TRUE, NULL);
+ list_column = gtk_tree_view_column_new_with_attributes(NULL, cellrenderer, "text", 0, NULL);
+ gtk_tree_view_column_set_min_width(list_column, 150);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(list_view), list_column);
+ g_signal_connect(GTK_OBJECT(cellrenderer), "edited", GTK_SIGNAL_FUNC(name_cell_edited_cb), NULL);
+
+ cellrenderer = gtk_cell_renderer_text_new();
+- cellrenderer->mode = GTK_CELL_RENDERER_MODE_EDITABLE;
+- cellrenderer->xalign = 1.0f;
+- GTK_CELL_RENDERER_TEXT(cellrenderer)->editable = TRUE;
++ g_object_set(GTK_OBJECT(cellrenderer), "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
++ g_object_set(GTK_OBJECT(cellrenderer), "xalign", 1.0f, NULL);
++ g_object_set(GTK_OBJECT(GTK_CELL_RENDERER_TEXT(cellrenderer)), "editable", TRUE, NULL);
+ list_column = gtk_tree_view_column_new_with_attributes(NULL, cellrenderer, "text", 1, NULL);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(list_view), list_column);
+ g_signal_connect(GTK_OBJECT(cellrenderer), "edited", GTK_SIGNAL_FUNC(freq_cell_edited_cb), NULL);
+diff -up gnomeradio-1.8/src/record.c.gtk gnomeradio-1.8/src/record.c
+--- gnomeradio-1.8/src/record.c.gtk 2007-02-25 00:33:36.000000000 +0100
++++ gnomeradio-1.8/src/record.c 2010-08-12 01:06:48.684444252 +0200
+@@ -57,7 +57,7 @@ static gboolean timeout_cb(gpointer data
+
+ g_assert(recording);
+
+- if (!GTK_WIDGET_VISIBLE(status_dialog))
++ if (!gtk_widget_get_visible(status_dialog))
+ gtk_widget_show_all(status_dialog);
+
+ s = get_file_size(recording->filename);
+diff -up gnomeradio-1.8/src/trayicon.c.gtk gnomeradio-1.8/src/trayicon.c
+--- gnomeradio-1.8/src/trayicon.c.gtk 2008-09-13 17:49:07.000000000 +0200
++++ gnomeradio-1.8/src/trayicon.c 2010-08-12 01:08:27.198692723 +0200
+@@ -22,6 +22,7 @@
+ #include <gnome.h>
+ #include "gui.h"
+ #include "trayicon.h"
++#include "tech.h"
+
+ extern GtkAdjustment *adj;
+ extern GtkTooltips *tooltips;
+@@ -141,7 +142,7 @@ void create_tray_icon(GtkWidget *app)
+ g_signal_connect(G_OBJECT(tray_icon), "popup-menu",
+ G_CALLBACK(tray_popup_menu), (gpointer)app);
+
+- text = g_strdup_printf(_("Gnomeradio - %.2f MHz"), adj->value/STEPS);
++ text = g_strdup_printf(_("Gnomeradio - %.2f MHz"), gtk_adjustment_get_value(adj)/STEPS);
+ gtk_status_icon_set_tooltip(GTK_STATUS_ICON(tray_icon), text);
+ g_free(text);
+ }
diff --git a/gnomeradio.spec b/gnomeradio.spec
index 67a1da3..4fe785b 100644
--- a/gnomeradio.spec
+++ b/gnomeradio.spec
@@ -12,6 +12,7 @@ Patch1: %{name}-ld.patch
# http://git.gnome.org/browse/gnomeradio/commit/?id=7694c70f99731724dad64444484d070ff760db89
Patch2: %{name}-crash.patch
Patch3: %{name}-gnome-3.0.patch
+Patch4: %{name}-gtk.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: desktop-file-utils
BuildRequires: gettext
@@ -41,6 +42,7 @@ Ogg files.
%patch1 -p1 -b .ld
%patch2 -p1 -b .crash
%patch3 -p1 -b .gnome-3.0
+%patch4 -p1 -b .gtk
%{__install} -m 755 %{SOURCE1} .
%build
@@ -118,7 +120,7 @@ scrollkeeper-update -q || :
%changelog
* Thu Jul 15 2010 Dominik Mierzejewski <rpm at greysector.net> - 1.8-7
- rebuild against new gnome-media-libs
-- fix build with current GNOME
+- fix build with current GNOME and GTK2
* Thu Jul 08 2010 Dominik Mierzejewski <rpm at greysector.net> - 1.8-6
- fixed crash in the preferences dialog, patch from upstream (rhbz#576922)
More information about the scm-commits
mailing list