Compare commits

..

No commits in common. "85c7b0882505bac23cd1a1b95fe526fa68242256" and "47d9826a0a2d9889962083660f2be2d9604d5261" have entirely different histories.

8 changed files with 10 additions and 39 deletions

View file

@ -6,7 +6,6 @@
CHANGE: Added type gImage to replace V2.x gdispImage CHANGE: Added type gImage to replace V2.x gdispImage
FIX: Fixed GWIN console widget scroll FIX: Fixed GWIN console widget scroll
FIX: A warning and adjusted is made if GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE is less than 40 bytes. FIX: A warning and adjusted is made if GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE is less than 40 bytes.
FIX: Prevent compiler warnings on duplicate const specifiers.
*** Release 2.9 *** *** Release 2.9 ***

View file

@ -99,11 +99,7 @@
static gBool Win32MouseInit(GMouse *m, unsigned driverinstance); static gBool Win32MouseInit(GMouse *m, unsigned driverinstance);
static gBool Win32MouseRead(GMouse *m, GMouseReading *prd); static gBool Win32MouseRead(GMouse *m, GMouseReading *prd);
/** const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
* This should be: const GMouseVMT const GMOUSE_DRIVER_VMT[1] = {{
* However, some major compilers complain about the duplicate const specifier even though this is perfectly valid standard C.
*/
const GMouseVMT GMOUSE_DRIVER_VMT[1] = {{
{ {
GDRIVER_TYPE_MOUSE, GDRIVER_TYPE_MOUSE,
GMOUSE_VFLG_NOPOLL|GMOUSE_VFLG_DYNAMICONLY, GMOUSE_VFLG_NOPOLL|GMOUSE_VFLG_DYNAMICONLY,
@ -889,7 +885,7 @@ LLDSPEC gBool gdisp_lld_init(GDisplay *g) {
// Create the associated mouse // Create the associated mouse
#if GFX_USE_GINPUT && GINPUT_NEED_MOUSE #if GFX_USE_GINPUT && GINPUT_NEED_MOUSE
priv->mouseenabled = hWndParent ? gFalse : gTrue; priv->mouseenabled = hWndParent ? gFalse : gTrue;
priv->mouse = (GMouse *)gdriverRegister((const GDriverVMT*)GMOUSE_DRIVER_VMT, g); priv->mouse = (GMouse *)gdriverRegister((const GDriverVMT const *)GMOUSE_DRIVER_VMT, g);
#endif #endif
sprintf(buf, APP_NAME " - %u", g->systemdisplay+1); sprintf(buf, APP_NAME " - %u", g->systemdisplay+1);

View file

@ -574,7 +574,7 @@ void _gdispInit(void)
#elif GDISP_TOTAL_DISPLAYS > 1 #elif GDISP_TOTAL_DISPLAYS > 1
{ {
unsigned i; unsigned i;
extern const GDISPVMT GDISPVMT_OnlyOne[1]; extern const GDISPVMT const GDISPVMT_OnlyOne[1];
if (!(GDISPVMT_OnlyOne->d.flags & GDISP_VFLG_DYNAMICONLY)) { if (!(GDISPVMT_OnlyOne->d.flags & GDISP_VFLG_DYNAMICONLY)) {
for(i = 0; i < GDISP_TOTAL_DISPLAYS; i++) for(i = 0; i < GDISP_TOTAL_DISPLAYS; i++)
@ -583,7 +583,7 @@ void _gdispInit(void)
} }
#else #else
{ {
extern const GDISPVMT GDISPVMT_OnlyOne[1]; extern const GDISPVMT const GDISPVMT_OnlyOne[1];
if (!(GDISPVMT_OnlyOne->d.flags & GDISP_VFLG_DYNAMICONLY)) if (!(GDISPVMT_OnlyOne->d.flags & GDISP_VFLG_DYNAMICONLY))
gdriverRegister(&GDISPVMT_OnlyOne->d, 0); gdriverRegister(&GDISPVMT_OnlyOne->d, 0);

View file

@ -732,11 +732,7 @@ typedef struct GDISPVMT {
#endif #endif
// Build the VMT // Build the VMT
/* const GDISPVMT const GDISP_DRIVER_VMT[1] = {{
* This should read: const GDISPVMT const GDISP_DRIVER_VMT[1] = {{
* However, some major C compilers complain about duplicate const specifiers although this is perfectly valid standard C.
*/
const GDISPVMT GDISP_DRIVER_VMT[1] = {{
{ GDRIVER_TYPE_DISPLAY, 0, sizeof(GDisplay), _gdispInitDriver, _gdispPostInitDriver, _gdispDeInitDriver }, { GDRIVER_TYPE_DISPLAY, 0, sizeof(GDisplay), _gdispInitDriver, _gdispPostInitDriver, _gdispDeInitDriver },
gdisp_lld_init, gdisp_lld_init,
#if GDISP_HARDWARE_DEINIT #if GDISP_HARDWARE_DEINIT

View file

@ -86,16 +86,8 @@ typedef struct GDriverVMT {
* const GDriverVMT const * mylist = { DRIVER_LIST }; * const GDriverVMT const * mylist = { DRIVER_LIST };
* </code> * </code>
* *
* @note This could be one single typedef. However, some major compilers complain about duplicate const specifiers even though this is perfectly
* valid standard C. As this problem has become worse over time we opt for splitting this into two separate typedefs to prevent these
* compilers from throwing warnings.
* The single typedef would look like this:
* <code>
* typedef const struct GDriverVMT const GDriverVMTList[1];
* </code>
*/ */
typedef const struct GDriverVMT ConstGDriverVMT; typedef const struct GDriverVMT const GDriverVMTList[1];
typedef ConstGDriverVMT const GDriverVMTList[1];
/*===========================================================================*/ /*===========================================================================*/
/* External declarations. */ /* External declarations. */

View file

@ -36,11 +36,8 @@
/** /**
* The order of the file-systems below determines the order * The order of the file-systems below determines the order
* that they are searched to find a file. * that they are searched to find a file.
*
* This should read: static const GFILEVMT const * FsArray[] = {
* However, some major C compilers complain about duplicate const specifiers although this is perfectly valid standard C.
*/ */
static const GFILEVMT* FsArray[] = { static const GFILEVMT const * FsArray[] = {
#if GFILE_NEED_USERFS #if GFILE_NEED_USERFS
&FsUSERVMT, &FsUSERVMT,
#endif #endif

View file

@ -34,12 +34,7 @@ typedef struct ROMFS_DIRENTRY {
#define ROMFS_DIRENTRY_HEAD 0 #define ROMFS_DIRENTRY_HEAD 0
#include "romfs_files.h" #include "romfs_files.h"
static const ROMFS_DIRENTRY const *FsROMHead = ROMFS_DIRENTRY_HEAD;
/*
* This should be: static const ROMFS_DIRENTRY const *FsROMHead = ROMFS_DIRENTRY_HEAD;
* However, some major compilers complain about the duplicate const specifier even though this is perfectly valid standard C.
*/
static const ROMFS_DIRENTRY *FsROMHead = ROMFS_DIRENTRY_HEAD;
typedef struct ROMFileList { typedef struct ROMFileList {
gfileList fl; gfileList fl;

View file

@ -663,11 +663,7 @@ void _gmouseInit(void) {
// One and only one mouse // One and only one mouse
#else #else
{ {
/* extern const GMouseVMT const GMOUSEVMT_OnlyOne[1];
* This should be: extern const GMouseVMT const GMOUSEVMT_OnlyOne[1];
* However, some major compilers complain about the duplicate const specifier even though this is perfectly valid standard C.
*/
extern const GMouseVMT GMOUSEVMT_OnlyOne[1];
if (!(GMOUSEVMT_OnlyOne->d.flags & GMOUSE_VFLG_DYNAMICONLY)) if (!(GMOUSEVMT_OnlyOne->d.flags & GMOUSE_VFLG_DYNAMICONLY))
gdriverRegister(&GMOUSEVMT_OnlyOne->d, GDISP); gdriverRegister(&GMOUSEVMT_OnlyOne->d, GDISP);