Skip to content

Commit 3c2d7d7

Browse files
committed
gfxlib2: github # 315: set parameters when calling SCREENCONTROL
- was broken in fbc 1.08.0 due to new LONG/LONGINT SCREENCONTROL API's
1 parent decff71 commit 3c2d7d7

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

changelog.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Version 1.08.1
66
[added]
77

88
[fixed]
9+
- github #315: set parameters when calling SCREENCONTROL (was broken in fbc 1.08.0 due to new LONG/LONGINT SCREENCONTROL API's)
910

1011

1112
Version 1.08.0

src/gfxlib2/gfx_control.c

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -271,19 +271,27 @@ FBCALL void fb_GfxControl_i( int what, ssize_t *param1, ssize_t *param2, ssize_t
271271
FBCALL void fb_GfxControl_i32( int what, int *param1, int *param2, int *param3, int *param4 )
272272
{
273273
ssize_t p1, p2, p3, p4;
274+
if( param1 ) p1 = (ssize_t)*param1;
275+
if( param2 ) p2 = (ssize_t)*param2;
276+
if( param3 ) p3 = (ssize_t)*param3;
277+
if( param4 ) p4 = (ssize_t)*param4;
274278
fb_GfxControl_i( what, &p1, &p2, &p3, &p4 );
275-
*param1 = (int)p1;
276-
*param2 = (int)p2;
277-
*param3 = (int)p3;
278-
*param4 = (int)p4;
279+
if( param1 ) *param1 = (int)p1;
280+
if( param2 ) *param2 = (int)p2;
281+
if( param3 ) *param3 = (int)p3;
282+
if( param4 ) *param4 = (int)p4;
279283
}
280284

281285
FBCALL void fb_GfxControl_i64( int what, long long *param1, long long *param2, long long *param3, long long *param4 )
282286
{
283287
ssize_t p1, p2, p3, p4;
288+
if( param1 ) p1 = (ssize_t)*param1;
289+
if( param2 ) p2 = (ssize_t)*param2;
290+
if( param3 ) p3 = (ssize_t)*param3;
291+
if( param4 ) p4 = (ssize_t)*param4;
284292
fb_GfxControl_i( what, &p1, &p2, &p3, &p4 );
285-
*param1 = (long long)p1;
286-
*param2 = (long long)p2;
287-
*param3 = (long long)p3;
288-
*param4 = (long long)p4;
293+
if( param1 ) *param1 = (long long)p1;
294+
if( param2 ) *param2 = (long long)p2;
295+
if( param3 ) *param3 = (long long)p3;
296+
if( param4 ) *param4 = (long long)p4;
289297
}

0 commit comments

Comments
 (0)