SDL_GL_CreateContext() and making the new context current

Hi everyone,

I was wondering, what is the rationale for SDL_GL_CreateContext() not
only creating a context, but also making it current?

In my application I use a worker thread to compile shaders in the
background. To work, it needs a GL context with shared resources. So I
enqueue a call to SDL_GL_CreateContext() on the render thread. The
fact that the new context is immediately made current requires me to
make a redundant SDL_GL_MakeCurrent() call to restore the actual
rendering thread context.

It’s not a huge perf hit (more so since it’s a one-off operation at
init time), but it would be nice if this redundancy could be removed.
In order not to break existing apps, perhaps there should be a
separate call for creating a context without making it current? Even
if there are GL implementations that “automatically” make new contexts
current (I don’t know any), this behaviour could easily be emulated
there.

Regards,

Leszek