You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/games-strategy/gwp/files/gwp-0.4.0-exec-stack.patch

90 lines
2.8 KiB

--- src/starchart.c
+++ src/starchart.c
@@ -3187,10 +3187,16 @@
/**
* Initializes starchart constellations.
*/
+static GSList *planets;
+
+static void add_item (gpointer key, gpointer value, gpointer user_data) {
+ /* GSList *p_list = (GSList *)user_data; */
+ planets = g_slist_append (planets, value);
+}
+
static void
init_starchart_constellations (void)
{
- GSList *planets = NULL;
GSList *ppq[TOTAL_QUADS];
GSList *list_nearby = NULL;
GwpPlanet *planet_a, *planet_b;
@@ -3199,10 +3205,6 @@
gdouble wx, wy;
gdouble ax, ay, bx, by, zoom;
- static void add_item (gpointer key, gpointer value, gpointer user_data) {
- /* GSList *p_list = (GSList *)user_data; */
- planets = g_slist_append (planets, value);
- }
g_hash_table_foreach (planet_list, (GHFunc)add_item, NULL);
--- src/vcr.c
+++ src/vcr.c
@@ -2687,12 +2687,29 @@
return( retval );
}
+static gchar *name;
+
+static void foreach_func( gpointer key, gpointer value, gpointer user_data )
+{
+ GwpShip *ship = GWP_SHIP( value );
+ GtkComboBox *box = GTK_COMBO_BOX( lookup_widget( "vcr_comboboxentry_sel_ext_shp_a" ) );
+ gint *idlist = (gint *)g_object_get_data(G_OBJECT(lookup_widget("vcr_comboboxentry_sel_ext_shp_a")), "shipidlist");
+ gint curr = idlist[0];
+
+ if( gwp_ship_is_mine( ship ) )
+ {
+ curr++;
+ idlist[curr] = gwp_object_get_id( GWP_OBJECT(ship) );
+ idlist[0]++;
+ g_sprintf( name, "%03d: ", idlist[curr] );
+ strncat( name, gwp_object_get_name (GWP_OBJECT(ship)), 50 );
+ gtk_combo_box_append_text( box, name );
+ }
+}
void vcr_populate_ship_a_list( GtkWidget *widget, gpointer user_data )
{
- gchar *name;
gint *idlist;
- static void foreach_func( gpointer key, gpointer value, gpointer user_data );
/* test if list is already populated */
idlist = (gint *)g_object_get_data(G_OBJECT(lookup_widget("vcr_comboboxentry_sel_ext_shp_a")), "shipidlist");
@@ -2708,23 +2725,7 @@
GtkWidget *combox = lookup_widget("vcr_comboboxentry_sel_ext_shp_a");
g_object_set_data(G_OBJECT(combox), "shipidlist", idlist );
- void foreach_func( gpointer key, gpointer value, gpointer user_data )
- {
- GwpShip *ship = GWP_SHIP( value );
- GtkComboBox *box = GTK_COMBO_BOX( lookup_widget( "vcr_comboboxentry_sel_ext_shp_a" ) );
- gint *idlist = (gint *)g_object_get_data(G_OBJECT(lookup_widget("vcr_comboboxentry_sel_ext_shp_a")), "shipidlist");
- gint curr = idlist[0];
- if( gwp_ship_is_mine( ship ) )
- {
- curr++;
- idlist[curr] = gwp_object_get_id( GWP_OBJECT(ship) );
- idlist[0]++;
- g_sprintf( name, "%03d: ", idlist[curr] );
- strncat( name, gwp_object_get_name (GWP_OBJECT(ship)), 50 );
- gtk_combo_box_append_text( box, name );
- }
- }
g_hash_table_foreach( ship_list, (GHFunc) foreach_func, user_data );