Slow spin button signal get doubled
- From: Taneli Kalvas <taneli v m kalvas jyu fi>
- To: gtk-list gnome org
- Subject: Slow spin button signal get doubled
- Date: Tue, 08 Sep 2009 22:15:39 +0300
Hi!
I guess I have found a bug: I am encountering strange behaviour from 
spin button. If the callback of a spin button "value-changed" signal is 
slow enough, the callback will be called twice when the spin button is 
adjusted for the first time. Further actions work normally. This 
behaviour only happens when operating the spin button with mouse. By 
using keyboard up or down arrows, the spin button only takes one step as 
it should.
The minimal code that can reproduce this problem follows:
--
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <gtk/gtk.h>
void spinbutton_signal( GtkSpinButton *spinbutton, gpointer object )
{
    int level = gtk_spin_button_get_value_as_int( 
GTK_SPIN_BUTTON(spinbutton) );
    printf( "Spinbutton: %d\n", level );
    sleep( 2 );
}
int main( int argc, char **argv )
{
    gtk_init( &argc, &argv );
    GtkWidget *window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
    g_signal_connect( G_OBJECT(window), "delete_event",
                      G_CALLBACK(gtk_main_quit),
                      (gpointer)NULL );
    GtkWidget *spinbutton = gtk_spin_button_new_with_range( 0, 10, 1 );
    gtk_spin_button_set_value( GTK_SPIN_BUTTON(spinbutton), 5 );
    g_signal_connect( G_OBJECT(spinbutton), "value-changed",
                      G_CALLBACK(spinbutton_signal),
                      (gpointer)NULL );
    gtk_container_add( GTK_CONTAINER(window), spinbutton );
    gtk_widget_show_all( window );
    gtk_window_present( GTK_WINDOW(window) );
    gtk_main();
    return( 0 );
}
--
I also tried the same with GtkButton, but that doesn't double the signal 
calls. The problem must be therefore connected to spin button.
--
Taneli Kalvas
M.Sc., Researcher
Physics Department, room FL114
P.O. Box 35 (YFL)
40014 University of Jyväskylä, Finland
Phone: +358-44-314-1602
Fax:   +358-14-260-2351
Email: taneli kalvas jyu fi
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]