Hi ikorot@xxxxxxxxxxxxx, On Sat, 26 Mar 2011 11:38:27 -0700 (GMT-07:00) you wrote: > Hi, Robert, > > Here is what I do: > > int main() > { > CFrame *frame = new CFrame(); > result = frame->OpenPort(); > if( !result ) > return 1; > else > { > g_timer_add_seconds( 1, (GSourceFunc) frame->ReadData(), NULL ); ^^^^^^^^^ ^^ > gtk_widget_show( window ); > frame->ReadData(); > gtk_main(); > } > } > > in frame.h: > > class CFrame > { > void ReadData(); ^^^^ > } > > Do you see any problems with that? Yes. You are casting the _RESULT_ of a _CALL_ to ReadData into a GSourceFunc, but ReadData returns void. This produces utterly random results. The second argument of g_timeout_add_seconds is a function pointer, and requires that you pass it a simple C function reference _without_ the call syntax. Cheers, Rob _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list