Re: gtk_timeout_add problem
- From: Jean Bréfort <jean brefort normalesup org>
- To: "N poleone" <napoleone1981 gmail com>
- Cc: gtk-list gnome org
- Subject: Re: gtk_timeout_add problem
- Date: Thu, 15 Dec 2005 17:12:11 +0100
Le mercredi 14 d�mbre 2005 �5:39 +0100, N poleone a �it :
> Hi,
> I can't compile using gtk_timeout_add (or g_timeout_add, the problem
> is the same...). I'm using C++...
> The error is:
>
> In member function `virtual void dialogAcquisizione::on_okbutton2_clicked()':
> error: argument of type `gint (dialogAcquisizione::)(void*)' does not
> match `gboolean (*)(void*)'
>
> The code is (all in the same class):
>
> #include <gtk/gtk.h>
>
> gint dialogAcquisizione::acquisisci(gpointer data)
> {
> std::cout << "Sto acquisendo...\n";
> return (TRUE);
> }
>
> void dialogAcquisizione::on_okbutton2_clicked()
> {
> std::cout << "Intercettato l'evento di ok\n"
> << "Inzializzo il timer\n";
> guint timer_id;
> timer_id = gtk_timeout_add(5000,(GtkFunction)dialogAcquisizione::acquisisci,NULL);
> //this.hide();
> }
>
> Why???
You cannot use a C++ class method directly in gtk_timeout_add. One way
to do that is:
void cb_timeout (dialogAcquisizione *dialog)
{
dialog->acquisici(NULL); // do you really need an argument?
}
...
timer_id = gtk_timeout_add(5000,G_CALLBACK (cb_timeout), this);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]