mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2024-11-10 07:11:54 +00:00
* fixed ufoai surface plugin (don't give a stack variable pointer to the button callback function but a static array pointer)
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/branches/ZeroRadiant@213 8a3a26a2-13c4-0310-b231-cf6edde360e5
This commit is contained in:
parent
82a6804d0a
commit
706fbc414b
1 changed files with 37 additions and 5 deletions
|
@ -340,6 +340,41 @@ static const char *contentFlags[] = {
|
||||||
""
|
""
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const int flagBitMasks[] = {
|
||||||
|
1<<0,
|
||||||
|
1<<1,
|
||||||
|
1<<2,
|
||||||
|
1<<3,
|
||||||
|
1<<4,
|
||||||
|
1<<5,
|
||||||
|
1<<6,
|
||||||
|
1<<7,
|
||||||
|
1<<8,
|
||||||
|
1<<9,
|
||||||
|
1<<10,
|
||||||
|
1<<11,
|
||||||
|
1<<12,
|
||||||
|
1<<13,
|
||||||
|
1<<14,
|
||||||
|
1<<15,
|
||||||
|
1<<16,
|
||||||
|
1<<17,
|
||||||
|
1<<18,
|
||||||
|
1<<19,
|
||||||
|
1<<20,
|
||||||
|
1<<21,
|
||||||
|
1<<22,
|
||||||
|
1<<23,
|
||||||
|
1<<24,
|
||||||
|
1<<25,
|
||||||
|
1<<26,
|
||||||
|
1<<27,
|
||||||
|
1<<28,
|
||||||
|
1<<29,
|
||||||
|
1<<30,
|
||||||
|
1<<31,
|
||||||
|
};
|
||||||
|
|
||||||
#define UFOAI_FLAG_BUTTON_BORDER 3
|
#define UFOAI_FLAG_BUTTON_BORDER 3
|
||||||
|
|
||||||
GtkWidget* Create_UFOAIFlagsDialog (GtkWidget* surfacedialog_widget)
|
GtkWidget* Create_UFOAIFlagsDialog (GtkWidget* surfacedialog_widget)
|
||||||
|
@ -357,7 +392,6 @@ GtkWidget* Create_UFOAIFlagsDialog (GtkWidget* surfacedialog_widget)
|
||||||
GtkWidget *label5;
|
GtkWidget *label5;
|
||||||
GtkWidget *table3;
|
GtkWidget *table3;
|
||||||
GtkWidget *label6;
|
GtkWidget *label6;
|
||||||
int flag = 0;
|
|
||||||
int i, x, y;
|
int i, x, y;
|
||||||
|
|
||||||
frame1 = gtk_frame_new ("Flags");
|
frame1 = gtk_frame_new ("Flags");
|
||||||
|
@ -387,9 +421,8 @@ GtkWidget* Create_UFOAIFlagsDialog (GtkWidget* surfacedialog_widget)
|
||||||
if (!(i % 4))
|
if (!(i % 4))
|
||||||
y++;
|
y++;
|
||||||
x = i % 4;
|
x = i % 4;
|
||||||
flag = (1 << i);
|
|
||||||
surface_buttons[i] = gtk_toggle_button_new_with_label (surfaceFlags[i]);
|
surface_buttons[i] = gtk_toggle_button_new_with_label (surfaceFlags[i]);
|
||||||
gtk_signal_connect(GTK_OBJECT (surface_buttons[i]), "toggled", GTK_SIGNAL_FUNC(on_surface_button_toggled), &flag);
|
gtk_signal_connect(GTK_OBJECT (surface_buttons[i]), "toggled", GTK_SIGNAL_FUNC(on_surface_button_toggled), &flagBitMasks[i]);
|
||||||
gtk_widget_show(surface_buttons[i]);
|
gtk_widget_show(surface_buttons[i]);
|
||||||
gtk_table_attach(GTK_TABLE (table4), surface_buttons[i], 0 + x, 1 + x, (0 + y), (1 + y),
|
gtk_table_attach(GTK_TABLE (table4), surface_buttons[i], 0 + x, 1 + x, (0 + y), (1 + y),
|
||||||
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
|
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
|
||||||
|
@ -446,9 +479,8 @@ GtkWidget* Create_UFOAIFlagsDialog (GtkWidget* surfacedialog_widget)
|
||||||
if (!(i % 4))
|
if (!(i % 4))
|
||||||
y++;
|
y++;
|
||||||
x = i % 4;
|
x = i % 4;
|
||||||
flag = (1 << i);
|
|
||||||
content_buttons[i] = gtk_toggle_button_new_with_label(contentFlags[i]);
|
content_buttons[i] = gtk_toggle_button_new_with_label(contentFlags[i]);
|
||||||
gtk_signal_connect(GTK_OBJECT (content_buttons[i]), "toggled", GTK_SIGNAL_FUNC (on_content_button_toggled), &flag);
|
gtk_signal_connect(GTK_OBJECT (content_buttons[i]), "toggled", GTK_SIGNAL_FUNC (on_content_button_toggled), &flagBitMasks[i]);
|
||||||
gtk_widget_show(content_buttons[i]);
|
gtk_widget_show(content_buttons[i]);
|
||||||
gtk_table_attach(GTK_TABLE (table3), content_buttons[i], 0 + x, 1 + x, (0 + y), (1 + y),
|
gtk_table_attach(GTK_TABLE (table3), content_buttons[i], 0 + x, 1 + x, (0 + y), (1 + y),
|
||||||
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
|
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
|
||||||
|
|
Loading…
Reference in a new issue