Commit 9881ad084225feec6b6921ff823e43cbc01ad0d6

Authored by Perry Werneck
1 parent aefafc4e
Exists in master and in 1 other branch develop

Updating timer enging to match lib3270 update.

Showing 1 changed file with 5 additions and 4 deletions   Show diff stats
src/terminal/iocallback.c
... ... @@ -37,7 +37,7 @@ static void * static_AddSource(H3270 *session, int fd, LIB3270_IO_FLAG flag,
37 37 static void static_RemoveSource(H3270 *session, void *id);
38 38 static void static_SetSourceState(H3270 *session, void *id, int enabled);
39 39  
40   -static void * static_AddTimer(H3270 *session, unsigned long interval_ms, int (*proc)(H3270 *session));
  40 +static void * static_AddTimer(H3270 *session, unsigned long interval_ms, int (*proc)(H3270 *session, void *userdata), void *userdata);
41 41 static void static_RemoveTimer(H3270 *session, void * timer);
42 42 static int static_Sleep(H3270 *hSession, int seconds);
43 43 static int static_RunPendingEvents(H3270 *hSession, int wait);
... ... @@ -48,7 +48,7 @@ static int static_RunPendingEvents(H3270 *hSession, int wait);
48 48 {
49 49 unsigned char remove;
50 50 void * userdata;
51   - int (*call)(H3270 *session);
  51 + int (*call)(H3270 *session, void *userdata);
52 52 H3270 * session;
53 53 } TIMER;
54 54  
... ... @@ -74,17 +74,18 @@ static void static_SetSourceState(G_GNUC_UNUSED H3270 *session, void *id, int en
74 74 static gboolean do_timer(TIMER *t)
75 75 {
76 76 if(!t->remove)
77   - return t->call(t->session) != 0;
  77 + return t->call(t->session,t->userdata);
78 78  
79 79 return FALSE;
80 80 }
81 81  
82   -static void * static_AddTimer(H3270 *session, unsigned long interval, int (*call)(H3270 *session))
  82 +static void * static_AddTimer(H3270 *session, unsigned long interval, int (*call)(H3270 *session, void *userdata), void *userdata)
83 83 {
84 84 TIMER *t = g_malloc0(sizeof(TIMER));
85 85  
86 86 t->call = call;
87 87 t->session = session;
  88 + t->userdata = userdata;
88 89  
89 90 g_timeout_add_full(G_PRIORITY_DEFAULT, (guint) interval, (GSourceFunc) do_timer, t, g_free);
90 91  
... ...