File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -13,6 +13,8 @@ extern (C) void rt_moduleTlsDtor();
13
13
14
14
int al_run_allegro (scope int delegate () user_main)
15
15
{
16
+ __gshared int delegate () user_main_inner;
17
+ user_main_inner = user_main;
16
18
extern (C ) static int main_runner(int argc, char ** argv)
17
19
{
18
20
version (OSX )
@@ -21,7 +23,7 @@ int al_run_allegro(scope int delegate() user_main)
21
23
rt_moduleTlsCtor();
22
24
}
23
25
24
- auto main_ret = ( * cast ( int delegate () * )argv[ 0 ]) ();
26
+ auto main_ret = user_main_inner ();
25
27
26
28
version (OSX )
27
29
{
@@ -32,8 +34,7 @@ int al_run_allegro(scope int delegate() user_main)
32
34
return main_ret;
33
35
}
34
36
35
- char * fake_arg = cast (char * )&user_main;
36
- return al_run_main (0 , &fake_arg, &main_runner);
37
+ return al_run_main (0 , null , &main_runner);
37
38
}
38
39
39
40
nothrow @nogc extern (C )
You can’t perform that action at this time.
0 commit comments