Commit 2a70d81d8689ac0956b1b089041cfe6bdbf1c7b1

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

Fixing build in newest gcc.

src/dialogs/load.c
@@ -299,10 +299,9 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ @@ -299,10 +299,9 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_
299 299
300 debug("next=%s",remains > 0 ? "YES" : "NO"); 300 debug("next=%s",remains > 0 ? "YES" : "NO");
301 301
302 - g_signal_emit( 302 + v3270_signal_emit(
303 dialog->terminal, 303 dialog->terminal,
304 - v3270_widget_signal[V3270_SIGNAL_PASTENEXT],  
305 - 0, 304 + V3270_SIGNAL_PASTENEXT,
306 remains > 0 305 remains > 0
307 ); 306 );
308 307
src/dialogs/print/print.c
@@ -93,7 +93,7 @@ @@ -93,7 +93,7 @@
93 93
94 } 94 }
95 95
96 - g_signal_emit(GTK_WIDGET(operation->widget), v3270_widget_signal[V3270_SIGNAL_PRINT_DONE], 0, prt, (guint) result); 96 + v3270_signal_emit(GTK_WIDGET(operation->widget), V3270_SIGNAL_PRINT_DONE, prt, (guint) result);
97 } 97 }
98 98
99 } 99 }
@@ -244,7 +244,7 @@ @@ -244,7 +244,7 @@
244 g_object_ref(G_OBJECT(opr->widget)); 244 g_object_ref(G_OBJECT(opr->widget));
245 } 245 }
246 246
247 - g_signal_emit(GTK_WIDGET(opr->widget), v3270_widget_signal[V3270_SIGNAL_PRINT_SETUP], 0, operation); 247 + v3270_signal_emit(GTK_WIDGET(opr->widget), V3270_SIGNAL_PRINT_SETUP, operation);
248 248
249 } 249 }
250 250
src/dialogs/settings/dialog.c
@@ -176,7 +176,7 @@ void v3270_settings_dialog_apply(GtkWidget *dialog) @@ -176,7 +176,7 @@ void v3270_settings_dialog_apply(GtkWidget *dialog)
176 176
177 // Don't delay save settings signal! 177 // Don't delay save settings signal!
178 GTK_V3270(terminal)->freeze = 0; 178 GTK_V3270(terminal)->freeze = 0;
179 - g_signal_emit(terminal,v3270_widget_signal[V3270_SIGNAL_SAVE_SETTINGS], 0, FALSE); 179 + v3270_signal_emit(terminal,V3270_SIGNAL_SAVE_SETTINGS, FALSE);
180 180
181 gdk_window_set_cursor( 181 gdk_window_set_cursor(
182 window, 182 window,
src/include/internals.h
@@ -75,7 +75,7 @@ @@ -75,7 +75,7 @@
75 //--[ Globals ]-------------------------------------------------------------------------------------- 75 //--[ Globals ]--------------------------------------------------------------------------------------
76 76
77 /// @brief V3270 Signal list 77 /// @brief V3270 Signal list
78 - enum 78 + enum V3270_SIGNAL
79 { 79 {
80 V3270_SIGNAL_TOGGLE_CHANGED, 80 V3270_SIGNAL_TOGGLE_CHANGED,
81 V3270_SIGNAL_MESSAGE_CHANGED, 81 V3270_SIGNAL_MESSAGE_CHANGED,
@@ -119,8 +119,6 @@ @@ -119,8 +119,6 @@
119 V3270_SIGNAL_LAST 119 V3270_SIGNAL_LAST
120 }; 120 };
121 121
122 - G_GNUC_INTERNAL guint v3270_widget_signal[V3270_SIGNAL_LAST];  
123 -  
124 /*--[ Constants ]------------------------------------------------------------------------------------*/ 122 /*--[ Constants ]------------------------------------------------------------------------------------*/
125 123
126 G_GNUC_INTERNAL const gchar * v3270_get_default_colors(); 124 G_GNUC_INTERNAL const gchar * v3270_get_default_colors();
@@ -135,6 +133,8 @@ @@ -135,6 +133,8 @@
135 G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_grid(GtkAlign align); 133 G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_grid(GtkAlign align);
136 G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_frame(GtkWidget * child, const gchar *title); 134 G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_frame(GtkWidget * child, const gchar *title);
137 135
  136 + G_GNUC_INTERNAL void v3270_signal_emit(gpointer instance, enum V3270_SIGNAL signal_id, ...);
  137 +
138 G_GNUC_INTERNAL void v3270_dialog_close(GtkDialog *dialog, gpointer user_data); 138 G_GNUC_INTERNAL void v3270_dialog_close(GtkDialog *dialog, gpointer user_data);
139 139
140 /// @brief Emit the "save-settings" signal. 140 /// @brief Emit the "save-settings" signal.
src/selection/selection.c
@@ -73,7 +73,7 @@ void v3270_emit_copy_state(GtkWidget *widget) @@ -73,7 +73,7 @@ void v3270_emit_copy_state(GtkWidget *widget)
73 73
74 debug("%s(%s)",__FUNCTION__,has_copy ? "TRUE" : "FALSE"); 74 debug("%s(%s)",__FUNCTION__,has_copy ? "TRUE" : "FALSE");
75 75
76 - g_signal_emit(widget,v3270_widget_signal[V3270_SIGNAL_CLIPBOARD], 0, has_copy); 76 + v3270_signal_emit(widget,V3270_SIGNAL_CLIPBOARD, has_copy);
77 g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.has_copy); 77 g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.has_copy);
78 78
79 lib3270_set_has_copy(GTK_V3270(widget)->host, has_copy ? 1 : 0); 79 lib3270_set_has_copy(GTK_V3270(widget)->host, has_copy ? 1 : 0);
src/selection/text.c
@@ -178,10 +178,9 @@ LIB3270_EXPORT void v3270_input_text(GtkWidget *widget, const gchar *text, const @@ -178,10 +178,9 @@ LIB3270_EXPORT void v3270_input_text(GtkWidget *widget, const gchar *text, const
178 178
179 if(error) 179 if(error)
180 { 180 {
181 - g_signal_emit( 181 + v3270_signal_emit(
182 widget, 182 widget,
183 - v3270_widget_signal[V3270_SIGNAL_PASTENEXT],  
184 - 0, 183 + V3270_SIGNAL_PASTENEXT,
185 FALSE 184 FALSE
186 ); 185 );
187 v3270_popup_gerror(widget,error,NULL,"%s",_("Can't paste text")); 186 v3270_popup_gerror(widget,error,NULL,"%s",_("Can't paste text"));
@@ -195,10 +194,9 @@ LIB3270_EXPORT void v3270_input_text(GtkWidget *widget, const gchar *text, const @@ -195,10 +194,9 @@ LIB3270_EXPORT void v3270_input_text(GtkWidget *widget, const gchar *text, const
195 (unsigned char *) buffer 194 (unsigned char *) buffer
196 ) ? TRUE : FALSE; 195 ) ? TRUE : FALSE;
197 196
198 - g_signal_emit( 197 + v3270_signal_emit(
199 widget, 198 widget,
200 - v3270_widget_signal[V3270_SIGNAL_PASTENEXT],  
201 - 0, 199 + V3270_SIGNAL_PASTENEXT,
202 remains > 0 200 remains > 0
203 ); 201 );
204 202
src/terminal/callbacks.c
@@ -67,10 +67,9 @@ static gboolean bg_update_message(H3270 *session) @@ -67,10 +67,9 @@ static gboolean bg_update_message(H3270 *session)
67 { 67 {
68 v3270 *terminal = (v3270 *) lib3270_get_user_data(session); 68 v3270 *terminal = (v3270 *) lib3270_get_user_data(session);
69 69
70 - g_signal_emit( 70 + v3270_signal_emit(
71 terminal, 71 terminal,
72 - v3270_widget_signal[V3270_SIGNAL_MESSAGE_CHANGED],  
73 - 0, 72 + V3270_SIGNAL_MESSAGE_CHANGED,
74 (gint) lib3270_get_program_message(session) 73 (gint) lib3270_get_program_message(session)
75 ); 74 );
76 75
@@ -93,7 +92,7 @@ static gboolean v3270_update_url(v3270 *terminal) @@ -93,7 +92,7 @@ static gboolean v3270_update_url(v3270 *terminal)
93 GtkWidget * widget = GTK_WIDGET(terminal); 92 GtkWidget * widget = GTK_WIDGET(terminal);
94 debug("url=%s",v3270_get_url(widget)); 93 debug("url=%s",v3270_get_url(widget));
95 v3270_notify_setting(widget,V3270_SETTING_URL); 94 v3270_notify_setting(widget,V3270_SETTING_URL);
96 - g_signal_emit(widget, v3270_widget_signal[V3270_SIGNAL_SESSION_CHANGED], 0); 95 + v3270_signal_emit(widget, V3270_SIGNAL_SESSION_CHANGED);
97 return FALSE; 96 return FALSE;
98 } 97 }
99 98
@@ -151,12 +150,12 @@ static void update_connect(H3270 *session, unsigned char connected) @@ -151,12 +150,12 @@ static void update_connect(H3270 *session, unsigned char connected)
151 if(connected) 150 if(connected)
152 { 151 {
153 widget->cursor.show |= 2; 152 widget->cursor.show |= 2;
154 - g_signal_emit(GTK_WIDGET(widget), v3270_widget_signal[V3270_SIGNAL_CONNECTED], 0, lib3270_get_url(session)); 153 + v3270_signal_emit(GTK_WIDGET(widget), V3270_SIGNAL_CONNECTED, lib3270_get_url(session));
155 } 154 }
156 else 155 else
157 { 156 {
158 widget->cursor.show &= ~2; 157 widget->cursor.show &= ~2;
159 - g_signal_emit(GTK_WIDGET(widget), v3270_widget_signal[V3270_SIGNAL_DISCONNECTED], 0); 158 + v3270_signal_emit(GTK_WIDGET(widget), V3270_SIGNAL_DISCONNECTED);
160 } 159 }
161 160
162 debug("%s(%p)",__FUNCTION__,GTK_V3270_GET_CLASS(widget)->properties.online); 161 debug("%s(%p)",__FUNCTION__,GTK_V3270_GET_CLASS(widget)->properties.online);
@@ -184,7 +183,7 @@ static void update_model(H3270 *session, const char *name, int model, G_GNUC_UNU @@ -184,7 +183,7 @@ static void update_model(H3270 *session, const char *name, int model, G_GNUC_UNU
184 debug("%s: terminal=%p pspec=%p",__FUNCTION__,widget,GTK_V3270_GET_CLASS(widget)->properties.settings[V3270_SETTING_MODEL_NUMBER]); 183 debug("%s: terminal=%p pspec=%p",__FUNCTION__,widget,GTK_V3270_GET_CLASS(widget)->properties.settings[V3270_SETTING_MODEL_NUMBER]);
185 g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.settings[V3270_SETTING_MODEL_NUMBER]); 184 g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.settings[V3270_SETTING_MODEL_NUMBER]);
186 185
187 - g_signal_emit(widget,v3270_widget_signal[V3270_SIGNAL_MODEL_CHANGED], 0, (guint) model, name); 186 + v3270_signal_emit(widget,V3270_SIGNAL_MODEL_CHANGED, (guint) model, name);
188 } 187 }
189 188
190 static void changed(H3270 *session, int offset, int len) 189 static void changed(H3270 *session, int offset, int len)
@@ -231,7 +230,7 @@ static void changed(H3270 *session, int offset, int len) @@ -231,7 +230,7 @@ static void changed(H3270 *session, int offset, int len)
231 gtk_widget_queue_draw(widget); 230 gtk_widget_queue_draw(widget);
232 #endif // WIN32 231 #endif // WIN32
233 232
234 - g_signal_emit(GTK_WIDGET(widget),v3270_widget_signal[V3270_SIGNAL_CHANGED], 0, (guint) offset, (guint) len); 233 + v3270_signal_emit(GTK_WIDGET(widget),V3270_SIGNAL_CHANGED, (guint) offset, (guint) len);
235 } 234 }
236 235
237 static void set_selection(H3270 *session, unsigned char status) 236 static void set_selection(H3270 *session, unsigned char status)
@@ -241,7 +240,7 @@ static void set_selection(H3270 *session, unsigned char status) @@ -241,7 +240,7 @@ static void set_selection(H3270 *session, unsigned char status)
241 debug("%s(%p)",__FUNCTION__,GTK_V3270_GET_CLASS(widget)->properties.selection); 240 debug("%s(%p)",__FUNCTION__,GTK_V3270_GET_CLASS(widget)->properties.selection);
242 g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.selection); 241 g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.selection);
243 242
244 - g_signal_emit(widget,v3270_widget_signal[V3270_SIGNAL_SELECTING], 0, status ? TRUE : FALSE); 243 + v3270_signal_emit(widget,V3270_SIGNAL_SELECTING, status ? TRUE : FALSE);
245 244
246 } 245 }
247 246
@@ -258,15 +257,17 @@ static void update_selection(H3270 *session, G_GNUC_UNUSED int start, G_GNUC_UNU @@ -258,15 +257,17 @@ static void update_selection(H3270 *session, G_GNUC_UNUSED int start, G_GNUC_UNU
258 257
259 static void message(H3270 *session, LIB3270_NOTIFY id , const char *title, const char *message, const char *text) 258 static void message(H3270 *session, LIB3270_NOTIFY id , const char *title, const char *message, const char *text)
260 { 259 {
261 - g_signal_emit( GTK_WIDGET(lib3270_get_user_data(session)), v3270_widget_signal[V3270_SIGNAL_MESSAGE], 0,  
262 - (int) id,  
263 - (gchar *) title,  
264 - (gchar *) message,  
265 - (gchar *) text ); 260 + v3270_signal_emit(
  261 + GTK_WIDGET(lib3270_get_user_data(session)),
  262 + V3270_SIGNAL_MESSAGE,
  263 + (int) id,
  264 + (gchar *) title,
  265 + (gchar *) message,
  266 + (gchar *) text
  267 + );
266 268
267 } 269 }
268 270
269 -  
270 static int print(H3270 *session, LIB3270_CONTENT_OPTION mode) 271 static int print(H3270 *session, LIB3270_CONTENT_OPTION mode)
271 { 272 {
272 return v3270_print_dialog(GTK_WIDGET(lib3270_get_user_data(session)), mode, NULL); 273 return v3270_print_dialog(GTK_WIDGET(lib3270_get_user_data(session)), mode, NULL);
src/terminal/keyboard.c
@@ -121,10 +121,9 @@ @@ -121,10 +121,9 @@
121 121
122 // Signal to the application. 122 // Signal to the application.
123 gboolean handled = FALSE; 123 gboolean handled = FALSE;
124 - g_signal_emit( 124 + v3270_signal_emit(
125 GTK_WIDGET(widget), 125 GTK_WIDGET(widget),
126 - v3270_widget_signal[V3270_SIGNAL_KEYPRESS],  
127 - 0, 126 + V3270_SIGNAL_KEYPRESS,
128 event->keyval, 127 event->keyval,
129 event->state & (GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK), 128 event->state & (GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK),
130 &handled 129 &handled
src/terminal/mouse.c
@@ -143,11 +143,13 @@ void v3270_emit_popup(v3270 *widget, int baddr, GdkEventButton *event) { @@ -143,11 +143,13 @@ void v3270_emit_popup(v3270 *widget, int baddr, GdkEventButton *event) {
143 143
144 lib3270_get_contents(widget->host,baddr,baddr,&chr,&attr); 144 lib3270_get_contents(widget->host,baddr,baddr,&chr,&attr);
145 145
146 - g_signal_emit(GTK_WIDGET(widget), v3270_widget_signal[V3270_SIGNAL_POPUP], 0,  
147 - (attr & LIB3270_ATTR_SELECTED) ? TRUE : FALSE,  
148 - lib3270_is_connected(widget->host) ? TRUE : FALSE,  
149 - event,  
150 - &handled); 146 + v3270_signal_emit( GTK_WIDGET(widget),
  147 + V3270_SIGNAL_POPUP,
  148 + (attr & LIB3270_ATTR_SELECTED) ? TRUE : FALSE,
  149 + lib3270_is_connected(widget->host) ? TRUE : FALSE,
  150 + event,
  151 + &handled
  152 + );
151 153
152 if(handled) 154 if(handled)
153 return; 155 return;
@@ -216,11 +218,12 @@ gboolean v3270_button_press_event(GtkWidget *widget, GdkEventButton *event) @@ -216,11 +218,12 @@ gboolean v3270_button_press_event(GtkWidget *widget, GdkEventButton *event)
216 { 218 {
217 gboolean handled = FALSE; 219 gboolean handled = FALSE;
218 220
219 - g_signal_emit(widget, v3270_widget_signal[V3270_SIGNAL_OIA_POPUP],  
220 - 0,  
221 - (guint) field,  
222 - event,  
223 - &handled); 221 + v3270_signal_emit(
  222 + widget, V3270_SIGNAL_OIA_POPUP,
  223 + (guint) field,
  224 + event,
  225 + &handled
  226 + );
224 227
225 if(!handled) 228 if(!handled)
226 gdk_display_beep(gtk_widget_get_display(widget)); 229 gdk_display_beep(gtk_widget_get_display(widget));
@@ -255,11 +258,14 @@ gboolean v3270_button_release_event(GtkWidget *widget, GdkEventButton*event) { @@ -255,11 +258,14 @@ gboolean v3270_button_release_event(GtkWidget *widget, GdkEventButton*event) {
255 gboolean connected = lib3270_is_connected(terminal->host) ? TRUE : FALSE; 258 gboolean connected = lib3270_is_connected(terminal->host) ? TRUE : FALSE;
256 V3270_OIA_FIELD field = terminal->oia.selected; 259 V3270_OIA_FIELD field = terminal->oia.selected;
257 260
258 - g_signal_emit(widget, v3270_widget_signal[V3270_SIGNAL_FIELD], 0,  
259 - connected,  
260 - field,  
261 - event,  
262 - &handled); 261 + v3270_signal_emit(
  262 + widget,
  263 + V3270_SIGNAL_FIELD,
  264 + connected,
  265 + field,
  266 + event,
  267 + &handled
  268 + );
263 269
264 debug("Field click was %s", handled ? "Handled" : "Not handled"); 270 debug("Field click was %s", handled ? "Handled" : "Not handled");
265 271
src/terminal/properties/set.c
@@ -216,7 +216,7 @@ LIB3270_EXPORT void v3270_set_session_name(GtkWidget *widget, const gchar *name) @@ -216,7 +216,7 @@ LIB3270_EXPORT void v3270_set_session_name(GtkWidget *widget, const gchar *name)
216 216
217 g_message("Session name changes to \"%s\"",terminal->session.name); 217 g_message("Session name changes to \"%s\"",terminal->session.name);
218 218
219 - g_signal_emit(GTK_WIDGET(widget), v3270_widget_signal[V3270_SIGNAL_SESSION_CHANGED], 0); 219 + v3270_signal_emit(GTK_WIDGET(widget), V3270_SIGNAL_SESSION_CHANGED);
220 g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.session_name); 220 g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.session_name);
221 221
222 } 222 }
src/terminal/toggles.c
@@ -123,7 +123,7 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char @@ -123,7 +123,7 @@ void v3270_update_toggle(GtkWidget *widget, LIB3270_TOGGLE_ID id, unsigned char
123 123
124 debug("%s: pspec=%p",__FUNCTION__,klass->properties.toggle[id]); 124 debug("%s: pspec=%p",__FUNCTION__,klass->properties.toggle[id]);
125 g_object_notify_by_pspec(G_OBJECT(widget), klass->properties.toggle[id]); 125 g_object_notify_by_pspec(G_OBJECT(widget), klass->properties.toggle[id]);
126 - g_signal_emit(widget, v3270_widget_signal[V3270_SIGNAL_TOGGLE_CHANGED], 0, (guint) id, (gboolean) (value != 0), (gchar *) name); 126 + v3270_signal_emit(widget, V3270_SIGNAL_TOGGLE_CHANGED, (guint) id, (gboolean) (value != 0), (gchar *) name);
127 127
128 // Can't emit the signal on every toggle change because, sometimes, the saving of the settings file takes time. 128 // Can't emit the signal on every toggle change because, sometimes, the saving of the settings file takes time.
129 // v3270_emit_save_settings(widget); 129 // v3270_emit_save_settings(widget);
src/terminal/widget.c
@@ -64,7 +64,7 @@ @@ -64,7 +64,7 @@
64 64
65 /*--[ Globals ]--------------------------------------------------------------------------------------*/ 65 /*--[ Globals ]--------------------------------------------------------------------------------------*/
66 66
67 - guint v3270_widget_signal[V3270_SIGNAL_LAST] = { 0 }; 67 +static guint v3270_widget_signal[V3270_SIGNAL_LAST] = { 0 };
68 68
69 /*--[ Prototipes ]-----------------------------------------------------------------------------------*/ 69 /*--[ Prototipes ]-----------------------------------------------------------------------------------*/
70 70
@@ -824,3 +824,14 @@ void v3270_emit_save_settings(GtkWidget *widget) @@ -824,3 +824,14 @@ void v3270_emit_save_settings(GtkWidget *widget)
824 } 824 }
825 } 825 }
826 826
  827 +void v3270_signal_emit(gpointer instance, enum V3270_SIGNAL signal_id, ...)
  828 +{
  829 + va_list var_args;
  830 +
  831 + va_start (var_args, signal_id);
  832 + g_signal_emit_valist(instance, (guint) signal_id, 0, var_args);
  833 + va_end (var_args);
  834 +
  835 +}
  836 +
  837 +