Strange Timing Issue with SDL_PollEvents

This affects all event handling code that I can use to perform the tasks I
need in my program i.e. SDL_PumpEvents(), even SDL_GetMouseState()!

The event handling functions themselves seem to generate an entire frame
worth of delay when using OpenGL with vsync enabled (that is,
SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1) ).

I originally thought that this was just the way it had to be, but then I
noticed that IF A MOUSE BUTTON IS HELD DOWN while moving the mouse within
the window, no such slowdown occurs. The execution time of the method goes
from 15ms (roughly equivalent to the amount of time that
SDL_GL_SwapBuffers() waits during vertical sync) to ~0.02 ms, and mouse
tracking behavior is not affected in any way when a button is held down.

If this isn’t a bug, I don’t know what it is.

The issue is further detailed here:

Thanks for any help,