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 299  
300 300 debug("next=%s",remains > 0 ? "YES" : "NO");
301 301  
302   - g_signal_emit(
  302 + v3270_signal_emit(
303 303 dialog->terminal,
304   - v3270_widget_signal[V3270_SIGNAL_PASTENEXT],
305   - 0,
  304 + V3270_SIGNAL_PASTENEXT,
306 305 remains > 0
307 306 );
308 307  
... ...
src/dialogs/print/print.c
... ... @@ -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 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 176  
177 177 // Don't delay save settings signal!
178 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 181 gdk_window_set_cursor(
182 182 window,
... ...
src/include/internals.h
... ... @@ -75,7 +75,7 @@
75 75 //--[ Globals ]--------------------------------------------------------------------------------------
76 76  
77 77 /// @brief V3270 Signal list
78   - enum
  78 + enum V3270_SIGNAL
79 79 {
80 80 V3270_SIGNAL_TOGGLE_CHANGED,
81 81 V3270_SIGNAL_MESSAGE_CHANGED,
... ... @@ -119,8 +119,6 @@
119 119 V3270_SIGNAL_LAST
120 120 };
121 121  
122   - G_GNUC_INTERNAL guint v3270_widget_signal[V3270_SIGNAL_LAST];
123   -
124 122 /*--[ Constants ]------------------------------------------------------------------------------------*/
125 123  
126 124 G_GNUC_INTERNAL const gchar * v3270_get_default_colors();
... ... @@ -135,6 +133,8 @@
135 133 G_GNUC_INTERNAL GtkWidget * v3270_dialog_create_grid(GtkAlign align);
136 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 138 G_GNUC_INTERNAL void v3270_dialog_close(GtkDialog *dialog, gpointer user_data);
139 139  
140 140 /// @brief Emit the "save-settings" signal.
... ...
src/selection/selection.c
... ... @@ -73,7 +73,7 @@ void v3270_emit_copy_state(GtkWidget *widget)
73 73  
74 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 77 g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.has_copy);
78 78  
79 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 178  
179 179 if(error)
180 180 {
181   - g_signal_emit(
  181 + v3270_signal_emit(
182 182 widget,
183   - v3270_widget_signal[V3270_SIGNAL_PASTENEXT],
184   - 0,
  183 + V3270_SIGNAL_PASTENEXT,
185 184 FALSE
186 185 );
187 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 194 (unsigned char *) buffer
196 195 ) ? TRUE : FALSE;
197 196  
198   - g_signal_emit(
  197 + v3270_signal_emit(
199 198 widget,
200   - v3270_widget_signal[V3270_SIGNAL_PASTENEXT],
201   - 0,
  199 + V3270_SIGNAL_PASTENEXT,
202 200 remains > 0
203 201 );
204 202  
... ...
src/terminal/callbacks.c
... ... @@ -67,10 +67,9 @@ static gboolean bg_update_message(H3270 *session)
67 67 {
68 68 v3270 *terminal = (v3270 *) lib3270_get_user_data(session);
69 69  
70   - g_signal_emit(
  70 + v3270_signal_emit(
71 71 terminal,
72   - v3270_widget_signal[V3270_SIGNAL_MESSAGE_CHANGED],
73   - 0,
  72 + V3270_SIGNAL_MESSAGE_CHANGED,
74 73 (gint) lib3270_get_program_message(session)
75 74 );
76 75  
... ... @@ -93,7 +92,7 @@ static gboolean v3270_update_url(v3270 *terminal)
93 92 GtkWidget * widget = GTK_WIDGET(terminal);
94 93 debug("url=%s",v3270_get_url(widget));
95 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 96 return FALSE;
98 97 }
99 98  
... ... @@ -151,12 +150,12 @@ static void update_connect(H3270 *session, unsigned char connected)
151 150 if(connected)
152 151 {
153 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 155 else
157 156 {
158 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 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 183 debug("%s: terminal=%p pspec=%p",__FUNCTION__,widget,GTK_V3270_GET_CLASS(widget)->properties.settings[V3270_SETTING_MODEL_NUMBER]);
185 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 189 static void changed(H3270 *session, int offset, int len)
... ... @@ -231,7 +230,7 @@ static void changed(H3270 *session, int offset, int len)
231 230 gtk_widget_queue_draw(widget);
232 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 236 static void set_selection(H3270 *session, unsigned char status)
... ... @@ -241,7 +240,7 @@ static void set_selection(H3270 *session, unsigned char status)
241 240 debug("%s(%p)",__FUNCTION__,GTK_V3270_GET_CLASS(widget)->properties.selection);
242 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 257  
259 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 271 static int print(H3270 *session, LIB3270_CONTENT_OPTION mode)
271 272 {
272 273 return v3270_print_dialog(GTK_WIDGET(lib3270_get_user_data(session)), mode, NULL);
... ...
src/terminal/keyboard.c
... ... @@ -121,10 +121,9 @@
121 121  
122 122 // Signal to the application.
123 123 gboolean handled = FALSE;
124   - g_signal_emit(
  124 + v3270_signal_emit(
125 125 GTK_WIDGET(widget),
126   - v3270_widget_signal[V3270_SIGNAL_KEYPRESS],
127   - 0,
  126 + V3270_SIGNAL_KEYPRESS,
128 127 event->keyval,
129 128 event->state & (GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK),
130 129 &handled
... ...
src/terminal/mouse.c
... ... @@ -143,11 +143,13 @@ void v3270_emit_popup(v3270 *widget, int baddr, GdkEventButton *event) {
143 143  
144 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 154 if(handled)
153 155 return;
... ... @@ -216,11 +218,12 @@ gboolean v3270_button_press_event(GtkWidget *widget, GdkEventButton *event)
216 218 {
217 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 228 if(!handled)
226 229 gdk_display_beep(gtk_widget_get_display(widget));
... ... @@ -255,11 +258,14 @@ gboolean v3270_button_release_event(GtkWidget *widget, GdkEventButton*event) {
255 258 gboolean connected = lib3270_is_connected(terminal->host) ? TRUE : FALSE;
256 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 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 216  
217 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 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 123  
124 124 debug("%s: pspec=%p",__FUNCTION__,klass->properties.toggle[id]);
125 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 128 // Can't emit the signal on every toggle change because, sometimes, the saving of the settings file takes time.
129 129 // v3270_emit_save_settings(widget);
... ...
src/terminal/widget.c
... ... @@ -64,7 +64,7 @@
64 64  
65 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 69 /*--[ Prototipes ]-----------------------------------------------------------------------------------*/
70 70  
... ... @@ -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 +
... ...