comparison gtk3/dw.c @ 1578:36f0cfda3be3

Fix value_changed code for GTK3... thought this used to work... but it seems to have partially broken. Now it should work.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 23 Jan 2012 23:40:11 +0000
parents fdafbc654e9d
children 245e6bf51317
comparison
equal deleted inserted replaced
1577:fdafbc654e9d 1578:36f0cfda3be3
145 static gint _container_enter_event(GtkWidget *widget, GdkEventAny *event, gpointer data); 145 static gint _container_enter_event(GtkWidget *widget, GdkEventAny *event, gpointer data);
146 static gint _combobox_select_event(GtkWidget *widget, gpointer data); 146 static gint _combobox_select_event(GtkWidget *widget, gpointer data);
147 static gint _expose_event(GtkWidget *widget, cairo_t *cr, gpointer data); 147 static gint _expose_event(GtkWidget *widget, cairo_t *cr, gpointer data);
148 static gint _set_focus_event(GtkWindow *window, GtkWidget *widget, gpointer data); 148 static gint _set_focus_event(GtkWindow *window, GtkWidget *widget, gpointer data);
149 static gint _tree_context_event(GtkWidget *widget, GdkEventButton *event, gpointer data); 149 static gint _tree_context_event(GtkWidget *widget, GdkEventButton *event, gpointer data);
150 static gint _value_changed_event(GtkAdjustment *adjustment, gpointer user_data); 150 static gint _value_changed_event(GtkWidget *widget, gpointer user_data);
151 static gint _tree_select_event(GtkTreeSelection *sel, gpointer data); 151 static gint _tree_select_event(GtkTreeSelection *sel, gpointer data);
152 static gint _tree_expand_event(GtkTreeView *treeview, GtkTreeIter *arg1, GtkTreePath *arg2, gpointer data); 152 static gint _tree_expand_event(GtkTreeView *treeview, GtkTreeIter *arg1, GtkTreePath *arg2, gpointer data);
153 static gint _switch_page_event(GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer data); 153 static gint _switch_page_event(GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer data);
154 static gint _column_click_event(GtkWidget *widget, gpointer data); 154 static gint _column_click_event(GtkWidget *widget, gpointer data);
155 155
1647 newval++; 1647 newval++;
1648 1648
1649 return newval; 1649 return newval;
1650 } 1650 }
1651 1651
1652 static gint _value_changed_event(GtkAdjustment *adjustment, gpointer data) 1652 static gint _value_changed_event(GtkWidget *widget, gpointer data)
1653 { 1653 {
1654 int max = _round_value(gtk_adjustment_get_upper(adjustment)); 1654 GtkWidget *slider, *spinbutton, *scrollbar;
1655 int val = _round_value(gtk_adjustment_get_value(adjustment)); 1655 GtkAdjustment *adjustment = (GtkAdjustment *)widget;
1656 GtkWidget *slider = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_slider"); 1656 int max, val;
1657 GtkWidget *spinbutton = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_spinbutton"); 1657
1658 GtkWidget *scrollbar = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_scrollbar"); 1658 if(!GTK_IS_ADJUSTMENT(adjustment))
1659 1659 adjustment = (GtkAdjustment *)g_object_get_data(G_OBJECT(widget), "_dw_adjustment");
1660
1661 slider = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_slider");
1662 spinbutton = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_spinbutton");
1663 scrollbar = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_scrollbar");
1664
1665 max = _round_value(gtk_adjustment_get_upper(adjustment));
1666 val = _round_value(gtk_adjustment_get_value(adjustment));
1667
1660 if(g_object_get_data(G_OBJECT(adjustment), "_dw_suppress_value_changed_event")) 1668 if(g_object_get_data(G_OBJECT(adjustment), "_dw_suppress_value_changed_event"))
1661 return FALSE; 1669 return FALSE;
1662 1670
1663 if (slider || spinbutton || scrollbar) 1671 if (slider || spinbutton || scrollbar)
1664 { 1672 {
1665 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); 1673 SignalHandler work = _get_signal_handler(widget, data);
1666 1674
1667 if (work.window) 1675 if (work.window)
1668 { 1676 {
1669 int (*valuechangedfunc)(HWND, int, void *) = work.func; 1677 int (*valuechangedfunc)(HWND, int, void *) = work.func;
1670 1678