Different SDL behaviour between Win95/98 and Win98SE

On Win98 Second Edition my SDL program doesn’t detect correcly
the SDL_APPACTIVE event

It works well on Win95 and Win98 (first edition).

  • My program starts and get fullscreen mode.
  • I press ALT+TAB and so I return to windows screen
    (my program gets minimized in the taskbar)
  • I maximize my app, but SDL event doesn’t detect SDL_APPACTIVE
    (and so my program doesn’t refresh its graphic buffer)

Here’s my code:

if (Event.active.state & SDL_APPACTIVE) {
  if (Event.active.gain) {
    // App activation
RefreshScreen();
  } else {
// App deactivation
  }
}

Has Microsoft changed something in window messages?

Any suggestion?

Thanks,
Enzo.–
E-mail enzo.gupi at tiscalinet.it
Home page http://enzogupi.interfree.it

On Win98 Second Edition my SDL program doesn’t detect correcly
the SDL_APPACTIVE event

It works well on Win95 and Win98 (first edition).

  • My program starts and get fullscreen mode.
  • I press ALT+TAB and so I return to windows screen
    (my program gets minimized in the taskbar)
  • I maximize my app, but SDL event doesn’t detect SDL_APPACTIVE
    (and so my program doesn’t refresh its graphic buffer)

Are you actually maximizing your application?
You shouldn’t be able to really maximize it, unless you pass
SDL_RESIZABLE in the video mode flags.

See ya!
-Sam Lantinga, Lead Programmer, Loki Entertainment Software

Sam Lantinga wrote:

Are you actually maximizing your application?

No, my application is 640x480x256 full screen mode,
it is not resizable (and I don’t need it).

The strange thing is that under Win95 and Win98 (first edition)
it works very well.

It seems something like win98 SE does something different
in sending WM_ACTIVATE message
(tested in src/video/wincommon/SDL_sysevents.c)

Umh…

Bye,
Enzo.