Commit 18458b60db7cc7a92886645e64bcf3febafc9c62

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

Fixing program message changes.

Showing 1 changed file with 17 additions and 6 deletions   Show diff stats
src/terminal/callbacks.c
@@ -85,23 +85,34 @@ static void update_toggle(H3270 *session, LIB3270_TOGGLE_ID id, unsigned char va @@ -85,23 +85,34 @@ static void update_toggle(H3270 *session, LIB3270_TOGGLE_ID id, unsigned char va
85 v3270_update_toggle((GtkWidget *) lib3270_get_user_data(session), id, value, name); 85 v3270_update_toggle((GtkWidget *) lib3270_get_user_data(session), id, value, name);
86 } 86 }
87 87
88 -static gboolean bg_update_message(H3270 *session) 88 +
  89 +struct update_message_data
89 { 90 {
90 - v3270 *terminal = (v3270 *) lib3270_get_user_data(session); 91 + H3270 *hSession;
  92 + LIB3270_MESSAGE message;
  93 +};
  94 +
  95 +static gboolean bg_update_message(struct update_message_data *data)
  96 +{
  97 + v3270 *terminal = (v3270 *) lib3270_get_user_data(data->hSession);
91 98
92 v3270_signal_emit( 99 v3270_signal_emit(
93 terminal, 100 terminal,
94 V3270_SIGNAL_MESSAGE_CHANGED, 101 V3270_SIGNAL_MESSAGE_CHANGED,
95 - (gint) lib3270_get_program_message(session) 102 + (gint) data->message
96 ); 103 );
97 104
98 - //trace("-----B %s %p",__FUNCTION__, lib3270_get_user_data(session)); 105 + g_free(data);
99 return FALSE; 106 return FALSE;
100 } 107 }
101 108
102 -static void update_message(H3270 *session, G_GNUC_UNUSED LIB3270_MESSAGE id) 109 +static void update_message(H3270 *hSession, LIB3270_MESSAGE message)
103 { 110 {
104 - g_idle_add((GSourceFunc) bg_update_message, session); 111 + struct update_message_data *data = g_new0(struct update_message_data,1);
  112 + data->hSession = hSession;
  113 + data->message = message;
  114 +
  115 + g_idle_add((GSourceFunc) bg_update_message, data);
105 } 116 }
106 117
107 static void update_luname(H3270 *session, const char G_GNUC_UNUSED(*name)) 118 static void update_luname(H3270 *session, const char G_GNUC_UNUSED(*name))