Commit 2702cf34a2a0750623ac2418e7b98f92caa3e076

Authored by Perry Werneck
1 parent 85badda0

Adding action name validation.

Showing 1 changed file with 20 additions and 17 deletions   Show diff stats
src/objects/window/window.c
@@ -112,7 +112,7 @@ @@ -112,7 +112,7 @@
112 112
113 } 113 }
114 114
115 - void get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { 115 + void get_property(GObject *object, guint prop_id, GValue *value, GParamSpec G_GNUC_UNUSED(*pspec)) {
116 116
117 if(prop_id == PROP_ACTION_NAMES) { 117 if(prop_id == PROP_ACTION_NAMES) {
118 g_value_take_string(value,pw3270_window_get_action_names(GTK_WIDGET(object))); 118 g_value_take_string(value,pw3270_window_get_action_names(GTK_WIDGET(object)));
@@ -150,9 +150,6 @@ @@ -150,9 +150,6 @@
150 g_action_map_add_lib3270_actions(G_ACTION_MAP(widget)); 150 g_action_map_add_lib3270_actions(G_ACTION_MAP(widget));
151 g_action_map_add_lib3270_toggles(G_ACTION_MAP(widget)); 151 g_action_map_add_lib3270_toggles(G_ACTION_MAP(widget));
152 152
153 - g_action_map_add_action(G_ACTION_MAP(widget),v3270_pfkey_action_new());  
154 - g_action_map_add_action(G_ACTION_MAP(widget),v3270_pakey_action_new());  
155 -  
156 // Map special actions 153 // Map special actions
157 { 154 {
158 size_t ix; 155 size_t ix;
@@ -170,11 +167,19 @@ @@ -170,11 +167,19 @@
170 167
171 pw3270_action_connect_new(), 168 pw3270_action_connect_new(),
172 169
  170 + v3270_pfkey_action_new(),
  171 + v3270_pakey_action_new(),
  172 +
173 }; 173 };
174 174
175 for(ix = 0; ix < G_N_ELEMENTS(actions); ix++) { 175 for(ix = 0; ix < G_N_ELEMENTS(actions); ix++) {
176 - debug("Inserting %s",g_action_get_name(actions[ix]));  
177 - g_action_map_add_action(G_ACTION_MAP(widget),actions[ix]); 176 +
  177 + if(!g_action_get_name(actions[ix])) {
  178 + g_warning("Window special action %u is unnamed",(unsigned int) ix);
  179 + } else {
  180 + g_action_map_add_action(G_ACTION_MAP(widget),actions[ix]);
  181 + }
  182 +
178 } 183 }
179 184
180 } 185 }
@@ -322,7 +327,7 @@ @@ -322,7 +327,7 @@
322 gtk_window_set_default_size (GTK_WINDOW (window), 800, 500); 327 gtk_window_set_default_size (GTK_WINDOW (window), 800, 500);
323 328
324 // Create terminal widget 329 // Create terminal widget
325 - GtkWidget * terminal = pw3270_application_window_new_tab(window, session_file); 330 + GtkWidget * terminal = pw3270_application_window_new_tab(GTK_WIDGET(window), session_file);
326 331
327 // Create property actions 332 // Create property actions
328 static const gchar * properties[] = { 333 static const gchar * properties[] = {
@@ -334,17 +339,17 @@ @@ -334,17 +339,17 @@
334 339
335 for(ix = 0; ix < G_N_ELEMENTS(properties); ix++) { 340 for(ix = 0; ix < G_N_ELEMENTS(properties); ix++) {
336 341
337 - g_action_map_add_action(  
338 - G_ACTION_MAP(window),  
339 - v3270_property_action_new(terminal,properties[ix])  
340 - ); 342 + GAction * action = v3270_property_action_new(terminal,properties[ix]);
341 343
  344 + if(!g_action_get_name(action)) {
  345 + g_warning("Window property action %s is unnamed",properties[ix]);
  346 + } else {
  347 + g_action_map_add_action(G_ACTION_MAP(window),action);
  348 + }
342 } 349 }
343 350
344 -  
345 // gtk_window_set_interactive_debugging(TRUE); 351 // gtk_window_set_interactive_debugging(TRUE);
346 352
347 -  
348 return GTK_WIDGET(window); 353 return GTK_WIDGET(window);
349 354
350 } 355 }
@@ -374,9 +379,7 @@ @@ -374,9 +379,7 @@
374 379
375 } 380 }
376 381
377 - void pw3270_application_generic_activated(GSimpleAction * action, GVariant *parameter, gpointer application) {  
378 -  
379 - debug("%s",__FUNCTION__);  
380 - 382 + void pw3270_application_generic_activated(GSimpleAction * action, GVariant G_GNUC_UNUSED(*parameter), gpointer G_GNUC_UNUSED(application)) {
  383 + g_message("Generic action %s was activated",g_action_get_name(G_ACTION(action)));
381 } 384 }
382 385